Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index f66275a3ae46d1f802db1e313190d11a6b201698..9520e2ce218cf6842e3efd3b8e0adc37ae702ed9 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -9447,11 +9447,16 @@ void Map::ClearNonLiveTransitions(Heap* heap) { |
} |
} |
+ // Note that we never eliminate a transition array, though we might right-trim |
+ // such that number_of_transitions() == 0. If this assumption changes, |
+ // TransitionArray::CopyInsert() will need to deal with the case that a |
+ // transition array disappeared during GC. |
int trim = t->number_of_transitions() - transition_index; |
if (trim > 0) { |
RightTrimFixedArray<Heap::FROM_GC>(heap, t, t->IsSimpleTransition() |
? trim : trim * TransitionArray::kTransitionSize); |
} |
+ ASSERT(HasTransitionArray()); |
} |