Index: src/transitions.h |
diff --git a/src/transitions.h b/src/transitions.h |
index 4cac2ff3da79a1618704e3ca90228ca59aa70582..deda90ad6030786964d2753523b5351a24368df0 100644 |
--- a/src/transitions.h |
+++ b/src/transitions.h |
@@ -165,8 +165,11 @@ class TransitionArray: public FixedArray { |
static int Capacity(Object* raw_transitions); |
- // Casting. |
- static inline TransitionArray* cast(Object* obj); |
+ inline static TransitionArray* cast(Object* object); |
+ |
+ // This field should be used only by GC. |
+ inline void set_next_link(Object* next, WriteBarrierMode mode); |
+ inline Object* next_link(); |
static const int kTransitionSize = 2; |
static const int kProtoTransitionHeaderSize = 1; |
@@ -180,6 +183,14 @@ class TransitionArray: public FixedArray { |
bool print_header = true); // NOLINT |
#endif |
+#ifdef OBJECT_PRINT |
+ void TransitionArrayPrint(std::ostream& os); // NOLINT |
+#endif |
+ |
+#ifdef VERIFY_HEAP |
+ void TransitionArrayVerify(); |
+#endif |
+ |
#ifdef DEBUG |
bool IsSortedNoDuplicates(int valid_entries = -1); |
static bool IsSortedNoDuplicates(Map* map); |
@@ -199,9 +210,10 @@ class TransitionArray: public FixedArray { |
private: |
// Layout for full transition arrays. |
- static const int kPrototypeTransitionsIndex = 0; |
- static const int kTransitionLengthIndex = 1; |
- static const int kFirstIndex = 2; |
+ static const int kNextLinkIndex = 0; |
+ static const int kPrototypeTransitionsIndex = 1; |
+ static const int kTransitionLengthIndex = 2; |
+ static const int kFirstIndex = 3; |
// Layout of map transition entries in full transition arrays. |
static const int kTransitionKey = 0; |
@@ -304,6 +316,7 @@ class TransitionArray: public FixedArray { |
TransitionArray* old_transitions, |
Object* transitions); |
#endif |
+ static void ZapTransitionArray(TransitionArray* transitions); |
DISALLOW_IMPLICIT_CONSTRUCTORS(TransitionArray); |
}; |