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