Use conservative estimate for GC speed instead of bailing out when computing
authorulan <ulan@chromium.org>
Fri, 7 Aug 2015 09:35:34 +0000 (02:35 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 7 Aug 2015 09:35:43 +0000 (09:35 +0000)
mutator utilization.

This makes GC heuristics more robust for small applications that trigger
scavenges but do not trigger full GC.

BUG=

Review URL: https://codereview.chromium.org/1280703002

Cr-Commit-Position: refs/heads/master@{#30060}

src/heap/heap.cc

index 4647157..9519545 100644 (file)
@@ -4685,7 +4685,9 @@ void Heap::MakeHeapIterable() {
 
 static double ComputeMutatorUtilization(double mutator_speed, double gc_speed) {
   const double kMinMutatorUtilization = 0.0;
-  if (mutator_speed == 0 || gc_speed == 0) return kMinMutatorUtilization;
+  const double kConservativeGcSpeedInBytesPerMillisecond = 200000;
+  if (mutator_speed == 0) return kMinMutatorUtilization;
+  if (gc_speed == 0) gc_speed = kConservativeGcSpeedInBytesPerMillisecond;
   // Derivation:
   // mutator_utilization = mutator_time / (mutator_time + gc_time)
   // mutator_time = 1 / mutator_speed