Line data Source code
1 : // Copyright 2018 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #ifndef V8_OBJECTS_EMBEDDER_DATA_ARRAY_INL_H_
6 : #define V8_OBJECTS_EMBEDDER_DATA_ARRAY_INL_H_
7 :
8 : #include "src/objects/embedder-data-array.h"
9 :
10 : #include "src/objects/instance-type-inl.h"
11 : #include "src/objects/maybe-object-inl.h"
12 :
13 : // Has to be the last include (doesn't have include guards):
14 : #include "src/objects/object-macros.h"
15 :
16 : namespace v8 {
17 : namespace internal {
18 :
19 : CAST_ACCESSOR(EmbedderDataArray)
20 :
21 767304 : SMI_ACCESSORS(EmbedderDataArray, length, kLengthOffset)
22 :
23 : OBJECT_CONSTRUCTORS_IMPL(EmbedderDataArray, HeapObject)
24 :
25 : Address EmbedderDataArray::slots_start() {
26 181695 : return FIELD_ADDR(*this, OffsetOfElementAt(0));
27 : }
28 :
29 : Address EmbedderDataArray::slots_end() {
30 60565 : return FIELD_ADDR(*this, OffsetOfElementAt(length()));
31 : }
32 :
33 : } // namespace internal
34 : } // namespace v8
35 :
36 : #include "src/objects/object-macros-undef.h"
37 :
38 : #endif // V8_OBJECTS_EMBEDDER_DATA_ARRAY_INL_H_
|