From ad049bc5df91104e0d59e014b2b244b47694d2ef Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 26 Jan 2009 18:48:47 +0000 Subject: [PATCH] * hash.c (rb_any_hash): fixed performance issues with nil, true, false as hash keys. a patch from Matthias Waechter. [ruby-core:21568] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ hash.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index bef9e85389..85f0377b73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Jan 27 03:43:34 2009 Yukihiro Matsumoto + + * hash.c (rb_any_hash): fixed performance issues with nil, true, + false as hash keys. a patch from Matthias Waechter. + [ruby-core:21568] + Tue Jan 27 03:23:43 2009 Yukihiro Matsumoto * lib/mkmf.rb (create_makefile): should point correct path to diff --git a/hash.c b/hash.c index 7203d8c4e9..bfd3fe7f61 100644 --- a/hash.c +++ b/hash.c @@ -69,6 +69,9 @@ rb_any_hash(VALUE a) switch (TYPE(a)) { case T_FIXNUM: case T_SYMBOL: + case T_NIL: + case T_FALSE: + case T_TRUE: hnum = (int)a; break;