Index: src/transitions-inl.h |
diff --git a/src/transitions-inl.h b/src/transitions-inl.h |
index 17c42edce2e50daf51a7a9c212cf33e4cde30807..5030616e4ea4ecc21bcf1092f80c753e0f849eb8 100644 |
--- a/src/transitions-inl.h |
+++ b/src/transitions-inl.h |
@@ -69,14 +69,12 @@ void TransitionArray::ClearElementsTransition() { |
bool TransitionArray::HasElementsTransition() { |
- return IsFullTransitionArray() && |
- get(kElementsTransitionIndex) != Smi::FromInt(0); |
+ return get(kElementsTransitionIndex) != Smi::FromInt(0); |
} |
void TransitionArray::set_elements_transition(Map* transition_map, |
WriteBarrierMode mode) { |
- ASSERT(IsFullTransitionArray()); |
Heap* heap = GetHeap(); |
WRITE_FIELD(this, kElementsTransitionOffset, transition_map); |
CONDITIONAL_WRITE_BARRIER( |
@@ -123,13 +121,12 @@ void TransitionArray::set_back_pointer_storage(Object* back_pointer, |
bool TransitionArray::HasPrototypeTransitions() { |
- return IsFullTransitionArray() && |
- get(kPrototypeTransitionsIndex) != Smi::FromInt(0); |
+ Object* prototype_transitions = get(kPrototypeTransitionsIndex); |
+ return prototype_transitions != Smi::FromInt(0); |
} |
FixedArray* TransitionArray::GetPrototypeTransitions() { |
- ASSERT(IsFullTransitionArray()); |
Object* prototype_transitions = get(kPrototypeTransitionsIndex); |
return FixedArray::cast(prototype_transitions); |
} |
@@ -143,7 +140,7 @@ HeapObject* TransitionArray::UncheckedPrototypeTransitions() { |
void TransitionArray::SetPrototypeTransitions(FixedArray* transitions, |
WriteBarrierMode mode) { |
- ASSERT(IsFullTransitionArray()); |
+ ASSERT(this != NULL); |
ASSERT(transitions->IsFixedArray()); |
Heap* heap = GetHeap(); |
WRITE_FIELD(this, kPrototypeTransitionsOffset, transitions); |
@@ -159,7 +156,6 @@ Object** TransitionArray::GetPrototypeTransitionsSlot() { |
Object** TransitionArray::GetKeySlot(int transition_number) { |
- ASSERT(!IsSimpleTransition()); |
ASSERT(transition_number < number_of_transitions()); |
return HeapObject::RawField( |
reinterpret_cast<HeapObject*>(this), |
@@ -168,39 +164,24 @@ Object** TransitionArray::GetKeySlot(int transition_number) { |
String* TransitionArray::GetKey(int transition_number) { |
- if (IsSimpleTransition()) { |
- Map* target = GetTarget(kSimpleTransitionIndex); |
- int descriptor = target->LastAdded(); |
- String* key = target->instance_descriptors()->GetKey(descriptor); |
- return key; |
- } |
ASSERT(transition_number < number_of_transitions()); |
return String::cast(get(ToKeyIndex(transition_number))); |
} |
void TransitionArray::SetKey(int transition_number, String* key) { |
- ASSERT(!IsSimpleTransition()); |
ASSERT(transition_number < number_of_transitions()); |
set(ToKeyIndex(transition_number), key); |
} |
Map* TransitionArray::GetTarget(int transition_number) { |
- if (IsSimpleTransition()) { |
- ASSERT(transition_number == kSimpleTransitionIndex); |
- return Map::cast(get(kSimpleTransitionTarget)); |
- } |
ASSERT(transition_number < number_of_transitions()); |
return Map::cast(get(ToTargetIndex(transition_number))); |
} |
void TransitionArray::SetTarget(int transition_number, Map* value) { |
- if (IsSimpleTransition()) { |
- ASSERT(transition_number == kSimpleTransitionIndex); |
- return set(kSimpleTransitionTarget, value); |
- } |
ASSERT(transition_number < number_of_transitions()); |
set(ToTargetIndex(transition_number), value); |
} |