Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1040)

Unified Diff: src/transitions.h

Issue 661133002: TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have … (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
« no previous file with comments | « src/objects-printer.cc ('k') | src/transitions.cc » ('j') | src/transitions-inl.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698