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

ruby-changes:5919

From: matz <ko1@a...>
Date: Thu, 19 Jun 2008 17:39:29 +0900 (JST)
Subject: [ruby-changes:5919] Ruby:r17427 (trunk): * string.c (str_alloc): specify 'inline' modifier.

matz	2008-06-19 17:39:03 +0900 (Thu, 19 Jun 2008)

  New Revision: 17427

  Modified files:
    trunk/ChangeLog
    trunk/string.c

  Log:
    * string.c (str_alloc): specify 'inline' modifier.
    
    * string.c (str_alloc): remove cSymbol hack that no longer
      necessary. 
    
    * string.c (scan_once): avoid retrieving encoding info unless
      necessary.

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=17427&r2=17426&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=17427&r2=17426&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 17426)
+++ ChangeLog	(revision 17427)
@@ -1,3 +1,13 @@
+Thu Jun 19 17:37:21 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* string.c (str_alloc): specify 'inline' modifier.
+
+	* string.c (str_alloc): remove cSymbol hack that no longer
+	  necessary. 
+
+	* string.c (scan_once): avoid retrieving encoding info unless
+	  necessary.
+
 Thu Jun 19 17:19:14 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* string.c (rb_str_scan): String#scan should preserve last
Index: string.c
===================================================================
--- string.c	(revision 17426)
+++ string.c	(revision 17427)
@@ -336,16 +336,12 @@
     }
 }
 
-static VALUE
+static inline VALUE
 str_alloc(VALUE klass)
 {
     NEWOBJ(str, struct RString);
     OBJSETUP(str, klass, T_STRING);
 
-    if (klass == rb_cSymbol) {
-	/* need to be registered in table */
-	RBASIC(str)->klass = rb_cString;
-    }
     str->as.heap.ptr = 0;
     str->as.heap.len = 0;
     str->as.heap.aux.capa = 0;
@@ -5617,16 +5613,15 @@
 static VALUE
 scan_once(VALUE str, VALUE pat, long *start)
 {
-    rb_encoding *enc;
     VALUE result, match;
     struct re_registers *regs;
     long i;
 
-    enc = STR_ENC_GET(str);
     if (rb_reg_search(pat, str, *start, 0) >= 0) {
 	match = rb_backref_get();
 	regs = RMATCH_REGS(match);
 	if (BEG(0) == END(0)) {
+	    rb_encoding *enc = STR_ENC_GET(str);
 	    /*
 	     * Always consume at least one character of the input string
 	     */

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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