浏览代码

Improved logic behind stack traversal

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

+ 2 - 2
source/Activities.Mod

@@ -79,10 +79,10 @@ TYPE Activity* = OBJECT {DISPOSABLE} (Queues.Item)
 			IF ODD (stackFrame.descriptor) THEN
 				DEC (stackFrame.descriptor);
 				stackFrame.Reset;
+				address := stackFrame.previous;
 			ELSE
-				stackFrame := address - SIZE OF ADDRESS;
+				address := stackFrame.descriptor;
 			END;
-			address := stackFrame.previous;
 		END;
 		SYSTEM.SetActivity (currentActivity);
 		stack := firstStack;