diff options
author | Ben Murdoch <benm@google.com> | 2012-04-11 10:23:59 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2012-04-11 15:40:41 +0100 |
commit | 5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b (patch) | |
tree | 7b717e53b80c4a64bf9b723aabcf7c909ae3c243 /src/mark-compact.h | |
parent | c7cc028aaeedbbfa11c11d0b7b243b3d9e837ed9 (diff) | |
download | android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.tar.gz android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.tar.bz2 android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.zip |
Merge V8 3.9 at 3.9.24.9
http://v8.googlecode.com/svn/branches/3.9@11260
Bug: 5688872
Change-Id: Iddd944e82189d92df3fc427dc5f0d3f1b2f0c6c8
Diffstat (limited to 'src/mark-compact.h')
-rw-r--r-- | src/mark-compact.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/mark-compact.h b/src/mark-compact.h index a911b49d..66ffd195 100644 --- a/src/mark-compact.h +++ b/src/mark-compact.h @@ -374,7 +374,7 @@ class SlotsBuffer { static const int kNumberOfElements = 1021; private: - static const int kChainLengthThreshold = 6; + static const int kChainLengthThreshold = 15; intptr_t idx_; intptr_t chain_length_; @@ -420,14 +420,9 @@ class MarkCompactCollector { // Pointer to member function, used in IterateLiveObjects. typedef int (MarkCompactCollector::*LiveObjectCallback)(HeapObject* obj); - // Set the global force_compaction flag, it must be called before Prepare - // to take effect. + // Set the global flags, it must be called before Prepare to take effect. inline void SetFlags(int flags); - inline bool PreciseSweepingRequired() { - return sweep_precisely_; - } - static void Initialize(); void CollectEvacuationCandidates(PagedSpace* space); @@ -441,7 +436,12 @@ class MarkCompactCollector { // Performs a global garbage collection. void CollectGarbage(); - bool StartCompaction(); + enum CompactionMode { + INCREMENTAL_COMPACTION, + NON_INCREMENTAL_COMPACTION + }; + + bool StartCompaction(CompactionMode mode); void AbortCompaction(); @@ -572,6 +572,10 @@ class MarkCompactCollector { // heap. bool sweep_precisely_; + bool reduce_memory_footprint_; + + bool abort_incremental_marking_; + // True if we are collecting slots to perform evacuation from evacuation // candidates. bool compacting_; @@ -634,9 +638,6 @@ class MarkCompactCollector { // Marks the object black. This is for non-incremental marking. INLINE(void SetMark(HeapObject* obj, MarkBit mark_bit)); - // Clears the cache of ICs related to this map. - INLINE(void ClearCacheOnMap(Map* map)); - void ProcessNewlyMarkedObject(HeapObject* obj); // Creates back pointers for all map transitions, stores them in |