1.1 --- a/jitcraft/Stack.cpp Mon Jun 25 02:57:28 2012 -0700
1.2 +++ b/jitcraft/Stack.cpp Mon Jun 25 21:20:01 2012 -0700
1.3 @@ -18,6 +18,7 @@
1.4 #include <new>
1.5 #include <stdlib.h>
1.6 #include "Stack.h"
1.7 +#include "Zone.h"
1.8
1.9 using namespace jc;
1.10
1.11 @@ -59,7 +60,7 @@
1.12 return NULL;
1.13
1.14 Frame *frame = reinterpret_cast<Frame *>(top_->sp);
1.15 - new (frame) Frame(prev, top_->pc, code);
1.16 + new (frame) Frame(prev, top_->pc, code, ZONE()->unsafeStack().position());
1.17 memset(frame->locals(), 0, sizeof(LocalSlot) * code->nlocals());
1.18
1.19 top_->pc = frame->code()->start();
1.20 @@ -79,6 +80,7 @@
1.21 sizeof(LocalSlot) * code->nargs();
1.22 top_->pc = frame->prevpc();
1.23 top_->sp = reinterpret_cast<LocalSlot *>(reinterpret_cast<char *>(top_->sp) - nbytes);
1.24 + ZONE()->unsafeStack().unwind(frame->prevUnsafeStack());
1.25 return prev;
1.26 }
1.27