git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7110 8c9fc860-2736-0410-a75d-ab315db34111
@@ -910,7 +910,7 @@ CONST
count := 0; (* frame count *)
REPEAT
m := Modules.ThisModuleByAdr0(pc);
- IF (ShowAllProcs OR (m # NIL) OR (count = 0)) & (bp # 0) & (bp >= low) & (bp < high) THEN
+ IF (ShowAllProcs OR (m # NIL) OR (count = 0)) & (bp # 0) & (bp >= low) & (bp < high) & (bp MOD SIZEOF(ADDRESS)=0) THEN
IF CheckHeapAddress( pc ) THEN
WriteProc0(w, m, pc, bp, refs, offset, base); w.Ln;Wait(w); w.Update;
IF long & (~overflow OR (count > 0)) THEN (* show variables *)
@@ -233,7 +233,7 @@ VAR
S.GET( sp, pc ); (* get return address on top of stack *)
END;
entry := Modules.GetExceptionHandler( pc );
- WHILE (entry = -1) & (fp <= process.stackBottom) & (fp#0) DO
+ WHILE (entry = -1) & (fp <= process.stackBottom) & (fp#0) & (fp MOD SIZEOF(ADDRESS)=0) DO
fp := CheckBP(fp);
S.GET( fp + AddrSize, pc );
pc := pc - 1; (* CALL instruction, machine dependent!!! *)