Chromium Code Reviews| 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)); |