summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-06-24 00:15:22 +0900
committerYukihiro Matsumoto <[email protected]>2012-06-24 00:15:22 +0900
commitc261e4f360106eeb5d9193c30410818884e19ccc (patch)
tree1edf5428e320163278105b50c2a1dac0506064b6 /src/vm.c
parentf045e646751bfe0f399aae59746befa6384b96aa (diff)
downloadmruby-c261e4f360106eeb5d9193c30410818884e19ccc.tar.gz
mruby-c261e4f360106eeb5d9193c30410818884e19ccc.zip
resolve crash issue on LLVM; longjmp cleared some local variable
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/vm.c b/src/vm.c
index daba0acc6..d7048f8f0 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -394,8 +394,8 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
mrb_value *regs = NULL;
mrb_code i;
int ai = mrb->arena_idx;
+ jmp_buf *prev_jmp = mrb->jmp;
jmp_buf c_jmp;
- volatile jmp_buf *prev_jmp = NULL;
#ifdef DIRECT_THREADED
static void *optable[] = {
@@ -424,7 +424,6 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
if (setjmp(c_jmp) == 0) {
- prev_jmp = mrb->jmp;
mrb->jmp = &c_jmp;
}
else {