Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index c479a14aa07eec86c620b40fdfef1f4229aa35f4..3db5c739133583c18b0add8ed5ad4f7828f4c24d 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -4807,6 +4807,8 @@ class Map: public HeapObject { |
inline void SetBackPointer(Object* value, |
WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
+ inline void init_back_pointer(Object* undefined); |
Michael Starzinger
2012/07/06 13:53:18
Lets make that a camel-case method (i.e. Initializ
Toon Verwaest
2012/07/09 12:45:27
As discussed offline, will leave as is. Not comple
|
+ |
// [prototype transitions]: cache of prototype transitions. |
// Prototype transition is a transition that happens |
// when we change object's prototype to a new one. |
@@ -4815,14 +4817,16 @@ class Map: public HeapObject { |
// 1: back pointer that overlaps with prototype transitions field. |
// 2 + 2 * i: prototype |
// 3 + 2 * i: target map |
- DECL_ACCESSORS(prototype_transitions, FixedArray) |
+ inline FixedArray* prototype_transitions(); |
+ MUST_USE_RESULT inline MaybeObject* set_prototype_transitions( |
+ FixedArray* prototype_transitions); |
+ inline bool HasPrototypeTransitions(); |
- inline void init_prototype_transitions(Object* undefined); |
inline HeapObject* unchecked_prototype_transitions(); |
+ inline TransitionArray* unchecked_transition_array(); |
- static const int kProtoTransitionHeaderSize = 2; |
+ static const int kProtoTransitionHeaderSize = 1; |
static const int kProtoTransitionNumberOfEntriesOffset = 0; |
- static const int kProtoTransitionBackPointerOffset = 1; |
static const int kProtoTransitionElementsPerEntry = 2; |
static const int kProtoTransitionPrototypeOffset = 0; |
static const int kProtoTransitionMapOffset = 1; |
@@ -4995,17 +4999,16 @@ class Map: public HeapObject { |
kConstructorOffset + kPointerSize; |
static const int kCodeCacheOffset = |
kInstanceDescriptorsOrBitField3Offset + kPointerSize; |
- static const int kPrototypeTransitionsOrBackPointerOffset = |
+ static const int kBackPointerOffset = |
Michael Starzinger
2012/07/06 13:53:18
This should fit in one line now?
Toon Verwaest
2012/07/09 12:45:27
Done.
|
kCodeCacheOffset + kPointerSize; |
static const int kPadStart = |
Michael Starzinger
2012/07/06 13:53:18
Likewise.
Toon Verwaest
2012/07/09 12:45:27
Done.
|
- kPrototypeTransitionsOrBackPointerOffset + kPointerSize; |
+ kBackPointerOffset + kPointerSize; |
static const int kSize = MAP_POINTER_ALIGN(kPadStart); |
// Layout of pointer fields. Heap iteration code relies on them |
// being continuously allocated. |
static const int kPointerFieldsBeginOffset = Map::kPrototypeOffset; |
- static const int kPointerFieldsEndOffset = |
- kPrototypeTransitionsOrBackPointerOffset + kPointerSize; |
+ static const int kPointerFieldsEndOffset = kBackPointerOffset + kPointerSize; |
// Byte offsets within kInstanceSizesOffset. |
static const int kInstanceSizeOffset = kInstanceSizesOffset + 0; |