mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* compile.c (compile_massign_opt): no need to use alloca.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
76865ca0ec
commit
f2025c33ff
3 changed files with 32 additions and 28 deletions
|
@ -1,3 +1,7 @@
|
|||
Tue Mar 25 15:09:36 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* compile.c (compile_massign_opt): no need to use alloca.
|
||||
|
||||
Mon Mar 24 19:23:52 2008 Akinori MUSHA <knu@iDaemons.org>
|
||||
|
||||
* parse.y (debug_lines): Always prepare a new array for each
|
||||
|
|
50
compile.c
50
compile.c
|
@ -2095,9 +2095,9 @@ static int
|
|||
compile_massign_opt(rb_iseq_t *iseq, LINK_ANCHOR *ret,
|
||||
NODE *rhsn, NODE *orig_lhsn)
|
||||
{
|
||||
int memsize = 64;
|
||||
VALUE mem[64];
|
||||
const int memsize = sizeof(mem) / sizeof(mem[0]);
|
||||
int memindex = 0;
|
||||
VALUE *mem = ALLOCA_N(VALUE, memsize);
|
||||
int llen = 0, rlen = 0;
|
||||
int i;
|
||||
NODE *lhsn = orig_lhsn;
|
||||
|
@ -2431,7 +2431,7 @@ defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *ret,
|
|||
case NODE_NTH_REF:
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_REF),
|
||||
INT2FIX(node->nd_nth << 1 | type == NODE_BACK_REF),
|
||||
INT2FIX((node->nd_nth << 1) | (type == NODE_BACK_REF)),
|
||||
needstr);
|
||||
return 1;
|
||||
|
||||
|
@ -3809,12 +3809,12 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
|
|||
for (j=0; j<post_len; j++) {
|
||||
int idx = liseq->local_size - (post_start + j);
|
||||
ADD_INSN1(args, nd_line(node), getlocal, INT2FIX(idx));
|
||||
}
|
||||
}
|
||||
argc = INT2FIX(post_len + post_start);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* dummy reciever */
|
||||
ADD_INSN1(ret, nd_line(node), putobject,
|
||||
|
@ -4209,34 +4209,34 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
|
|||
break;
|
||||
}
|
||||
case NODE_ALIAS:{
|
||||
COMPILE(ret, "alias arg1", node->u1.node);
|
||||
COMPILE(ret, "alias arg2", node->u2.node);
|
||||
COMPILE(ret, "alias arg1", node->u1.node);
|
||||
COMPILE(ret, "alias arg2", node->u2.node);
|
||||
|
||||
ADD_INSN1(ret, nd_line(node), alias, Qfalse);
|
||||
ADD_INSN1(ret, nd_line(node), alias, Qfalse);
|
||||
|
||||
if (!poped) {
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
}
|
||||
break;
|
||||
if (!poped) {
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NODE_VALIAS:{
|
||||
ADD_INSN1(ret, nd_line(node), putobject, ID2SYM(node->u1.id));
|
||||
ADD_INSN1(ret, nd_line(node), putobject, ID2SYM(node->u2.id));
|
||||
ADD_INSN1(ret, nd_line(node), alias, Qtrue);
|
||||
ADD_INSN1(ret, nd_line(node), putobject, ID2SYM(node->u1.id));
|
||||
ADD_INSN1(ret, nd_line(node), putobject, ID2SYM(node->u2.id));
|
||||
ADD_INSN1(ret, nd_line(node), alias, Qtrue);
|
||||
|
||||
if (!poped) {
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
}
|
||||
break;
|
||||
if (!poped) {
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NODE_UNDEF:{
|
||||
COMPILE(ret, "undef arg", node->u2.node);
|
||||
ADD_INSN(ret, nd_line(node), undef);
|
||||
COMPILE(ret, "undef arg", node->u2.node);
|
||||
ADD_INSN(ret, nd_line(node), undef);
|
||||
|
||||
if (!poped) {
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
}
|
||||
break;
|
||||
if (!poped) {
|
||||
ADD_INSN(ret, nd_line(node), putnil);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NODE_CLASS:{
|
||||
VALUE iseqval =
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#define RUBY_VERSION "1.9.0"
|
||||
#define RUBY_RELEASE_DATE "2008-03-24"
|
||||
#define RUBY_RELEASE_DATE "2008-03-25"
|
||||
#define RUBY_VERSION_CODE 190
|
||||
#define RUBY_RELEASE_CODE 20080324
|
||||
#define RUBY_RELEASE_CODE 20080325
|
||||
#define RUBY_PATCHLEVEL 0
|
||||
|
||||
#define RUBY_VERSION_MAJOR 1
|
||||
|
@ -9,7 +9,7 @@
|
|||
#define RUBY_VERSION_TEENY 0
|
||||
#define RUBY_RELEASE_YEAR 2008
|
||||
#define RUBY_RELEASE_MONTH 3
|
||||
#define RUBY_RELEASE_DAY 24
|
||||
#define RUBY_RELEASE_DAY 25
|
||||
|
||||
#ifdef RUBY_EXTERN
|
||||
RUBY_EXTERN const char ruby_version[];
|
||||
|
|
Loading…
Reference in a new issue