diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-09-25 00:59:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-09-25 00:59:29 +0000 |
commit | 1e56548995fe2b3b266ccdfecce0ef1163534dc6 (patch) | |
tree | 6385c62c3281772a716b3b40957164618f7dde2a /insns.def | |
parent | 80440ed07f23c2f6a53e210f84aa2d4ca7f92555 (diff) | |
download | ruby-1e56548995fe2b3b266ccdfecce0ef1163534dc6.tar.gz |
insns.def: super from at_exit
* insns.def (invokesuper): klass in cfp is not valid in at_exit and
END blocks. [ruby-core:47680] [Bug #7064]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1035,6 +1035,9 @@ invokesuper flag = VM_CALL_SUPER_BIT | VM_CALL_FCALL_BIT; klass = GET_CFP()->klass; + if (NIL_P(klass)) { + vm_super_outside(); + } if (!NIL_P(RCLASS_REFINED_CLASS(klass))) { klass = RCLASS_REFINED_CLASS(klass); } |