summaryrefslogtreecommitdiff
path: root/blockinlining.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-09 09:25:32 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-09 09:25:32 +0000
commit5a647a3f5fd011f8558c7f9e90cd65e70e73eb40 (patch)
tree294dcb47e83e5480b1fa992aba8a4b4025c8a626 /blockinlining.c
parent250dd0702111d5c2086f007b1b31ecc1e36ade40 (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.c26
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;