28 #ifndef V8_TRANSITIONS_H_
29 #define V8_TRANSITIONS_H_
63 inline void SetKey(
int transition_number,
String* value);
68 return GetKey(transition_number);
72 inline void SetTarget(
int transition_number,
Map* target);
121 int origin_transition,
122 int target_transition);
167 inline void PrintTransitions() {
168 PrintTransitions(stdout);
170 void PrintTransitions(FILE* out);
174 bool IsSortedNoDuplicates(
int valid_entries = -1);
175 bool IsConsistentWithBackPointers(
Map* current_map);
185 static int ToKeyIndex(
int transition_number) {
191 static int ToTargetIndex(
int transition_number) {
197 inline void NoIncrementalWriteBarrierSet(
int transition_number,
201 DISALLOW_IMPLICIT_CONSTRUCTORS(TransitionArray);
207 #endif // V8_TRANSITIONS_H_
Map * elements_transition()
static MUST_USE_RESULT MaybeObject * Allocate(int number_of_transitions)
STATIC_ASSERT(kSimpleTransitionIndex!=kNotFound)
HeapObject * UncheckedPrototypeTransitions()
static const int kElementsTransitionOffset
static const int kPrototypeTransitionsIndex
bool IsFullTransitionArray()
void SetKey(int transition_number, String *value)
static const int kElementsTransitionIndex
void NoIncrementalWriteBarrierCopyFrom(TransitionArray *origin, int origin_transition, int target_transition)
static const int kSimpleTransitionTarget
void ClearElementsTransition()
Object ** GetPrototypeTransitionsSlot()
static const int kTransitionSize
static const int kNotFound
bool HasPrototypeTransitions()
int number_of_transitions()
void SetPrototypeTransitions(FixedArray *prototype_transitions, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
MUST_USE_RESULT MaybeObject * CopyInsert(String *name, Map *target)
static const int kTransitionKey
static const int kSimpleTransitionIndex
String * GetKey(int transition_number)
static TransitionArray * cast(Object *obj)
static const int kBackPointerStorageOffset
static const int kHeaderSize
static MUST_USE_RESULT MaybeObject * NewWith(SimpleTransitionFlag flag, String *key, Map *target, Object *back_pointer)
bool IsSimpleTransition()
bool HasElementsTransition()
static const int kSimpleTransitionSize
static const int kTransitionTarget
Map * GetTarget(int transition_number)
static const int kFirstIndex
static const int kBackPointerStorageIndex
void set_back_pointer_storage(Object *back_pointer, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
FixedArray * GetPrototypeTransitions()
Object * back_pointer_storage()
static const int kMaxNumberOfTransitions
static const int kPrototypeTransitionsOffset
String * GetSortedKey(int transition_number)
void set_elements_transition(Map *target, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
Object ** GetKeySlot(int transition_number)
void SetTarget(int transition_number, Map *target)
MUST_USE_RESULT MaybeObject * ExtendToFullTransitionArray()
PropertyDetails GetTargetDetails(int transition_number)
int GetSortedKeyIndex(int transition_number)
kPropertyAccessorsOffset kNamedPropertyHandlerOffset kInstanceTemplateOffset kAccessCheckInfoOffset kEvalFrominstructionsOffsetOffset kInstanceClassNameOffset flag