Index: src/transitions.h |
diff --git a/src/transitions.h b/src/transitions.h |
index 5abdf99f8c3cdbf72bb5650f6691a5834ff06f39..76d8bd3d5acfe20bf4d3eb28468f4a35b3051c4e 100644 |
--- a/src/transitions.h |
+++ b/src/transitions.h |
@@ -46,22 +46,33 @@ namespace internal { |
// [length() - kTransitionSize] Last transition |
class TransitionArray: public FixedArray { |
public: |
- inline Map* elements_transition(); |
- inline void set_elements_transition( |
- Map* value, |
- WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
- inline void ClearElementsTransition(); |
- inline bool HasElementsTransition(); |
// Accessors for fetching instance transition at transition number. |
inline String* GetKey(int transition_number); |
- inline Object** GetKeySlot(int transition_number); |
inline void SetKey(int transition_number, String* value); |
+ inline Object** GetKeySlot(int transition_number); |
+ |
inline Object* GetValue(int transition_number); |
- inline Object** GetValueSlot(int transition_number); |
inline void SetValue(int transition_number, Object* value); |
+ inline Object** GetValueSlot(int transition_number); |
+ |
inline Map* GetTargetMap(int transition_number); |
inline PropertyDetails GetTargetDetails(int transition_number); |
+ |
+ inline Map* elements_transition(); |
+ inline void set_elements_transition( |
+ Map* value, |
+ WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
inline Object** GetElementsSlot(); |
Michael Starzinger
2012/07/09 16:40:55
Let's name that GetElementsTransitionSlot() instea
|
+ inline bool HasElementsTransition(); |
+ inline void ClearElementsTransition(); |
+ |
+ inline FixedArray* GetPrototypeTransitions(); |
+ inline void SetPrototypeTransitions( |
+ FixedArray* prototype_transitions, |
+ WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
+ inline Object** GetPrototypeTransitionsSlot(); |
+ inline bool HasPrototypeTransitions(); |
+ inline HeapObject* UncheckedPrototypeTransitions(); |
// Returns the number of transitions in the array. |
int number_of_transitions() { |
@@ -99,11 +110,14 @@ class TransitionArray: public FixedArray { |
static const int kNotFound = -1; |
static const int kElementsTransitionIndex = 0; |
- static const int kFirstIndex = 1; |
+ static const int kPrototypeTransitionsIndex = 1; |
+ static const int kFirstIndex = 2; |
// Layout transition array header. |
static const int kElementsTransitionOffset = FixedArray::kHeaderSize; |
- static const int kFirstOffset = kElementsTransitionOffset + kPointerSize; |
+ static const int kPrototypeTransitionsOffset = kElementsTransitionOffset + |
+ kPointerSize; |
+ static const int kFirstOffset = kPrototypeTransitionsOffset + kPointerSize; |
// Layout of map transition. |
static const int kTransitionKey = 0; |