浏览代码

adapted to 64-bit compilation, LONGINT -> ADDRESS

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7806 8c9fc860-2736-0410-a75d-ab315db34111
eth.guenter 7 年之前
父节点
当前提交
3f732dd46a
共有 1 个文件被更改,包括 8 次插入8 次删除
  1. 8 8
      source/ProcessInfo.Mod

+ 8 - 8
source/ProcessInfo.Mod

@@ -104,30 +104,30 @@ BEGIN
 END WriteMode;
 
 PROCEDURE WriteActiveObject*(t : Objects.Process; out : Streams.Writer);
-VAR adr : LONGINT;
+VAR adr : ADDRESS;
 BEGIN
 	IF t.obj # NIL THEN
-		SYSTEM.GET(SYSTEM.VAL(LONGINT, t.obj)-4, adr);
+		SYSTEM.GET(SYSTEM.VAL(ADDRESS, t.obj)-SIZEOF(ADDRESS), adr);
 		Reflection.WriteType(out, adr);
 	END;
 END WriteActiveObject;
 
 PROCEDURE WriteWaitingOn*(t : Objects.Process; out : Streams.Writer);
-VAR adr : LONGINT; mod : Modules.Module;
+VAR adr : ADDRESS; mod : Modules.Module;
 BEGIN
 	IF t.mode = Objects.AwaitingLock THEN
-		adr := SYSTEM.VAL(LONGINT, t.waitingOn);
+		adr := SYSTEM.VAL(ADDRESS, t.waitingOn);
 		IF adr # 0 THEN	(* can be 0 when snapshot is taken *)
-			SYSTEM.GET(adr-4, adr); DEC(adr, adr MOD 8);
+			SYSTEM.GET(adr-SIZEOF(ADDRESS), adr); DEC(adr, adr MOD 8);
 			IF adr = SYSTEM.TYPECODE(Modules.Module) THEN
 				mod := SYSTEM.VAL(Modules.Module, adr);
-				out.String(mod.name);
+				out.String(mod.name)
 			ELSE
-				Reflection.WriteType(out, adr);
+				Reflection.WriteType(out, adr)
 			END;
 		END
 	ELSIF t.mode = Objects.AwaitingCond THEN
-		Reflection.WriteProc(out, SYSTEM.VAL(LONGINT, t.condition));
+		Reflection.WriteProc(out, SYSTEM.VAL(ADDRESS, t.condition));
 	END;
 	out.Update;
 END WriteWaitingOn;