diff --git a/src/compile.cpp b/src/compile.cpp index a49d3e045e..e5707abf27 100644 --- a/src/compile.cpp +++ b/src/compile.cpp @@ -2911,7 +2911,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned ip, // wasn't already a live value there, which is something we // should verify once we have complete data flow information // (todo). - c->storeLocal(BytesPerWord, c->constant(0), index); + c->storeLocal(1, c->constant(0), index); frame->storedObject(index); } diff --git a/src/compiler.cpp b/src/compiler.cpp index 0b3cf4c8f6..f0bd87d442 100644 --- a/src/compiler.cpp +++ b/src/compiler.cpp @@ -4029,16 +4029,8 @@ class MyCompiler: public Compiler { virtual void endSubroutine(Subroutine* subroutine) { MySubroutine* sr = static_cast(subroutine); if (sr->forkState) { - fprintf(stderr, "restore sr forkstate\n"); - Local* locals = c.locals; ::restoreState(&c, sr->forkState); - for (int i = c.localFootprint - 1; i >= 0; --i) { - if (locals[i].value and c.locals[i].value == 0) { - storeLocal(locals[i].footprint, locals[i].value, i); - } - } } else { - fprintf(stderr, "save sr forkstate\n"); sr->forkState = ::saveState(&c); } }