Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Unified Diff: src/mark-compact.cc

Issue 3318014: Ensure that empty descriptor array is marked before visiting any maps in marking phase. (Closed)
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698