Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 026f01d826542960581dc4c58a39e76b57a07184..251a3a81ffdee8edda516eb358ea30776bcd4c72 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -12519,6 +12519,9 @@ static void ShrinkInstanceSize(Map* map, void* data) { |
map->set_visitor_id(Heap::GetStaticVisitorIdForMap(map)); |
} |
+static void StopSlackTracking(Map* map, void* data) { |
+ map->set_construction_counter(Map::kNoSlackTracking); |
+} |
void Map::CompleteInobjectSlackTracking() { |
// Has to be an initial map. |
@@ -12529,6 +12532,8 @@ void Map::CompleteInobjectSlackTracking() { |
if (slack != 0) { |
// Resize the initial map and all maps in its transition tree. |
TransitionArray::TraverseTransitionTree(this, &ShrinkInstanceSize, &slack); |
+ } else { |
+ TransitionArray::TraverseTransitionTree(this, &StopSlackTracking, nullptr); |
} |
} |