From e8c593c4f826480861f973b59cc596fb7a88f2d8 Mon Sep 17 00:00:00 2001 From: ulan Date: Thu, 21 May 2015 07:47:20 -0700 Subject: [PATCH] Revert of Avoid excessive GCs in small heaps. (patchset #1 id:1 of https://codereview.chromium.org/1144223002/) Reason for revert: Regressed Sunspider. Original issue's description: > Avoid excessive GCs in small heaps. > > Small heaps and small heap growing factor can lead to excessive GCs in corner cases. > > Consider function F(old_gen_size, factor) that returns the number of bytes that > have to be allocated in the old generation to start incremental marking. > > F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit) > F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit) > F(8MB, 1.1) = 800KB > > Funtion F should be monotonic in old_gen_size, but it currently has a minimum > at kMinimumOldGenerationAllocationLimit. > > This CL makes F monotonic. > > BUG= > > Committed: https://crrev.com/22b1da99732b4db0754bf267ec470a2831216fb2 > Cr-Commit-Position: refs/heads/master@{#28549} TBR=hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1152533002 Cr-Commit-Position: refs/heads/master@{#28558} --- src/heap/heap.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/heap/heap.cc b/src/heap/heap.cc index 5a10a5c..df12e79 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc @@ -5312,7 +5312,7 @@ intptr_t Heap::CalculateOldGenerationAllocationLimit(double factor, CHECK(factor > 1.0); CHECK(old_gen_size > 0); intptr_t limit = static_cast(old_gen_size * factor); - limit = Max(limit, old_gen_size + kMinimumOldGenerationAllocationLimit); + limit = Max(limit, kMinimumOldGenerationAllocationLimit); limit += new_space_.Capacity(); intptr_t halfway_to_the_max = (old_gen_size + max_old_generation_size_) / 2; return Min(limit, halfway_to_the_max); -- 2.7.4