diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-13 06:42:05 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-13 06:42:05 +0000 |
commit | 73c8bfa6482b6ca63710c0d913d25e7dc8bba378 (patch) | |
tree | 0254db1a009ab8fa40a990f32c9eaccbebe94654 /compile.c | |
parent | 458c4e98aad847abdfaf9b5260b065ed161360bc (diff) | |
download | ruby-73c8bfa6482b6ca63710c0d913d25e7dc8bba378.tar.gz |
* compile.c (iseq_compile_each): inline cache entries are overwritten
in iseq_build_body().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -3843,8 +3843,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) LABEL *lend = NEW_LABEL(nd_line(node)); ADD_LABEL(ret, lstart); - ADD_INSN2(ret, nd_line(node), getinlinecache, - NEW_INLINE_CACHE_ENTRY(), lend); + ADD_INSN2(ret, nd_line(node), getinlinecache, 0, lend); ADD_INSN1(ret, nd_line(node), getconstant, ID2SYM(node->nd_vid)); ADD_INSN1(ret, nd_line(node), setinlinecache, lstart); ADD_LABEL(ret, lend); @@ -3998,8 +3997,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) LABEL *lend = NEW_LABEL(nd_line(node)); ADD_LABEL(ret, lstart); - ADD_INSN2(ret, nd_line(node), onceinlinecache, - NEW_INLINE_CACHE_ENTRY(), lend); + ADD_INSN2(ret, nd_line(node), onceinlinecache, 0, lend); ADD_INSN(ret, nd_line(node), pop); compile_dstr(iseq, ret, node); @@ -4162,8 +4160,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) if (LIST_SIZE_ZERO(pref)) { if (iseq->compile_data->option->inline_const_cache) { ADD_LABEL(ret, lstart); - ADD_INSN2(ret, nd_line(node), getinlinecache, - NEW_INLINE_CACHE_ENTRY(), lend); + ADD_INSN2(ret, nd_line(node), getinlinecache, 0, lend); } else { ADD_INSN(ret, nd_line(node), putnil); @@ -4201,8 +4198,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) /* add cache insn */ if (iseq->compile_data->option->inline_const_cache) { ADD_LABEL(ret, lstart); - ADD_INSN2(ret, nd_line(node), getinlinecache, - NEW_INLINE_CACHE_ENTRY(), lend); + ADD_INSN2(ret, nd_line(node), getinlinecache, 0, lend); ADD_INSN(ret, nd_line(node), pop); } |