| 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;
 | 
| 
 |