소스 검색

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;