Просмотр исходного кода

Fixed check for odd stack descriptors

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7466 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 лет назад
Родитель
Сommit
6e07dc5b16
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      source/Activities.Mod

+ 3 - 3
source/Activities.Mod

@@ -75,9 +75,9 @@ TYPE Activity* = OBJECT {DISPOSABLE} (Queues.Item)
 		address := framePointer;
 		currentActivity := SYSTEM.GetActivity ()(Activity); SYSTEM.SetActivity (SELF);
 		WHILE address # NIL DO
-			IF ODD (address) THEN
-				DEC (address);
-				stackFrame := address;
+			stackFrame := address;
+			IF ODD (stackFrame.descriptor) THEN
+				DEC (stackFrame.descriptor);
 				stackFrame.Reset;
 			ELSE
 				stackFrame := address - SIZE OF ADDRESS;