| Index: src/transitions-inl.h
|
| diff --git a/src/transitions-inl.h b/src/transitions-inl.h
|
| index f31eff96ba19e6e8e1dca0f1a4b3ee0c7c654a53..870c8e7c0696a58400173c4dd056c34baca2e42e 100644
|
| --- a/src/transitions-inl.h
|
| +++ b/src/transitions-inl.h
|
| @@ -47,6 +47,12 @@ Object** TransitionArray::GetKeySlot(int transition_number) {
|
| }
|
|
|
|
|
| +Object** TransitionArray::GetTargetSlot(int transition_number) {
|
| + DCHECK(transition_number < number_of_transitions());
|
| + return RawFieldOfElementAt(ToTargetIndex(transition_number));
|
| +}
|
| +
|
| +
|
| Name* TransitionArray::GetKey(int transition_number) {
|
| DCHECK(transition_number < number_of_transitions());
|
| return Name::cast(get(ToKeyIndex(transition_number)));
|
| @@ -71,7 +77,8 @@ void TransitionArray::SetKey(int transition_number, Name* key) {
|
|
|
| Map* TransitionArray::GetTarget(int transition_number) {
|
| DCHECK(transition_number < number_of_transitions());
|
| - return Map::cast(get(ToTargetIndex(transition_number)));
|
| + WeakCell* cell = GetTargetCell(transition_number);
|
| + return Map::cast(cell->value());
|
| }
|
|
|
|
|
| @@ -86,7 +93,13 @@ Map* TransitionArray::GetTarget(Object* raw_transitions,
|
| }
|
|
|
|
|
| -void TransitionArray::SetTarget(int transition_number, Map* value) {
|
| +WeakCell* TransitionArray::GetTargetCell(int transition_number) {
|
| + DCHECK(transition_number < number_of_transitions());
|
| + return WeakCell::cast(get(ToTargetIndex(transition_number)));
|
| +}
|
| +
|
| +
|
| +void TransitionArray::SetTargetCell(int transition_number, WeakCell* value) {
|
| DCHECK(transition_number < number_of_transitions());
|
| set(ToTargetIndex(transition_number), value);
|
| }
|
| @@ -158,13 +171,9 @@ PropertyDetails TransitionArray::GetTargetDetails(Name* name, Map* target) {
|
| }
|
|
|
|
|
| -void TransitionArray::NoIncrementalWriteBarrierSet(int transition_number,
|
| - Name* key,
|
| - Map* target) {
|
| - FixedArray::NoIncrementalWriteBarrierSet(
|
| - this, ToKeyIndex(transition_number), key);
|
| - FixedArray::NoIncrementalWriteBarrierSet(
|
| - this, ToTargetIndex(transition_number), target);
|
| +void TransitionArray::Set(int transition_number, Name* key, WeakCell* target) {
|
| + set(ToKeyIndex(transition_number), key);
|
| + set(ToTargetIndex(transition_number), target);
|
| }
|
|
|
|
|
|
|