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_ELEMENTS_INL_H_
6 : #define V8_ELEMENTS_INL_H_
7 :
8 : #include "src/elements.h"
9 :
10 : #include "src/handles-inl.h"
11 : #include "src/objects-inl.h"
12 :
13 : namespace v8 {
14 : namespace internal {
15 :
16 1228748 : inline void ElementsAccessor::CollectElementIndices(Handle<JSObject> object,
17 : KeyAccumulator* keys) {
18 : CollectElementIndices(object, handle(object->elements(), keys->isolate()),
19 2457496 : keys);
20 1228748 : }
21 :
22 142712 : inline MaybeHandle<FixedArray> ElementsAccessor::PrependElementIndices(
23 : Handle<JSObject> object, Handle<FixedArray> keys, GetKeysConversion convert,
24 : PropertyFilter filter) {
25 : return PrependElementIndices(object,
26 : handle(object->elements(), object->GetIsolate()),
27 285424 : keys, convert, filter);
28 : }
29 :
30 : inline bool ElementsAccessor::HasElement(JSObject holder, uint32_t index,
31 : PropertyFilter filter) {
32 0 : return HasElement(holder, index, holder->elements(), filter);
33 : }
34 :
35 : } // namespace internal
36 : } // namespace v8
37 :
38 : #endif // V8_ELEMENTS_INL_H_
|