Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 75573fce9212db1c82c48df780e3cdea5254586f..3ec5924fde6a9601ddbde9ff27581f723ae0b8f8 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -280,7 +280,11 @@ enum DebugExtraICState { |
// Indicates whether the transition is simple: the target map of the transition |
// either extends the current map with a new property, or it modifies the |
// property that was added last to the current map. |
-enum SimpleTransitionFlag { SIMPLE_TRANSITION, FULL_TRANSITION }; |
+enum SimpleTransitionFlag { |
+ SIMPLE_PROPERTY_TRANSITION, |
+ PROPERTY_TRANSITION, |
+ SPECIAL_TRANSITION |
+}; |
// Indicates whether we are only interested in the descriptors of a particular |
@@ -5824,7 +5828,9 @@ class Map: public HeapObject { |
inline Map* elements_transition_map(); |
inline Map* GetTransition(int transition_index); |
- inline int SearchTransition(Name* name); |
+ inline int SearchSpecialTransition(Symbol* name); |
+ inline int SearchTransition(PropertyType type, Name* name, |
+ PropertyAttributes attributes); |
inline FixedArrayBase* GetInitialElements(); |
DECL_ACCESSORS(transitions, TransitionArray) |
@@ -5979,6 +5985,7 @@ class Map: public HeapObject { |
LookupResult* result); |
inline void LookupTransition(JSObject* holder, Name* name, |
+ PropertyAttributes attributes, |
LookupResult* result); |
inline PropertyDetails GetLastDescriptorDetails(); |
@@ -6369,7 +6376,8 @@ class Map: public HeapObject { |
Handle<Map> map, Handle<DescriptorArray> descriptors, |
Handle<LayoutDescriptor> layout_descriptor, TransitionFlag flag, |
MaybeHandle<Name> maybe_name, const char* reason, |
- SimpleTransitionFlag simple_flag = FULL_TRANSITION); |
+ SimpleTransitionFlag simple_flag); |
+ |
static Handle<Map> CopyReplaceDescriptor(Handle<Map> map, |
Handle<DescriptorArray> descriptors, |
Descriptor* descriptor, |
@@ -6397,7 +6405,9 @@ class Map: public HeapObject { |
void ZapTransitions(); |
void DeprecateTransitionTree(); |
- bool DeprecateTarget(Name* key, DescriptorArray* new_descriptors, |
+ bool DeprecateTarget(PropertyType type, Name* key, |
+ PropertyAttributes attributes, |
+ DescriptorArray* new_descriptors, |
LayoutDescriptor* new_layout_descriptor); |
Map* FindLastMatchMap(int verbatim, int length, DescriptorArray* descriptors); |