summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-08-23 22:13:02 +0900
committerKOBAYASHI Shuji <[email protected]>2019-08-23 22:15:42 +0900
commitbe78b5d8f797a121ca6fbb60cbfe33c6ba709a64 (patch)
tree3688daebfc09bdfcbae292541206a1b9c6bc8842 /src/vm.c
parent14d5a86b299a2e1de990dc441710e3df5e8c4da0 (diff)
downloadmruby-be78b5d8f797a121ca6fbb60cbfe33c6ba709a64.tar.gz
mruby-be78b5d8f797a121ca6fbb60cbfe33c6ba709a64.zip
Fix `RBreak` exceeding 6 words on 32-bit mode w/o boxing and `MRB_USE_FLOAT`
ref: https://github.com/mruby/mruby/pull/4483#issuecomment-498001736 In this configuration, `tt` of `RBreak::val` is set into `RBreak::flags`.
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/vm.c b/src/vm.c
index 7ba49a32d..8d233f291 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -836,8 +836,8 @@ break_new(mrb_state *mrb, struct RProc *p, mrb_value val)
struct RBreak *brk;
brk = (struct RBreak*)mrb_obj_alloc(mrb, MRB_TT_BREAK, NULL);
- brk->proc = p;
- brk->val = val;
+ mrb_break_proc_set(brk, p);
+ mrb_break_value_set(brk, val);
return brk;
}
@@ -2100,8 +2100,8 @@ RETRY_TRY_BLOCK:
}
if (FALSE) {
L_BREAK:
- v = ((struct RBreak*)mrb->exc)->val;
- proc = ((struct RBreak*)mrb->exc)->proc;
+ v = mrb_break_value_get((struct RBreak*)mrb->exc);
+ proc = mrb_break_proc_get((struct RBreak*)mrb->exc);
mrb->exc = NULL;
ci = mrb->c->ci;
}