diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-27 14:06:16 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-27 14:06:16 +0000 |
commit | e59b9d35fcd58331928aa1f62fe48287b0c643e2 (patch) | |
tree | e324012271616d7cf18c00d7f66caa7ccb2d8943 /insns.def | |
parent | e02f7f79c23aaaf7c5878408a2b46b00f23c32ba (diff) | |
download | bundler-e59b9d35fcd58331928aa1f62fe48287b0c643e2.tar.gz |
* insns.def (onceinlinecache): add exclusion control for a region
between onceinlinecache and setinlinecache. [ruby-dev:39768]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1199,10 +1199,17 @@ onceinlinecache () (VALUE val) { + retry: if (ic->ic_vmstat) { val = ic->ic_value.value; JUMP(dst); } + else if (ic->ic_value.value == Qundef) + { + RUBY_VM_CHECK_INTS(); + rb_thread_schedule(); + goto retry; + } else { /* none */ ic->ic_value.value = Qundef; |