Chromium Code Reviews| 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; |