diff options
author | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-03-19 09:25:14 +0100 |
---|---|---|
committer | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-03-19 09:56:31 +0100 |
commit | 6313e1fe4c27755adde87e62db1c2f9fac534ae4 (patch) | |
tree | c57bb29f65e02fbfcc07895a8cc2903fff9300ba /src/3rdparty/v8/src/incremental-marking-inl.h | |
parent | b5a49a260d03249c386f1b63c249089383dd81fa (diff) | |
parent | cac65e7a222b848a735a974b0aeb43209b0cfa18 (diff) | |
download | qtjsbackend-6313e1fe4c27755adde87e62db1c2f9fac534ae4.tar.gz |
Merge branch 'dev' into stable
This starts Qt 5.1 release cycle
Change-Id: I892bbc73c276842894a720f761ce31ad1b015672
Diffstat (limited to 'src/3rdparty/v8/src/incremental-marking-inl.h')
-rw-r--r-- | src/3rdparty/v8/src/incremental-marking-inl.h | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/src/3rdparty/v8/src/incremental-marking-inl.h b/src/3rdparty/v8/src/incremental-marking-inl.h index 2dae6f2..bbe9a9d 100644 --- a/src/3rdparty/v8/src/incremental-marking-inl.h +++ b/src/3rdparty/v8/src/incremental-marking-inl.h @@ -48,7 +48,9 @@ bool IncrementalMarking::BaseRecordWrite(HeapObject* obj, // Object is either grey or white. It will be scanned if survives. return false; } - return true; + if (!is_compacting_) return false; + MarkBit obj_bit = Marking::MarkBitFrom(obj); + return Marking::IsBlack(obj_bit); } @@ -107,9 +109,9 @@ void IncrementalMarking::BlackToGreyAndUnshift(HeapObject* obj, // trace it. In this case we switch to non-incremental marking in // order to finish off this marking phase. if (FLAG_trace_gc) { - PrintF("Hurrying incremental marking because of lack of progress\n"); + PrintPID("Hurrying incremental marking because of lack of progress\n"); } - allocation_marking_factor_ = kMaxAllocationMarkingFactor; + marking_speed_ = kMaxMarkingSpeed; } } @@ -123,27 +125,6 @@ void IncrementalMarking::WhiteToGreyAndPush(HeapObject* obj, MarkBit mark_bit) { } -bool IncrementalMarking::MarkObjectAndPush(HeapObject* obj) { - MarkBit mark_bit = Marking::MarkBitFrom(obj); - if (!mark_bit.Get()) { - WhiteToGreyAndPush(obj, mark_bit); - return true; - } - return false; -} - - -bool IncrementalMarking::MarkObjectWithoutPush(HeapObject* obj) { - MarkBit mark_bit = Marking::MarkBitFrom(obj); - if (!mark_bit.Get()) { - mark_bit.Set(); - MemoryChunk::IncrementLiveBytesFromGC(obj->address(), obj->Size()); - return true; - } - return false; -} - - } } // namespace v8::internal #endif // V8_INCREMENTAL_MARKING_INL_H_ |