Index: runtime/vm/pages.cc |
diff --git a/runtime/vm/pages.cc b/runtime/vm/pages.cc |
index afda7bb609034de169be4c345c4cee8e6d894b72..895d2b2439878d29e023f9e705cc918890b98eed 100644 |
--- a/runtime/vm/pages.cc |
+++ b/runtime/vm/pages.cc |
@@ -543,6 +543,7 @@ void PageSpace::AbandonBumpAllocation() { |
} |
void PageSpace::UpdateMaxCapacityLocked() { |
+#if !defined(PRODUCT) |
if (heap_ == NULL) { |
// Some unit tests. |
return; |
@@ -552,9 +553,11 @@ void PageSpace::UpdateMaxCapacityLocked() { |
Isolate* isolate = heap_->isolate(); |
isolate->GetHeapOldCapacityMaxMetric()->SetValue( |
static_cast<int64_t>(usage_.capacity_in_words) * kWordSize); |
+#endif // !defined(PRODUCT) |
} |
void PageSpace::UpdateMaxUsed() { |
+#if !defined(PRODUCT) |
if (heap_ == NULL) { |
// Some unit tests. |
return; |
@@ -563,6 +566,7 @@ void PageSpace::UpdateMaxUsed() { |
ASSERT(heap_->isolate() != NULL); |
Isolate* isolate = heap_->isolate(); |
isolate->GetHeapOldUsedMaxMetric()->SetValue(UsedInWords() * kWordSize); |
+#endif // !defined(PRODUCT) |
} |
bool PageSpace::Contains(uword addr) const { |
@@ -864,8 +868,12 @@ void PageSpace::MarkSweep(bool invoke_api_callbacks) { |
SpaceUsage usage_before = GetCurrentUsage(); |
// Mark all reachable old-gen objects. |
+#if defined(PRODUCT) |
+ bool collect_code = FLAG_collect_code && ShouldCollectCode(); |
+#else |
bool collect_code = FLAG_collect_code && ShouldCollectCode() && |
!isolate->HasAttemptedReload(); |
+#endif // !defined(PRODUCT) |
GCMarker marker(heap_); |
marker.MarkObjects(isolate, this, invoke_api_callbacks, collect_code); |
usage_.used_in_words = marker.marked_words(); |
@@ -1141,6 +1149,7 @@ bool PageSpaceController::NeedsGarbageCollection(SpaceUsage after) const { |
intptr_t capacity_increase_in_pages = |
capacity_increase_in_words / PageSpace::kPageSizeInWords; |
double multiplier = 1.0; |
+#if !defined(PRODUCT) |
// To avoid waste, the first GC should be triggered before too long. After |
// kInitialTimeoutSeconds, gradually lower the capacity limit. |
static const double kInitialTimeoutSeconds = 1.00; |
@@ -1151,6 +1160,7 @@ bool PageSpaceController::NeedsGarbageCollection(SpaceUsage after) const { |
multiplier *= seconds_since_init / kInitialTimeoutSeconds; |
} |
} |
+#endif // !defined(PRODUCT) |
bool needs_gc = capacity_increase_in_pages * multiplier > grow_heap_; |
if (FLAG_log_growth) { |
OS::PrintErr("%s: %" Pd " * %f %s %" Pd "\n", |