Index: src/transitions.cc |
diff --git a/src/transitions.cc b/src/transitions.cc |
index 4fe2ace3d94f28736bcef8e94db59e208fc3fee3..85e5dc7967dccc65235a6b6e274489498eed2e2e 100644 |
--- a/src/transitions.cc |
+++ b/src/transitions.cc |
@@ -391,23 +391,18 @@ |
Handle<TransitionArray> TransitionArray::Allocate(Isolate* isolate, |
int number_of_transitions, |
int slack) { |
- Handle<FixedArray> array = isolate->factory()->NewTransitionArray( |
- LengthFor(number_of_transitions + slack)); |
- array->set(kNextLinkIndex, isolate->heap()->undefined_value()); |
+ Handle<FixedArray> array = isolate->factory()->NewFixedArray( |
+ LengthFor(number_of_transitions + slack), TENURED); |
array->set(kPrototypeTransitionsIndex, Smi::FromInt(0)); |
array->set(kTransitionLengthIndex, Smi::FromInt(number_of_transitions)); |
return Handle<TransitionArray>::cast(array); |
} |
-// static |
-void TransitionArray::ZapTransitionArray(TransitionArray* transitions) { |
- // Do not zap the next link that is used by GC. |
- STATIC_ASSERT(kNextLinkIndex + 1 == kPrototypeTransitionsIndex); |
- MemsetPointer(transitions->data_start() + kPrototypeTransitionsIndex, |
+static void ZapTransitionArray(TransitionArray* transitions) { |
+ MemsetPointer(transitions->data_start(), |
transitions->GetHeap()->the_hole_value(), |
- transitions->length() - kPrototypeTransitionsIndex); |
- transitions->SetNumberOfTransitions(0); |
+ transitions->length()); |
} |