Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(436)

Unified Diff: src/heap/heap.h

Issue 2407153002: [heap] Use RAIL mode for initial heap sizing (Closed)
Patch Set: comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/heap/heap.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/heap.h
diff --git a/src/heap/heap.h b/src/heap/heap.h
index babe107f2fe37f84facbfdacfd38d5d0f3d7c22f..d3af0ea7c20228ce4021e41d8938a5971d4aef38 100644
--- a/src/heap/heap.h
+++ b/src/heap/heap.h
@@ -586,8 +586,6 @@ class Heap {
};
typedef List<Chunk> Reservation;
- static const int kInitalOldGenerationLimitFactor = 2;
-
#if V8_OS_ANDROID
// Don't apply pointer multiplier on Android since it has no swap space and
// should instead adapt it's heap size based on available physical memory.
@@ -1708,8 +1706,6 @@ class Heap {
// Flush the number to string cache.
void FlushNumberStringCache();
- void ConfigureInitialOldGenerationSize();
-
bool HasLowYoungGenerationAllocationRate();
bool HasLowOldGenerationAllocationRate();
double YoungGenerationMutatorUtilization();
@@ -1798,9 +1794,7 @@ class Heap {
// GC statistics. ============================================================
// ===========================================================================
- inline intptr_t OldGenerationSpaceAvailable() {
- return old_generation_allocation_limit_ - PromotedTotalSize();
- }
+ intptr_t OldGenerationSpaceAvailable();
void UpdateTotalGCTime(double duration);
@@ -1810,6 +1804,16 @@ class Heap {
// Growing strategy. =========================================================
// ===========================================================================
+ static const int kInitalOldGenerationLimitFactor = 2;
+
+ // For some webpages RAIL mode does not switch from PERFORMANCE_LOAD.
+ // This constant limits the effect of load RAIL mode on GC.
+ // The value is arbitrary and chosen as the largest load time observed in
+ // v8 browsing benchmarks.
+ static const int kMaxLoadTimeMs = 3000;
Hannes Payer (out of office) 2016/10/11 09:02:09 Why 3 seconds? Load was originally aiming for 1 se
ulan 2016/12/02 11:42:28 The value is chosen as the largest load time obser
+
+ bool ShouldOptimizeForLoadTime();
+
// Decrease the allocation limit if the new limit based on the given
// parameters is lower than the current limit.
void DampenOldGenerationAllocationLimit(intptr_t old_gen_size,
@@ -2096,8 +2100,6 @@ class Heap {
int max_semi_space_size_;
int initial_semispace_size_;
intptr_t max_old_generation_size_;
- intptr_t initial_old_generation_size_;
- bool old_generation_size_configured_;
intptr_t max_executable_size_;
size_t maximum_committed_;
« no previous file with comments | « no previous file | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698