Index: src/heap/mark-compact.cc |
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
index d431aa0dfa082eb791fb87d037e8865edb1f1155..f95b91ac4db80791a7cf2dc9ea408e9369a1286e 100644 |
--- a/src/heap/mark-compact.cc |
+++ b/src/heap/mark-compact.cc |
@@ -4431,12 +4431,9 @@ |
// buffer entries are already filter out. We can just release the memory. |
heap()->FreeQueuedChunks(); |
+ heap()->FreeDeadArrayBuffers(false); |
+ |
EvacuateNewSpaceAndCandidates(); |
- |
- // NOTE: ArrayBuffers must be evacuated first, before freeing them. Otherwise |
- // not yet discovered buffers for scavenge will have all of them, and they |
- // will be erroneously freed. |
- heap()->FreeDeadArrayBuffers(false); |
// Clear the marking state of live large objects. |
heap_->lo_space()->ClearMarkingStateOfLiveObjects(); |