diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-19 08:39:03 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-19 08:39:03 +0000 |
commit | c3ab4a4b1bab1dd8276c97306195361021822357 (patch) | |
tree | bac025c21df5f571dd624578ddc7d53495fea71b | |
parent | 768380583a4a2527994fa33e78fdcfbeee20b6a8 (diff) |
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | string.c | 9 |
2 files changed, 12 insertions, 7 deletions
@@ -1,3 +1,13 @@ +Thu Jun 19 17:37:21 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * 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@ruby-lang.org> * string.c (rb_str_scan): String#scan should preserve last @@ -336,16 +336,12 @@ str_frozen_check(VALUE s) } } -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 @@ rb_str_strip(VALUE str) 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 */ |