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/