mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* include/ruby/intern.h (rb_str_buf_cat2, rb_str_cat2): optimization
for literals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2ef807cc34
commit
c62db0676b
3 changed files with 39 additions and 20 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Tue Jul 22 02:51:46 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* include/ruby/intern.h (rb_str_buf_cat2, rb_str_cat2): optimization
|
||||||
|
for literals.
|
||||||
|
|
||||||
Tue Jul 22 02:50:47 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Tue Jul 22 02:50:47 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* README.EXT, README.EXT.ja (1.5 Manipulating Ruby data): fix the
|
* README.EXT, README.EXT.ja (1.5 Manipulating Ruby data): fix the
|
||||||
|
|
|
@ -537,26 +537,6 @@ VALUE rb_str_buf_new2(const char*);
|
||||||
VALUE rb_str_tmp_new(long);
|
VALUE rb_str_tmp_new(long);
|
||||||
VALUE rb_usascii_str_new(const char*, long);
|
VALUE rb_usascii_str_new(const char*, long);
|
||||||
VALUE rb_usascii_str_new2(const char*);
|
VALUE rb_usascii_str_new2(const char*);
|
||||||
#if defined __GNUC__
|
|
||||||
#define rb_str_new2(str) __extension__ ( \
|
|
||||||
{ \
|
|
||||||
(__builtin_constant_p(str)) ? \
|
|
||||||
rb_str_new(str, strlen(str)) : \
|
|
||||||
rb_str_new2(str); \
|
|
||||||
})
|
|
||||||
#define rb_tainted_str_new2(str) __extension__ ( \
|
|
||||||
{ \
|
|
||||||
(__builtin_constant_p(str)) ? \
|
|
||||||
rb_tainted_str_new(str, strlen(str)) : \
|
|
||||||
rb_tainted_str_new2(str); \
|
|
||||||
})
|
|
||||||
#define rb_usascii_str_new2(str) __extension__ ( \
|
|
||||||
{ \
|
|
||||||
(__builtin_constant_p(str)) ? \
|
|
||||||
rb_usascii_str_new(str, strlen(str)) : \
|
|
||||||
rb_usascii_str_new2(str); \
|
|
||||||
})
|
|
||||||
#endif
|
|
||||||
void rb_str_free(VALUE);
|
void rb_str_free(VALUE);
|
||||||
void rb_str_shared_replace(VALUE, VALUE);
|
void rb_str_shared_replace(VALUE, VALUE);
|
||||||
VALUE rb_str_buf_append(VALUE, VALUE);
|
VALUE rb_str_buf_append(VALUE, VALUE);
|
||||||
|
@ -598,6 +578,38 @@ void rb_str_setter(VALUE, ID, VALUE*);
|
||||||
VALUE rb_str_intern(VALUE);
|
VALUE rb_str_intern(VALUE);
|
||||||
VALUE rb_sym_to_s(VALUE);
|
VALUE rb_sym_to_s(VALUE);
|
||||||
VALUE rb_str_length(VALUE);
|
VALUE rb_str_length(VALUE);
|
||||||
|
#if defined __GNUC__
|
||||||
|
#define rb_str_new2(str) __extension__ ( \
|
||||||
|
{ \
|
||||||
|
(__builtin_constant_p(str)) ? \
|
||||||
|
rb_str_new(str, strlen(str)) : \
|
||||||
|
rb_str_new2(str); \
|
||||||
|
})
|
||||||
|
#define rb_tainted_str_new2(str) __extension__ ( \
|
||||||
|
{ \
|
||||||
|
(__builtin_constant_p(str)) ? \
|
||||||
|
rb_tainted_str_new(str, strlen(str)) : \
|
||||||
|
rb_tainted_str_new2(str); \
|
||||||
|
})
|
||||||
|
#define rb_usascii_str_new2(str) __extension__ ( \
|
||||||
|
{ \
|
||||||
|
(__builtin_constant_p(str)) ? \
|
||||||
|
rb_usascii_str_new(str, strlen(str)) : \
|
||||||
|
rb_usascii_str_new2(str); \
|
||||||
|
})
|
||||||
|
#define rb_str_buf_cat2(str, ptr) __extension__ ( \
|
||||||
|
{ \
|
||||||
|
(__builtin_constant_p(ptr)) ? \
|
||||||
|
rb_str_buf_cat(str, ptr, strlen(ptr)) : \
|
||||||
|
rb_str_buf_cat2(str, ptr); \
|
||||||
|
})
|
||||||
|
#define rb_str_cat2(str, ptr) __extension__ ( \
|
||||||
|
{ \
|
||||||
|
(__builtin_constant_p(ptr)) ? \
|
||||||
|
rb_str_cat(str, ptr, strlen(ptr)) : \
|
||||||
|
rb_str_cat2(str, ptr); \
|
||||||
|
})
|
||||||
|
#endif
|
||||||
/* struct.c */
|
/* struct.c */
|
||||||
VALUE rb_struct_new(VALUE, ...);
|
VALUE rb_struct_new(VALUE, ...);
|
||||||
VALUE rb_struct_define(const char*, ...);
|
VALUE rb_struct_define(const char*, ...);
|
||||||
|
|
2
string.c
2
string.c
|
@ -28,6 +28,8 @@
|
||||||
#undef rb_str_new2
|
#undef rb_str_new2
|
||||||
#undef rb_tainted_str_new2
|
#undef rb_tainted_str_new2
|
||||||
#undef rb_usascii_str_new2
|
#undef rb_usascii_str_new2
|
||||||
|
#undef rb_str_buf_cat2
|
||||||
|
#undef rb_str_cat2
|
||||||
|
|
||||||
VALUE rb_cString;
|
VALUE rb_cString;
|
||||||
VALUE rb_cSymbol;
|
VALUE rb_cSymbol;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue