Index: src/transitions.h |
diff --git a/src/transitions.h b/src/transitions.h |
index 57f32535a5a01ebd938ca80513e4ddfe86fa3ea2..b0443970f613da27fbed09f3edda71512d61ae29 100644 |
--- a/src/transitions.h |
+++ b/src/transitions.h |
@@ -63,6 +63,16 @@ class TransitionArray: public FixedArray { |
inline bool HasElementsTransition(); |
inline void ClearElementsTransition(); |
+ inline DescriptorArray* descriptors(); |
+ inline void set_descriptors(DescriptorArray* descriptors, |
+ WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
+ inline Object** GetDescriptorsSlot(); |
+ |
+ inline Object* back_pointer_storage(); |
+ inline void set_back_pointer_storage( |
+ Object* back_pointer, |
+ WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
+ |
inline FixedArray* GetPrototypeTransitions(); |
inline void SetPrototypeTransitions( |
FixedArray* prototype_transitions, |
@@ -106,15 +116,20 @@ class TransitionArray: public FixedArray { |
// Constant for denoting key was not found. |
static const int kNotFound = -1; |
- static const int kElementsTransitionIndex = 0; |
- static const int kPrototypeTransitionsIndex = 1; |
- static const int kFirstIndex = 2; |
+ static const int kDescriptorsIndex = 0; |
+ static const int kBackPointerStorageIndex = 1; |
+ static const int kElementsTransitionIndex = 2; |
+ static const int kPrototypeTransitionsIndex = 3; |
+ static const int kFirstIndex = 4; |
// Layout transition array header. |
- static const int kElementsTransitionOffset = FixedArray::kHeaderSize; |
+ static const int kDescriptorsOffset = FixedArray::kHeaderSize; |
+ static const int kBackPointerStorageOffset = kDescriptorsOffset + |
+ kPointerSize; |
+ static const int kElementsTransitionOffset = kBackPointerStorageOffset + |
+ kPointerSize; |
static const int kPrototypeTransitionsOffset = kElementsTransitionOffset + |
kPointerSize; |
- static const int kFirstOffset = kPrototypeTransitionsOffset + kPointerSize; |
// Layout of map transition. |
static const int kTransitionKey = 0; |