diff --git a/ChangeLog b/ChangeLog index f7812e5329..6c39e67eab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 15 14:58:07 2009 Tanaka Akira + + * hash.c (hash_i): use Murmurhash. + Sun Feb 15 11:45:29 2009 Nobuyoshi Nakada * variable.c (rb_define_hooked_variable): suppress false assertion diff --git a/hash.c b/hash.c index abce6f7eca..c916ff3ab7 100644 --- a/hash.c +++ b/hash.c @@ -1523,8 +1523,7 @@ static int hash_i(VALUE key, VALUE val, int *hval) { if (key == Qundef) return ST_CONTINUE; - *hval ^= rb_hash(key); - *hval ^= rb_hash(val); + *hval ^= rb_hash_end(rb_hash_uint(rb_hash_start(rb_hash(key)), rb_hash(val))); return ST_CONTINUE; }