Index: src/builtins.cc |
diff --git a/src/builtins.cc b/src/builtins.cc |
index 27efaeaa1c0e761f10d7cf7b503426cbdbaa0894..38e090e9bcfdbf3396f0e6220ce8d8748d29622a 100644 |
--- a/src/builtins.cc |
+++ b/src/builtins.cc |
@@ -268,10 +268,8 @@ static FixedArrayBase* LeftTrimFixedArray(Heap* heap, |
// Maintain marking consistency for HeapObjectIterator and |
// IncrementalMarking. |
int size_delta = to_trim * entry_size; |
- if (heap->marking()->TransferMark(elms->address(), |
- elms->address() + size_delta)) { |
- MemoryChunk::IncrementLiveBytesFromMutator(elms->address(), -size_delta); |
- } |
+ heap->marking()->TransferMark(elms->address(), elms->address() + size_delta); |
+ heap->AdjustLiveBytes(elms->address(), -size_delta, Heap::FROM_MUTATOR); |
Michael Starzinger
2014/03/19 11:25:26
Unfortunately this is not correct. The adjustment
|
FixedArrayBase* new_elms = FixedArrayBase::cast(HeapObject::FromAddress( |
elms->address() + size_delta)); |