| Index: src/transitions-inl.h
|
| diff --git a/src/transitions-inl.h b/src/transitions-inl.h
|
| index 9061883a270e7b3745d380de592c20b547181f03..a24bdfc8aaa4bcf67937abdcdefc48cf25ddf2cb 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::prototype_transitions() {
|
| + Object* prototype_transitions = get(kPrototypeTransitionsIndex);
|
| + return FixedArray::cast(prototype_transitions);
|
| +}
|
| +
|
| +
|
| +HeapObject* TransitionArray::unchecked_prototype_transitions() {
|
| + Object* prototype_transitions = get(kPrototypeTransitionsIndex);
|
| + if (prototype_transitions == Smi::FromInt(0)) return NULL;
|
| + return reinterpret_cast<HeapObject*>(prototype_transitions);
|
| +}
|
| +
|
| +
|
| +void TransitionArray::set_prototype_transitions(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(
|
|
|