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

Unified Diff: src/heap/mark-compact-inl.h

Issue 2731363002: [heap] Do not clear mark bits of left trimmed old object start. (Closed)
Patch Set: comment fix Created 3 years, 9 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 | « src/heap/incremental-marking.cc ('k') | src/heap/marking.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/mark-compact-inl.h
diff --git a/src/heap/mark-compact-inl.h b/src/heap/mark-compact-inl.h
index 8861241df019528d05de4fc849cb6b68f3d59969..dd45c382fd4867d6090873b3efed05ff246c2932 100644
--- a/src/heap/mark-compact-inl.h
+++ b/src/heap/mark-compact-inl.h
@@ -179,9 +179,13 @@ HeapObject* LiveObjectIterator<T>::Next() {
// We found a live object.
if (object != nullptr) {
- if (map == heap()->one_pointer_filler_map()) {
- // Black areas together with slack tracking may result in black one
- // word filler objects. We filter these objects out in the iterator.
+ if (object->IsFiller()) {
+ // There are two reasons why we can get black or grey fillers:
+ // 1) Black areas together with slack tracking may result in black one
+ // word filler objects.
+ // 2) Left trimming may leave black or grey fillers behind because we
+ // do not clear the old location of the object start.
+ // We filter these objects out in the iterator.
object = nullptr;
} else {
break;
« no previous file with comments | « src/heap/incremental-marking.cc ('k') | src/heap/marking.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698