| Index: src/transitions.h
|
| diff --git a/src/transitions.h b/src/transitions.h
|
| index b0aab9502e5d2e08dd810ae16aac23cc5edd7bf5..9e14279757082432569da63df82e7875caa12694 100644
|
| --- a/src/transitions.h
|
| +++ b/src/transitions.h
|
| @@ -71,6 +71,11 @@ class TransitionArray: public FixedArray {
|
| DCHECK(raw_transition->IsWeakCell());
|
| return Map::cast(WeakCell::cast(raw_transition)->value());
|
| }
|
| + static inline WeakCell* GetSimpleTransitionCell(Object* raw_transition) {
|
| + DCHECK(IsSimpleTransition(raw_transition));
|
| + DCHECK(raw_transition->IsWeakCell());
|
| + return WeakCell::cast(raw_transition);
|
| + }
|
| static inline bool IsFullTransitionArray(Object* raw_transitions) {
|
| return raw_transitions->IsTransitionArray();
|
| }
|
| @@ -135,6 +140,7 @@ class TransitionArray: public FixedArray {
|
| inline Name* GetKey(int transition_number);
|
| inline void SetKey(int transition_number, Name* value);
|
| inline Object** GetKeySlot(int transition_number);
|
| + inline Object** GetTargetSlot(int transition_number);
|
| int GetSortedKeyIndex(int transition_number) { return transition_number; }
|
|
|
| Name* GetSortedKey(int transition_number) {
|
| @@ -143,7 +149,9 @@ class TransitionArray: public FixedArray {
|
|
|
| static inline Map* GetTarget(Object* raw_transitions, int transition_number);
|
| inline Map* GetTarget(int transition_number);
|
| - inline void SetTarget(int transition_number, Map* target);
|
| +
|
| + inline WeakCell* GetTargetCell(int transition_number);
|
| + inline void SetTargetCell(int transition_number, WeakCell* target);
|
|
|
| static inline PropertyDetails GetTargetDetails(Name* name, Map* target);
|
|
|
| @@ -283,14 +291,11 @@ class TransitionArray: public FixedArray {
|
| PropertyKind kind2,
|
| PropertyAttributes attributes2);
|
|
|
| - inline void NoIncrementalWriteBarrierSet(int transition_number,
|
| - Name* key,
|
| - Map* target);
|
| + inline void Set(int transition_number, Name* key, WeakCell* target_cell);
|
|
|
| // Copy a single transition from the origin array.
|
| - inline void NoIncrementalWriteBarrierCopyFrom(TransitionArray* origin,
|
| - int origin_transition,
|
| - int target_transition);
|
| + inline void CopyFrom(TransitionArray* origin, int origin_transition,
|
| + int target_transition);
|
|
|
| #ifdef DEBUG
|
| static void CheckNewTransitionsAreConsistent(Handle<Map> map,
|
|
|