Lines Matching full:map
18 // TransitionArrays are fixed arrays used to hold map transitions for property,
20 // property transition are stored inline (i.e. the target map is stored
24 // map. In the case of a simple transition, the key is also read from the
25 // descriptor array of the target map.
37 // Insert a new transition into |map|'s transition array, extending it
39 static void Insert(Handle<Map> map, Handle<Name> name, Handle<Map> target,
42 static Map* SearchTransition(Map* map, PropertyKind kind, Name* name,
44 static MaybeHandle<Map> SearchTransition(Handle<Map> map, PropertyKind kind, in SearchTransition() argument
47 if (Map* transition = SearchTransition(*map, kind, *name, attributes)) { in SearchTransition()
50 return MaybeHandle<Map>(); in SearchTransition()
53 static Map* SearchSpecial(Map* map, Symbol* name);
55 static Handle<Map> FindTransitionToField(Handle<Map> map, Handle<Name> name);
57 static Handle<String> ExpectedTransitionKey(Handle<Map> map);
59 static Handle<Map> ExpectedTransitionTarget(Handle<Map> map) { in ExpectedTransitionTarget() argument
60 DCHECK(!ExpectedTransitionKey(map).is_null()); in ExpectedTransitionTarget()
61 return Handle<Map>(GetSimpleTransition(map->raw_transitions())); in ExpectedTransitionTarget()
77 static inline Map* GetSimpleTransition(Object* raw_transition) { in GetSimpleTransition()
80 return Map::cast(WeakCell::cast(raw_transition)->value()); in GetSimpleTransition()
89 static bool CanHaveMoreTransitions(Handle<Map> map);
93 // need a new map for the object (the prototype is stored in the map). In
95 // the original map. That way we can transition to the same map if the same
96 // prototype is set, rather than creating a new map every time. The
97 // transitions are in the form of a map where the keys are prototype objects
101 // 1 + i: target map
103 static void PutPrototypeTransition(Handle<Map> map, Handle<Object> prototype,
104 Handle<Map> target_map);
106 static Handle<Map> GetPrototypeTransition(Handle<Map> map,
109 static FixedArray* GetPrototypeTransitions(Map* map);
116 static int NumberOfPrototypeTransitionsForTest(Map* map);
128 typedef void (*TraverseCallback)(Map* map, void* data);
131 static void TraverseTransitionTree(Map* map, TraverseCallback callback, in TraverseTransitionTree() argument
135 TraverseTransitionTreeInternal(map, callback, data); in TraverseTransitionTree()
151 static inline Map* GetTarget(Object* raw_transitions, int transition_number);
152 inline Map* GetTarget(int transition_number);
153 inline void SetTarget(int transition_number, Map* target);
155 static inline PropertyDetails GetTargetDetails(Name* name, Map* target);
194 static bool IsSortedNoDuplicates(Map* map);
195 static bool IsConsistentWithBackPointers(Map* map);
216 // Layout of map transition entries in full transition arrays.
248 static void EnsureHasFullTransitionArray(Handle<Map> map);
249 static void ReplaceTransitions(Handle<Map> map, Object* new_transitions);
270 static inline PropertyDetails GetSimpleTargetDetails(Map* transition) { in GetSimpleTargetDetails()
274 static inline Name* GetSimpleTransitionKey(Map* transition) { in GetSimpleTransitionKey()
279 static void TraverseTransitionTreeInternal(Map* map,
283 static void SetPrototypeTransitions(Handle<Map> map,
310 inline void Set(int transition_number, Name* key, Map* target);
313 static void CheckNewTransitionsAreConsistent(Handle<Map> map,