diff options
| author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-27 08:21:21 +0000 |
|---|---|---|
| committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-27 08:21:21 +0000 |
| commit | c1ccc983ff34df27b30d32bc20acd93323457fe5 (patch) | |
| tree | abdc14d507681448910f39bd422f65296ed9b8ce /insns.def | |
| parent | 614663362abefd562a07852edb9b88991b458d25 (diff) | |
| download | ruby-c1ccc983ff34df27b30d32bc20acd93323457fe5.tar.gz ruby-c1ccc983ff34df27b30d32bc20acd93323457fe5.tar.xz ruby-c1ccc983ff34df27b30d32bc20acd93323457fe5.zip | |
* vm_evalbody.ci: support OPT_CALL_THREADED_CODE.
* insns.def, vm.c, vm.h: ditto.
* vm.h: add VM_CFP_CNT() and VM_SP_CNT().
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
| -rw-r--r-- | insns.def | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -1325,8 +1325,8 @@ leave { if (OPT_CHECKED_RUN) { if (reg_cfp->sp != reg_cfp->bp) { - rb_bug("Stack consistency error (sp: %p, bp: %p)", - reg_cfp->sp, reg_cfp->bp); + rb_bug("Stack consistency error (sp: %d, bp: %d)", + VM_SP_CNT(th, reg_cfp->sp), VM_SP_CNT(th, reg_cfp->bp)); } } @@ -1346,8 +1346,12 @@ finish (VALUE val) (VALUE val) { +#if OPT_CALL_THREADED_CODE + rb_bug("unused instruction on OPT_CALL_THREADED_CODE"); +#else th->cfp++; return val; +#endif } /**********************************************************/ @@ -1422,7 +1426,7 @@ throw } } th->state = state; - return (VALUE) NEW_THROW_OBJECT(throwobj, (VALUE) pt, state); + THROW_EXCEPTION(NEW_THROW_OBJECT(throwobj, (VALUE) pt, state)); } else { /* continue throw */ @@ -1440,7 +1444,7 @@ throw else { th->state = FIX2INT(rb_ivar_get(err, idThrowState)); } - return err; + THROW_EXCEPTION(err); } /* unreachable */ } |
