From Craig Silverstein: implement --hash-bucket-empty-fraction for real.
authorIan Lance Taylor <iant@google.com>
Fri, 7 Mar 2008 16:27:33 +0000 (16:27 +0000)
committerIan Lance Taylor <iant@google.com>
Fri, 7 Mar 2008 16:27:33 +0000 (16:27 +0000)
gold/dynobj.cc

index 6c0a4b2..5581298 100644 (file)
@@ -698,9 +698,11 @@ Dynobj::compute_bucket_count(const std::vector<uint32_t>& hashcodes,
 
   unsigned int symcount = hashcodes.size();
   unsigned int ret = 1;
+  const double full_fraction
+    = 1.0 - parameters->options().hash_bucket_empty_fraction();
   for (int i = 0; i < buckets_count; ++i)
     {
-      if (symcount < buckets[i])
+      if (symcount < buckets[i] * full_fraction)
        break;
       ret = buckets[i];
     }