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