Skip to content

Commit

Permalink
* include/ruby/ruby.h (rb_intern_const): tiny optimization.
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Aug 16, 2008
1 parent c65dc8c commit 5f9c188
Show file tree
Hide file tree
Showing 22 changed files with 35 additions and 6 deletions.
4 changes: 3 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
Sat Aug 16 08:52:55 2008 Nobuyoshi Nakada <[email protected]>
Sat Aug 16 09:20:18 2008 Nobuyoshi Nakada <[email protected]>

* include/ruby/ruby.h (rb_intern_const): tiny optimization.

* include/ruby/ruby.h (SSIZET2NUM, NUM2SSIZET, SSIZE_MAX, SSIZE_MIN):
macros for ssize_t.
Expand Down
1 change: 1 addition & 0 deletions array.c
Original file line number Diff line number Diff line change
Expand Up @@ -3476,6 +3476,7 @@ void
Init_Array(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

rb_cArray = rb_define_class("Array", rb_cObject);
rb_include_module(rb_cArray, rb_mEnumerable);
Expand Down
1 change: 1 addition & 0 deletions compar.c
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,7 @@ void
Init_Comparable(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

rb_mComparable = rb_define_module("Comparable");
rb_define_method(rb_mComparable, "==", cmp_equal, 1);
Expand Down
1 change: 1 addition & 0 deletions compile.c
Original file line number Diff line number Diff line change
Expand Up @@ -4806,6 +4806,7 @@ static VALUE
get_exception_sym2type(VALUE sym)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)
static VALUE symRescue, symEnsure, symRetry;
static VALUE symBreak, symRedo, symNext;

Expand Down
1 change: 1 addition & 0 deletions complex.c
Original file line number Diff line number Diff line change
Expand Up @@ -1364,6 +1364,7 @@ void
Init_Complex(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

assert(fprintf(stderr, "assert() is now active\n"));

Expand Down
1 change: 1 addition & 0 deletions encoding.c
Original file line number Diff line number Diff line change
Expand Up @@ -1172,6 +1172,7 @@ void
Init_Encoding(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)
VALUE list;
int i;

Expand Down
1 change: 1 addition & 0 deletions enum.c
Original file line number Diff line number Diff line change
Expand Up @@ -1803,6 +1803,7 @@ void
Init_Enumerable(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

rb_mEnumerable = rb_define_module("Enumerable");

Expand Down
1 change: 1 addition & 0 deletions hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -2597,6 +2597,7 @@ void
Init_Hash(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

id_hash = rb_intern("hash");
id_yield = rb_intern("yield");
Expand Down
1 change: 1 addition & 0 deletions id.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ static void
Init_id(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)
#define rb_intern(str) rb_intern2(str, strlen(str))
rb_encoding *enc = rb_usascii_encoding();

Expand Down
6 changes: 6 additions & 0 deletions include/ruby/ruby.h
Original file line number Diff line number Diff line change
Expand Up @@ -830,6 +830,12 @@ VALUE rb_id2str(ID);
(__builtin_constant_p(str) ? \
__extension__ (CONST_ID_CACHE(/**/, str)) : \
rb_intern(str))
#define rb_intern_const(str) \
(__builtin_constant_p(str) ? \
__extension__ (rb_intern2(str, strlen(str))) : \
(rb_intern)(str))
#else
#define rb_intern_const(str) rb_intern2(str, strlen(str))
#endif

const char *rb_class2name(VALUE);
Expand Down
1 change: 1 addition & 0 deletions io.c
Original file line number Diff line number Diff line change
Expand Up @@ -7613,6 +7613,7 @@ void
Init_IO(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

VALUE rb_cARGF;
#ifdef __CYGWIN__
Expand Down
12 changes: 7 additions & 5 deletions load.c
Original file line number Diff line number Diff line change
Expand Up @@ -675,13 +675,15 @@ rb_f_autoload_p(VALUE obj, VALUE sym)
void
Init_load()
{
#undef rb_intern
#define rb_intern(str) rb_intern2(str, strlen(str))
rb_vm_t *vm = GET_VM();
const char *var_load_path = "$:";
ID id_load_path = rb_intern(var_load_path);
static const char var_load_path[] = "$:";
ID id_load_path = rb_intern2(var_load_path, sizeof(var_load_path)-1);

rb_define_hooked_variable(var_load_path, (VALUE*)GET_VM(), load_path_getter, 0);
rb_alias_variable((rb_intern)("$-I"), id_load_path);
rb_alias_variable((rb_intern)("$LOAD_PATH"), id_load_path);
rb_define_hooked_variable(var_load_path, (VALUE*)vm, load_path_getter, 0);
rb_alias_variable(rb_intern("$-I"), id_load_path);
rb_alias_variable(rb_intern("$LOAD_PATH"), id_load_path);
vm->load_path = rb_ary_new();

rb_define_virtual_variable("$\"", get_loaded_features, 0);
Expand Down
1 change: 1 addition & 0 deletions marshal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1689,6 +1689,7 @@ void
Init_marshal(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

VALUE rb_mMarshal = rb_define_module("Marshal");

Expand Down
1 change: 1 addition & 0 deletions numeric.c
Original file line number Diff line number Diff line change
Expand Up @@ -3106,6 +3106,7 @@ void
Init_Numeric(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

#if defined(__FreeBSD__) && __FreeBSD__ < 4
/* allow divide by zero -- Inf */
Expand Down
1 change: 1 addition & 0 deletions object.c
Original file line number Diff line number Diff line change
Expand Up @@ -2428,6 +2428,7 @@ void
Init_Object(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

VALUE metaclass;

Expand Down
1 change: 1 addition & 0 deletions prec.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ void
Init_Precision(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

rb_mPrecision = rb_define_module("Precision");
rb_define_singleton_method(rb_mPrecision, "included", prec_included, 1);
Expand Down
1 change: 1 addition & 0 deletions range.c
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,7 @@ void
Init_Range(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

id_cmp = rb_intern("<=>");
id_succ = rb_intern("succ");
Expand Down
1 change: 1 addition & 0 deletions rational.c
Original file line number Diff line number Diff line change
Expand Up @@ -1470,6 +1470,7 @@ void
Init_Rational(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

assert(fprintf(stderr, "assert() is now active\n"));

Expand Down
1 change: 1 addition & 0 deletions string.c
Original file line number Diff line number Diff line change
Expand Up @@ -6611,6 +6611,7 @@ void
Init_String(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

rb_cString = rb_define_class("String", rb_cObject);
rb_include_module(rb_cString, rb_mComparable);
Expand Down
1 change: 1 addition & 0 deletions thread.c
Original file line number Diff line number Diff line change
Expand Up @@ -3525,6 +3525,7 @@ void
Init_Thread(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

VALUE cThGroup;

Expand Down
1 change: 1 addition & 0 deletions time.c
Original file line number Diff line number Diff line change
Expand Up @@ -2353,6 +2353,7 @@ void
Init_Time(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

id_divmod = rb_intern("divmod");
id_mul = rb_intern("*");
Expand Down
1 change: 1 addition & 0 deletions vm_method.c
Original file line number Diff line number Diff line change
Expand Up @@ -1114,6 +1114,7 @@ void
Init_eval_method(void)
{
#undef rb_intern
#define rb_intern(str) rb_intern_const(str)

rb_define_method(rb_mKernel, "respond_to?", obj_respond_to, -1);

Expand Down

0 comments on commit 5f9c188

Please sign in to comment.