[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]