diff options
Diffstat (limited to 'deps/v8/src/objects/struct-inl.h')
-rw-r--r-- | deps/v8/src/objects/struct-inl.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/deps/v8/src/objects/struct-inl.h b/deps/v8/src/objects/struct-inl.h index 8a5b53efbb..9502698058 100644 --- a/deps/v8/src/objects/struct-inl.h +++ b/deps/v8/src/objects/struct-inl.h @@ -8,7 +8,9 @@ #include "src/objects/struct.h" #include "src/heap/heap-write-barrier-inl.h" +#include "src/objects-inl.h" #include "src/objects/oddball.h" +#include "src/roots-inl.h" // Has to be the last include (doesn't have include guards): #include "src/objects/object-macros.h" @@ -23,15 +25,19 @@ Tuple2::Tuple2(Address ptr) : Struct(ptr) {} Tuple3::Tuple3(Address ptr) : Tuple2(ptr) {} OBJECT_CONSTRUCTORS_IMPL(AccessorPair, Struct) +OBJECT_CONSTRUCTORS_IMPL(ClassPositions, Struct) + CAST_ACCESSOR(AccessorPair) CAST_ACCESSOR(Struct) CAST_ACCESSOR(Tuple2) CAST_ACCESSOR(Tuple3) +CAST_ACCESSOR(ClassPositions) + void Struct::InitializeBody(int object_size) { Object value = GetReadOnlyRoots().undefined_value(); - for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) { - WRITE_FIELD(this, offset, value); + for (int offset = kHeaderSize; offset < object_size; offset += kTaggedSize) { + WRITE_FIELD(*this, offset, value); } } @@ -42,6 +48,9 @@ ACCESSORS(Tuple3, value3, Object, kValue3Offset) ACCESSORS(AccessorPair, getter, Object, kGetterOffset) ACCESSORS(AccessorPair, setter, Object, kSetterOffset) +SMI_ACCESSORS(ClassPositions, start, kStartOffset) +SMI_ACCESSORS(ClassPositions, end, kEndOffset) + Object AccessorPair::get(AccessorComponent component) { return component == ACCESSOR_GETTER ? getter() : setter(); } |