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

Unified Diff: src/heap/heap.h

Issue 2375983002: Revert of [heap] New heuristics for starting of incremental marking. (Closed)
Patch Set: Created 4 years, 3 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 7e1273cfc684a579cd9fbb1b55018bf77fa6e49d..edce0d953d13ae2ba1e0274ca096b7c80bd10932 100644
--- a/src/heap/heap.h
+++ b/src/heap/heap.h
@@ -708,10 +708,21 @@
// should not happen during deserialization.
void NotifyDeserializationComplete();
+ intptr_t old_generation_allocation_limit() const {
+ return old_generation_allocation_limit_;
+ }
+
+ bool always_allocate() { return always_allocate_scope_count_.Value() != 0; }
+
inline Address* NewSpaceAllocationTopAddress();
inline Address* NewSpaceAllocationLimitAddress();
inline Address* OldSpaceAllocationTopAddress();
inline Address* OldSpaceAllocationLimitAddress();
+
+ bool CanExpandOldGeneration(int size) {
+ if (force_oom_) return false;
+ return (OldGenerationCapacity() + size) < MaxOldGenerationSize();
+ }
// Clear the Instanceof cache (used when a prototype changes).
inline void ClearInstanceofCache();
@@ -835,6 +846,8 @@
// Check new space expansion criteria and expand semispaces if it was hit.
void CheckNewSpaceExpansionCriteria();
+ inline bool HeapIsFullEnoughToStartIncrementalMarking(intptr_t limit);
+
void VisitExternalResources(v8::ExternalResourceVisitor* visitor);
// An object should be promoted if the object has survived a
@@ -847,6 +860,8 @@
void ClearNormalizedMapCaches();
void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature);
+
+ inline bool OldGenerationAllocationLimitReached();
// Completely clear the Instanceof cache (to stop it keeping objects alive
// around a GC).
@@ -1815,22 +1830,6 @@
double mutator_speed);
intptr_t MinimumAllocationLimitGrowingStep();
-
- intptr_t old_generation_allocation_limit() const {
- return old_generation_allocation_limit_;
- }
-
- bool always_allocate() { return always_allocate_scope_count_.Value() != 0; }
-
- bool CanExpandOldGeneration(int size) {
- if (force_oom_) return false;
- return (OldGenerationCapacity() + size) < MaxOldGenerationSize();
- }
-
- bool ShouldExpandOldGenerationOnAllocationFailure();
-
- enum class IncrementalMarkingLimit { kNoLimit, kSoftLimit, kHardLimit };
- IncrementalMarkingLimit IncrementalMarkingLimitReached();
// ===========================================================================
// Idle notification. ========================================================
@@ -2304,15 +2303,12 @@
friend class HeapIterator;
friend class IdleScavengeObserver;
friend class IncrementalMarking;
- friend class IncrementalMarkingJob;
friend class IteratePromotedObjectsVisitor;
- friend class LargeObjectSpace;
friend class MarkCompactCollector;
friend class MarkCompactMarkingVisitor;
friend class NewSpace;
friend class ObjectStatsCollector;
friend class Page;
- friend class PagedSpace;
friend class Scavenger;
friend class StoreBuffer;
friend class TestMemoryAllocatorScope;
« 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