diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-08-23 22:13:02 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-08-23 22:15:42 +0900 |
| commit | be78b5d8f797a121ca6fbb60cbfe33c6ba709a64 (patch) | |
| tree | 3688daebfc09bdfcbae292541206a1b9c6bc8842 /src/vm.c | |
| parent | 14d5a86b299a2e1de990dc441710e3df5e8c4da0 (diff) | |
| download | mruby-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.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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; } |
