diff options
Diffstat (limited to 'chromium/v8/src/builtins/base.tq')
-rw-r--r-- | chromium/v8/src/builtins/base.tq | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/chromium/v8/src/builtins/base.tq b/chromium/v8/src/builtins/base.tq index 20c4f4b9e03..3f5029834db 100644 --- a/chromium/v8/src/builtins/base.tq +++ b/chromium/v8/src/builtins/base.tq @@ -844,6 +844,8 @@ macro AllowNonNumberElements(kind: ElementsKind): ElementsKind { extern macro AllocateZeroedFixedArray(intptr): FixedArray; extern macro AllocateZeroedFixedDoubleArray(intptr): FixedDoubleArray; +extern macro CalculateNewElementsCapacity(Smi): Smi; + extern macro CopyFixedArrayElements( constexpr ElementsKind, FixedArray, constexpr ElementsKind, FixedArray, intptr, intptr, intptr): void; @@ -879,6 +881,36 @@ extern macro ExtractFixedArray( extern builtin ExtractFastJSArray(Context, JSArray, Smi, Smi): JSArray; +extern macro MoveElements( + constexpr ElementsKind, FixedArrayBase, intptr, intptr, intptr): void; +macro TorqueMoveElements( + elements: FixedArray, dstIndex: intptr, srcIndex: intptr, + count: intptr): void { + MoveElements(HOLEY_ELEMENTS, elements, dstIndex, srcIndex, count); +} +macro TorqueMoveElements( + elements: FixedDoubleArray, dstIndex: intptr, srcIndex: intptr, + count: intptr): void { + MoveElements(HOLEY_DOUBLE_ELEMENTS, elements, dstIndex, srcIndex, count); +} + +extern macro CopyElements( + constexpr ElementsKind, FixedArrayBase, intptr, FixedArrayBase, intptr, + intptr): void; +macro TorqueCopyElements( + dstElements: FixedArray, dstIndex: intptr, srcElements: FixedArray, + srcIndex: intptr, count: intptr): void { + CopyElements( + HOLEY_ELEMENTS, dstElements, dstIndex, srcElements, srcIndex, count); +} +macro TorqueCopyElements( + dstElements: FixedDoubleArray, dstIndex: intptr, + srcElements: FixedDoubleArray, srcIndex: intptr, count: intptr): void { + CopyElements( + HOLEY_DOUBLE_ELEMENTS, dstElements, dstIndex, srcElements, srcIndex, + count); +} + macro LoadElementNoHole<T: type>(a: JSArray, index: Smi): Object labels IfHole; |