In perl.git, the branch yves/hv_h_split has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/728e03041b31deae2692138beb96fd7ca6f6519f?hp=66c5e7c96ab95ab7fba6b5eeb1f7175bd8138b05>

- Log -----------------------------------------------------------------
commit 728e03041b31deae2692138beb96fd7ca6f6519f
Author: Yves Orton <[email protected]>
Date:   Mon Feb 18 16:13:08 2013 +0100

    reset HvRAND() every hsplit, and properly rotate the bucket_rand. :-)
-----------------------------------------------------------------------

Summary of changes:
 hv.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hv.c b/hv.c
index 87c34f6..474a79f 100644
--- a/hv.c
+++ b/hv.c
@@ -1145,7 +1145,7 @@ S_hsplit(pTHX_ HV *hv)
      * second from top. After each such insert we rotate the hashed value. So 
we can
      * use the same hashed value over and over, and in normal build 
environments use
      * very few ops to do so. ROTL32() should produce a single machine 
operation. */
-    bucket_rand= ptr_hash((PTRV)a);
+    HvRAND(hv)= bucket_rand= ptr_hash((PTRV)a);
 
     for (i=0; i<oldsize; i++,aep++) {
        HE **oentry = aep;
@@ -1166,7 +1166,7 @@ S_hsplit(pTHX_ HV *hv)
                     HeNEXT(*bep)= entry;
                     HeNEXT(entry)= tmp;
                 }
-                ROTL32(bucket_rand,1);
+                bucket_rand= ROTL32(bucket_rand,1);
            }
            else {
                oentry = &HeNEXT(entry);

--
Perl5 Master Repository

Reply via email to