1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* include/ruby/intern.h (rb_{external,locale}_str_new_cstr): optimized

versions for literal strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-11-11 18:31:06 +00:00
parent 99cd3c512b
commit cc7ff9d2f9
3 changed files with 19 additions and 0 deletions

View file

@ -1,3 +1,8 @@
Wed Nov 12 03:30:59 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/intern.h (rb_{external,locale}_str_new_cstr): optimized
versions for literal strings.
Wed Nov 12 03:28:41 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* load.c (rb_require_safe): destroys barrier after successfully

View file

@ -621,6 +621,18 @@ size_t rb_str_capacity(VALUE);
rb_usascii_str_new(str, strlen(str)) : \
rb_usascii_str_new_cstr(str); \
})
#define rb_external_str_new_cstr(str) __extension__ ( \
{ \
(__builtin_constant_p(str)) ? \
rb_external_str_new(str, strlen(str)) : \
rb_external_str_new_cstr(str); \
})
#define rb_locale_str_new_cstr(str) __extension__ ( \
{ \
(__builtin_constant_p(str)) ? \
rb_locale_str_new(str, strlen(str)) : \
rb_locale_str_new_cstr(str); \
})
#define rb_str_buf_new_cstr(str) __extension__ ( \
{ \
(__builtin_constant_p(str)) ? \

View file

@ -28,6 +28,8 @@
#undef rb_str_new_cstr
#undef rb_tainted_str_new_cstr
#undef rb_usascii_str_new_cstr
#undef rb_external_str_new_cstr
#undef rb_locale_str_new_cstr
#undef rb_str_new2
#undef rb_str_new3
#undef rb_str_new4