diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-09 09:25:32 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-09 09:25:32 +0000 |
commit | 5a647a3f5fd011f8558c7f9e90cd65e70e73eb40 (patch) | |
tree | 294dcb47e83e5480b1fa992aba8a4b4025c8a626 /blockinlining.c | |
parent | 250dd0702111d5c2086f007b1b31ecc1e36ade40 (diff) |
* include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.
* *.c: no cache in init functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'blockinlining.c')
-rw-r--r-- | blockinlining.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/blockinlining.c b/blockinlining.c index c2878d933c..3f4aa86fe5 100644 --- a/blockinlining.c +++ b/blockinlining.c @@ -129,9 +129,11 @@ build_Integer_times_node(rb_iseq_t *iseq, NODE * node, NODE * lnode, end } */ - ID _self = rb_intern("#_self"); + ID _self; + CONST_ID(_self, "#_self"); if (iseq->argc == 0) { - ID e = rb_intern("#e"); + ID e; + CONST_ID(e, "#e"); rb_ary_push(param_vars, ID2SYM(e)); rb_ary_push(param_vars, ID2SYM(_self)); iseq->argc += 2; @@ -145,10 +147,11 @@ build_Integer_times_node(rb_iseq_t *iseq, NODE * node, NODE * lnode, Qundef); } else { - ID _e = rb_intern("#_e"); + ID _e; ID e = SYM2ID(rb_ary_entry(param_vars, 0)); NODE *assign; + CONST_ID(_e, "#_e"); rb_ary_push(param_vars, ID2SYM(_self)); rb_ary_push(local_vars, ID2SYM(_e)); iseq->argc++; @@ -230,9 +233,11 @@ build_Range_each_node(rb_iseq_t *iseq, NODE * node, NODE * lnode, end } */ - ID _last = rb_intern("#_last"); + ID _last; + CONST_ID(_last, "#_last"); if (iseq->argc == 0) { - ID e = rb_intern("#e"); + ID e; + CONST_ID(e, "#e"); rb_ary_push(param_vars, ID2SYM(e)); rb_ary_push(param_vars, ID2SYM(_last)); iseq->argc += 2; @@ -245,10 +250,11 @@ build_Range_each_node(rb_iseq_t *iseq, NODE * node, NODE * lnode, Qundef); } else { - ID _e = rb_intern("#_e"); + ID _e; ID e = SYM2ID(rb_ary_entry(param_vars, 0)); NODE *assign; + CONST_ID(_e, "#_e"); rb_ary_push(param_vars, ID2SYM(_last)); rb_ary_push(local_vars, ID2SYM(_e)); iseq->argc++; @@ -362,11 +368,13 @@ build_Array_each_node(rb_iseq_t *iseq, NODE * node, NODE * lnode, } */ - ID _self = rb_intern("#_self"); - ID _i = rb_intern("#_i"); + ID _self, _i; + CONST_ID(_self, "#_self"); + CONST_ID(_i, "#_i"); if (iseq->argc == 0) { - ID _e = rb_intern("#_e"); + ID _e; + CONST_ID(_e, "#_e"); rb_ary_push(param_vars, ID2SYM(_e)); rb_ary_push(param_vars, ID2SYM(_self)); iseq->argc += 2; |