aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--hash.c3
2 files changed, 9 insertions, 0 deletions
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 <matz@ruby-lang.org>
+
+ * 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 <matz@ruby-lang.org>
* 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;