diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-11 08:13:17 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-11 08:13:17 +0000 |
commit | 3468cd1ed68ac08b19fffd78442b5de3a622c6ce (patch) | |
tree | 32695a86edd90a8c9741bdd69426eee0a409ff97 /compile.c | |
parent | 8b49c7158c038dbc8bb13304729a97f4d065f529 (diff) |
merge revision(s) 38739: [Backport #7671]
* vm_core.h (rb_iseq_t): move flip_cnt from struct iseq_compile_data,
because it has same life span as enclosing iseq. [Bug #7671]
[ruby-core:51296]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -4844,12 +4844,11 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) LABEL *lend = NEW_LABEL(nd_line(node)); LABEL *lfin = NEW_LABEL(nd_line(node)); LABEL *ltrue = NEW_LABEL(nd_line(node)); - struct iseq_compile_data *data = iseq->local_iseq->compile_data; + rb_iseq_t *local_iseq = iseq->local_iseq; rb_num_t cnt; VALUE key; - if (!data) data = iseq->compile_data; - cnt = data->flip_cnt++ + DEFAULT_SPECIAL_VAR_COUNT; + cnt = local_iseq->flip_cnt++ + DEFAULT_SPECIAL_VAR_COUNT; key = INT2FIX(cnt); ADD_INSN2(ret, nd_line(node), getspecial, key, INT2FIX(0)); |