| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index 162b3d63957872715ab5d51adbbba7fc61f58fd4..a9e852ef32747ef8e2385353f1f7ffd8c9733587 100644
|
| --- a/src/mark-compact.cc
|
| +++ b/src/mark-compact.cc
|
| @@ -643,9 +643,13 @@ void MarkCompactCollector::PrepareForCodeFlushing() {
|
| #endif
|
| StaticMarkingVisitor::EnableCodeFlushing(true);
|
|
|
| + // Ensure that empty descriptor array is marked. Method MarkDescriptorArray
|
| + // relies on it being marked before any other descriptor array.
|
| + MarkObject(Heap::raw_unchecked_empty_descriptor_array());
|
| +
|
| // Make sure we are not referencing the code from the stack.
|
| for (StackFrameIterator it; !it.done(); it.Advance()) {
|
| - MarkCompactCollector::MarkObject(it.frame()->unchecked_code());
|
| + MarkObject(it.frame()->unchecked_code());
|
| }
|
|
|
| // Iterate the archived stacks in all threads to check if
|
| @@ -656,7 +660,7 @@ void MarkCompactCollector::PrepareForCodeFlushing() {
|
| SharedFunctionInfoMarkingVisitor visitor;
|
| CompilationCache::IterateFunctions(&visitor);
|
|
|
| - MarkCompactCollector::ProcessMarkingStack();
|
| + ProcessMarkingStack();
|
| }
|
|
|
|
|
|
|