| Index: src/transitions.h
 | 
| diff --git a/src/transitions.h b/src/transitions.h
 | 
| index 2f2b2f2103cf5f9ccdd1a222939c5c8535128544..220755b59218956799366c516a9532fe07249565 100644
 | 
| --- a/src/transitions.h
 | 
| +++ b/src/transitions.h
 | 
| @@ -87,8 +87,18 @@ class TransitionArray: public FixedArray {
 | 
|                                              Handle<Map> target,
 | 
|                                              SimpleTransitionFlag flag);
 | 
|  
 | 
| -  // Search a transition for a given property name.
 | 
| -  inline int Search(Name* name);
 | 
| +  // Search a  transition for a given type, property name and attributes.
 | 
| +  int Search(PropertyType type, Name* name, PropertyAttributes attributes);
 | 
| +
 | 
| +  // Search a non-property transition (like elements kind, observe or frozen
 | 
| +  // transitions).
 | 
| +  inline int SearchSpecial(Symbol* symbol) { return SearchFirst(symbol); }
 | 
| +
 | 
| +  // Returns true for a non-property transitions like elements kind, observed
 | 
| +  // or frozen transitions.
 | 
| +  inline static bool IsSpecialTransition(Name* name);
 | 
| +
 | 
| +  inline static PropertyDetails GetTargetDetails(Name* name, Map* target);
 | 
|  
 | 
|    // Allocates a TransitionArray.
 | 
|    static Handle<TransitionArray> Allocate(
 | 
| @@ -177,6 +187,11 @@ class TransitionArray: public FixedArray {
 | 
|                                           Handle<Map> target,
 | 
|                                           SimpleTransitionFlag flag);
 | 
|  
 | 
| +  // Search a first transition for a given property name.
 | 
| +  inline int SearchFirst(Name* name);
 | 
| +  int SearchNext(int transition, PropertyType type, Name* name,
 | 
| +                 PropertyAttributes attributes);
 | 
| +
 | 
|    inline void NoIncrementalWriteBarrierSet(int transition_number,
 | 
|                                             Name* key,
 | 
|                                             Map* target);
 | 
| 
 |