diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/objects/js-array.tq | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/objects/js-array.tq')
-rw-r--r-- | chromium/v8/src/objects/js-array.tq | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/chromium/v8/src/objects/js-array.tq b/chromium/v8/src/objects/js-array.tq index 0cba7203a5c..dcffc68cba0 100644 --- a/chromium/v8/src/objects/js-array.tq +++ b/chromium/v8/src/objects/js-array.tq @@ -2,10 +2,28 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +extern enum IterationKind extends uint31 +constexpr 'IterationKind' { kKeys, kValues, kEntries } + extern class JSArrayIterator extends JSObject { iterated_object: JSReceiver; next_index: Number; - kind: Smi; + kind: SmiTagged<IterationKind>; +} + +// Perform CreateArrayIterator (ES #sec-createarrayiterator). +@export +macro CreateArrayIterator(implicit context: NativeContext)( + array: JSReceiver, kind: constexpr IterationKind): JSArrayIterator { + return new JSArrayIterator{ + map: UnsafeCast<Map>( + context[NativeContextSlot::INITIAL_ARRAY_ITERATOR_MAP_INDEX]), + properties_or_hash: kEmptyFixedArray, + elements: kEmptyFixedArray, + iterated_object: array, + next_index: 0, + kind: SmiTag<IterationKind>(kind) + }; } extern class JSArray extends JSObject { |