ruby-changes:30102
From: ko1 <ko1@a...>
Date: Wed, 24 Jul 2013 20:59:56 +0900 (JST)
Subject: [ruby-changes:30102] ko1:r42154 (trunk): * compile.c (iseq_set_arguments): use RARRAY_RAWPTR() instead of
ko1 2013-07-24 20:59:44 +0900 (Wed, 24 Jul 2013) New Revision: 42154 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=42154 Log: * compile.c (iseq_set_arguments): use RARRAY_RAWPTR() instead of RARRAY_PTR() because there is no new reference. * compile.c (iseq_set_exception_table): ditto. Modified files: trunk/ChangeLog trunk/compile.c Index: ChangeLog =================================================================== --- ChangeLog (revision 42153) +++ ChangeLog (revision 42154) @@ -1,3 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Wed Jul 24 20:57:44 2013 Koichi Sasada <ko1@a...> + + * compile.c (iseq_set_arguments): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + + * compile.c (iseq_set_exception_table): ditto. + Wed Jul 24 19:49:54 2013 NARUSE, Yui <naruse@r...> * lib/uri/generic.rb (find_proxy): raise BadURIError if the URI is Index: compile.c =================================================================== --- compile.c (revision 42153) +++ compile.c (revision 42154) @@ -1169,7 +1169,7 @@ iseq_set_arguments(rb_iseq_t *iseq, LINK https://github.com/ruby/ruby/blob/trunk/compile.c#L1169 iseq->arg_opts = i; iseq->arg_opt_table = ALLOC_N(VALUE, i); - MEMCPY(iseq->arg_opt_table, RARRAY_PTR(labels), VALUE, i); + MEMCPY(iseq->arg_opt_table, RARRAY_RAWPTR(labels), VALUE, i); for (j = 0; j < i; j++) { iseq->arg_opt_table[j] &= ~1; } @@ -1665,18 +1665,18 @@ label_get_sp(LABEL *lobj) https://github.com/ruby/ruby/blob/trunk/compile.c#L1665 static int iseq_set_exception_table(rb_iseq_t *iseq) { - VALUE *tptr, *ptr; + const VALUE *tptr, *ptr; int tlen, i; struct iseq_catch_table_entry *entry; tlen = (int)RARRAY_LEN(iseq->compile_data->catch_table_ary); - tptr = RARRAY_PTR(iseq->compile_data->catch_table_ary); + tptr = RARRAY_RAWPTR(iseq->compile_data->catch_table_ary); iseq->catch_table = tlen ? ALLOC_N(struct iseq_catch_table_entry, tlen) : 0; iseq->catch_table_size = tlen; for (i = 0; i < tlen; i++) { - ptr = RARRAY_PTR(tptr[i]); + ptr = RARRAY_RAWPTR(tptr[i]); entry = &iseq->catch_table[i]; entry->type = (enum catch_type)(ptr[0] & 0xffff); entry->start = label_get_position((LABEL *)(ptr[1] & ~1)); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/