* compile.c (iseq_set_arguments, iseq_compile_each): internal

arrays must be hidden.  [ruby-dev:38613]

* vm.c (Init_top_self): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-06-22 07:14:32 +00:00
Родитель 53106bd5c3
Коммит 877acd03f6
3 изменённых файлов: 11 добавлений и 3 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Mon Jun 22 16:14:30 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_set_arguments, iseq_compile_each): internal
arrays must be hidden. [ruby-dev:38613]
* vm.c (Init_top_self): ditto.
Mon Jun 22 14:41:47 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> Mon Jun 22 14:41:47 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (process_options), enc/prelude.rb: encdb and transdb are * ruby.c (process_options), enc/prelude.rb: encdb and transdb are

Просмотреть файл

@ -1089,7 +1089,7 @@ iseq_set_arguments(rb_iseq_t *iseq, LINK_ANCHOR *optargs, NODE *node_args)
if (node_opt) { if (node_opt) {
NODE *node = node_opt; NODE *node = node_opt;
LABEL *label; LABEL *label;
VALUE labels = rb_ary_new(); VALUE labels = rb_ary_tmp_new(1);
int i = 0, j; int i = 0, j;
while (node) { while (node) {
@ -1113,6 +1113,7 @@ iseq_set_arguments(rb_iseq_t *iseq, LINK_ANCHOR *optargs, NODE *node_args)
for (j = 0; j < i; j++) { for (j = 0; j < i; j++) {
iseq->arg_opt_table[j] &= ~1; iseq->arg_opt_table[j] &= ~1;
} }
rb_ary_clear(labels);
} }
else { else {
iseq->arg_opts = 0; iseq->arg_opts = 0;
@ -3013,7 +3014,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
DECL_ANCHOR(head); DECL_ANCHOR(head);
DECL_ANCHOR(body_seq); DECL_ANCHOR(body_seq);
DECL_ANCHOR(cond_seq); DECL_ANCHOR(cond_seq);
VALUE special_literals = rb_ary_new(); VALUE special_literals = rb_ary_tmp_new(1);
INIT_ANCHOR(head); INIT_ANCHOR(head);
INIT_ANCHOR(body_seq); INIT_ANCHOR(body_seq);

2
vm.c
Просмотреть файл

@ -2066,7 +2066,7 @@ Init_top_self(void)
rb_define_singleton_method(rb_vm_top_self(), "to_s", main_to_s, 0); rb_define_singleton_method(rb_vm_top_self(), "to_s", main_to_s, 0);
/* initialize mark object array */ /* initialize mark object array */
vm->mark_object_ary = rb_ary_new(); vm->mark_object_ary = rb_ary_tmp_new(1);
} }
VALUE * VALUE *