| Index: src/transitions-inl.h
|
| diff --git a/src/transitions-inl.h b/src/transitions-inl.h
|
| index 9061883a270e7b3745d380de592c20b547181f03..1e8ec8b208726d0d228f7196c90f0f3b2ba2077c 100644
|
| --- a/src/transitions-inl.h
|
| +++ b/src/transitions-inl.h
|
| @@ -82,6 +82,42 @@ void TransitionArray::set_elements_transition(Map* transition_map,
|
| }
|
|
|
|
|
| +bool TransitionArray::HasPrototypeTransitions() {
|
| + Object* prototype_transitions = get(kPrototypeTransitionsIndex);
|
| + return prototype_transitions != Smi::FromInt(0);
|
| +}
|
| +
|
| +
|
| +FixedArray* TransitionArray::GetPrototypeTransitions() {
|
| + Object* prototype_transitions = get(kPrototypeTransitionsIndex);
|
| + return FixedArray::cast(prototype_transitions);
|
| +}
|
| +
|
| +
|
| +HeapObject* TransitionArray::UncheckedPrototypeTransitions() {
|
| + Object* prototype_transitions = get(kPrototypeTransitionsIndex);
|
| + if (prototype_transitions == Smi::FromInt(0)) return NULL;
|
| + return reinterpret_cast<HeapObject*>(prototype_transitions);
|
| +}
|
| +
|
| +
|
| +void TransitionArray::SetPrototypeTransitions(FixedArray* transitions,
|
| + WriteBarrierMode mode) {
|
| + ASSERT(this != NULL);
|
| + ASSERT(transitions->IsFixedArray());
|
| + Heap* heap = GetHeap();
|
| + WRITE_FIELD(this, kPrototypeTransitionsOffset, transitions);
|
| + CONDITIONAL_WRITE_BARRIER(
|
| + heap, this, kPrototypeTransitionsOffset, transitions, mode);
|
| +}
|
| +
|
| +
|
| +Object** TransitionArray::GetPrototypeTransitionsSlot() {
|
| + return HeapObject::RawField(reinterpret_cast<HeapObject*>(this),
|
| + kPrototypeTransitionsOffset);
|
| +}
|
| +
|
| +
|
| Object** TransitionArray::GetKeySlot(int transition_number) {
|
| ASSERT(transition_number < number_of_transitions());
|
| return HeapObject::RawField(
|
|
|