From f006e96b5dfbed0f811ac4edccfe0a035f666854 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 11:13:27 -0500 Subject: [PATCH 01/11] add typedarray set macro --- std/assembly/internal/typedarray.ts | 87 +++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index a3f3f18533..293d6e2b2c 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -231,3 +231,90 @@ export function EVERY, T>( } return true; } + +@inline +export function SET, U extends number, SourceT>( + target: T, + source: SourceT, + offset: i32): void { + // assert target and source are not null + if (isReference(target)) { + assert(target != null, "TypeError: Target is null."); + } else { + assert(false, "TypeError: T is not a reference."); + } + + if (isReference(source)) { + assert(source != null, "TypeError: Source is null."); + } else { + assert(false, "TypeError: SourceT is not a reference."); + } + + // fast path: source has the same backing type as target + if (source instanceof T) { + // validate the lengths are within range + // @ts-ignore: Source is instanceof T and has a length property + let sourceLength = source.length; + let targetLength = target.length; + assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); + + // perform a memory.copy + memory.copy( + // store the data at the target pointer + byteOFfset + offset << alignOf() + target.buffer.data + target.byteOffset + (offset << alignof()), + // read the data from source pointer + byteOffset + // @ts-ignore: source has a buffer and a byteOffset property because it's instanceof T + source.buffer.data + source.byteOffset, + // @ts-ignore: store source.buffer.byteLength number of bytes + source.buffer.byteLength, + ); + + //TODO: When we can determine if Source is a TypedArray, we can use LOAD and STORE + // we can opt into a slightly faster version of the slow path + } else if (isArray(source)) { + // check to see if the offsets are in range + let sourceLength = source.length; + let targetLength = target.length; + assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); + + // cache the buffer and the byteOffset + let targetBuffer = target.buffer; + let targetByteOffset = target.byteOffset; + + // for each source value, write it to the ArrayBuffer + for (let i = 0; i < sourceLength; i++) { + STORE( + targetBuffer, + i + offset, + unchecked(source[i]), + targetByteOffset, + ); + } + } else { + // validate the lengths are within range + // @ts-ignore: source is assumed to have a length property + let sourceLength = source.length; + let targetLength = target.length; + assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); + + // cache the buffer and the offset + let targetBuffer = target.buffer; + let targetByteOffset = target.byteOffset; + + /** + * In order for the source to be ArrayLike, it has to have a length property, and a + * `@operator("[]=")` getter. This is very slow because it doesn't allow for unchecked gets, + * but it is as standard compliant as we can make it. + */ + // @ts-ignore: Source is expected to have a length property + for (let i = source.length - 1; i >= 0; i--) { + STORE( + targetBuffer, + i + offset, + // @ts-ignore: Source is expected to have a getter signature + source[i], // if the object does not have a getter this throws a compiler error + targetByteOffset, + ); + } + } +} From 3f3c8fd21e12a255c0313578b854f2f0051a6345 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 12:27:19 -0500 Subject: [PATCH 02/11] add typed array test that doesn't compile --- std/assembly/index.d.ts | 2 + std/assembly/internal/typedarray.ts | 2 +- std/assembly/typedarray.ts | 5 + tests/compiler/std/typedarray.ts | 21 + tests/compiler/std/typedarray.untouched.wat | 15564 ------------------ 5 files changed, 29 insertions(+), 15565 deletions(-) diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 964a968076..bb746f533d 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -609,6 +609,8 @@ declare abstract class TypedArray implements ArrayBufferView { findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ every(callbackfn: (value: T, index: i32, self: this) => bool): i32; + /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ + set(value: SourceT, offset: i32): void; } /** An array of twos-complement 8-bit signed integers. */ diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 293d6e2b2c..8acf10485d 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -251,7 +251,7 @@ export function SET, U extends number, SourceT>( } // fast path: source has the same backing type as target - if (source instanceof T) { + if (source instanceof TypedArray) { // validate the lengths are within range // @ts-ignore: Source is instanceof T and has a length property let sourceLength = source.length; diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 97d3dbb7db..b6310667d7 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -9,6 +9,7 @@ import { FIND_INDEX, SOME, EVERY, + SET, } from "./internal/typedarray"; import { @@ -63,6 +64,10 @@ export class Int8Array extends TypedArray { every(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32): void { + SET(this, source, offset); + } } export class Uint8Array extends TypedArray { diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index 4d1311a2fa..c5122908c2 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -409,3 +409,24 @@ testArrayEvery(); testArrayEvery(); testArrayEvery(); testArrayEvery(); + + +var setSource: i32[] = [1, 2, 3]; + +function testArraySet, U extends number>(): void { + var target: T = instantiate(10); + target.set(setSource, 4); + + assert(target[0] == 0); + assert(target[1] == 0); + assert(target[2] == 0); + assert(target[3] == 0); + assert(target[4] == 1); + assert(target[5] == 2); + assert(target[6] == 3); + assert(target[7] == 0); + assert(target[8] == 0); + assert(target[9] == 0); +} + +testArraySet(); diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 9b50fcbcf2..e69de29bb2 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -1,15564 +0,0 @@ -(module - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $_ (func)) - (type $i_ (func (param i32))) - (type $iii (func (param i32 i32) (result i32))) - (type $ii (func (param i32) (result i32))) - (type $iii_ (func (param i32 i32 i32))) - (type $iiii (func (param i32 i32 i32) (result i32))) - (type $iiF_ (func (param i32 i32 f64))) - (type $FFi (func (param f64 f64) (result i32))) - (type $iiF (func (param i32 i32) (result f64))) - (type $iiiii (func (param i32 i32 i32 i32) (result i32))) - (type $iiI_ (func (param i32 i32 i64))) - (type $IIiiI (func (param i64 i64 i32 i32) (result i64))) - (type $iiII (func (param i32 i32 i64) (result i64))) - (type $iif_ (func (param i32 i32 f32))) - (type $ffiif (func (param f32 f32 i32 i32) (result f32))) - (type $iiff (func (param i32 i32 f32) (result f32))) - (type $FFiiF (func (param f64 f64 i32 i32) (result f64))) - (type $iiFF (func (param i32 i32 f64) (result f64))) - (type $IiiI (func (param i64 i32 i32) (result i64))) - (type $iiI (func (param i32 i32) (result i64))) - (type $fiif (func (param f32 i32 i32) (result f32))) - (type $iif (func (param i32 i32) (result f32))) - (type $FiiF (func (param f64 i32 i32) (result f64))) - (type $Iiii (func (param i64 i32 i32) (result i32))) - (type $fiii (func (param f32 i32 i32) (result i32))) - (type $Fiii (func (param f64 i32 i32) (result i32))) - (type $fff (func (param f32 f32) (result f32))) - (type $FFF (func (param f64 f64) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 8) "\11\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 48) "\1b\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 112) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 176) "\05\00\00\00\00\00\00\00\01\01\01\04\05\00\00\00") - (data (i32.const 192) "\b0\00\00\00\05\00\00\00") - (data (i32.const 200) "\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 216) "\c8\00\00\00\05\00\00\00") - (data (i32.const 224) "\05\00\00\00\00\00\00\00\01\01\00\00\00\00\00\00") - (data (i32.const 240) "\e0\00\00\00\05\00\00\00") - (data (i32.const 248) "\05\00\00\00\00\00\00\00\01\01\00\02\02\00\00\00") - (data (i32.const 264) "\f8\00\00\00\05\00\00\00") - (data (i32.const 272) "\05\00\00\00\00\00\00\00\01\01\00\02\02\00\00\00") - (data (i32.const 288) "\10\01\00\00\05\00\00\00") - (data (i32.const 296) "\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 312) "(\01\00\00\03\00\00\00") - (data (i32.const 320) "\05\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 336) "@\01\00\00\05\00\00\00") - (data (i32.const 344) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 376) "X\01\00\00\05\00\00\00") - (data (i32.const 384) "\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\80\01\00\00\05\00\00\00") - (data (i32.const 424) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 456) "\a8\01\00\00\05\00\00\00") - (data (i32.const 464) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 496) "\d0\01\00\00\05\00\00\00") - (data (i32.const 504) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 536) "\f8\01\00\00\05\00\00\00") - (data (i32.const 544) "\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 576) " \02\00\00\03\00\00\00") - (data (i32.const 584) "\14\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 616) "H\02\00\00\05\00\00\00") - (table $0 101 funcref) - (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|1 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|3 $std/typedarray/testReduce~anonymous|4 $std/typedarray/testReduce~anonymous|5 $std/typedarray/testReduce~anonymous|6 $std/typedarray/testReduce~anonymous|7 $std/typedarray/testReduce~anonymous|8 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|10 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testReduceRight~anonymous|13 $std/typedarray/testReduceRight~anonymous|14 $std/typedarray/testReduceRight~anonymous|15 $std/typedarray/testReduceRight~anonymous|16 $std/typedarray/testReduceRight~anonymous|17 $std/typedarray/testReduceRight~anonymous|18 $std/typedarray/testReduceRight~anonymous|19 $std/typedarray/testReduceRight~anonymous|20 $std/typedarray/testReduceRight~anonymous|21 $std/typedarray/testReduceRight~anonymous|22 $std/typedarray/testReduceRight~anonymous|23 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|25 $std/typedarray/testArrayMap~anonymous|26 $std/typedarray/testArrayMap~anonymous|27 $std/typedarray/testArrayMap~anonymous|28 $std/typedarray/testArrayMap~anonymous|29 $std/typedarray/testArrayMap~anonymous|30 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|32 $std/typedarray/testArrayMap~anonymous|33 $std/typedarray/testArrayMap~anonymous|34 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|37 $std/typedarray/testArraySome~anonymous|38 $std/typedarray/testArraySome~anonymous|39 $std/typedarray/testArraySome~anonymous|40 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|43 $std/typedarray/testArraySome~anonymous|44 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|47 $std/typedarray/testArraySome~anonymous|48 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|51 $std/typedarray/testArraySome~anonymous|52 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArraySome~anonymous|54 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArraySome~anonymous|56 $std/typedarray/testArrayFindIndex~anonymous|57 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArrayFindIndex~anonymous|59 $std/typedarray/testArrayFindIndex~anonymous|60 $std/typedarray/testArrayFindIndex~anonymous|61 $std/typedarray/testArrayFindIndex~anonymous|62 $std/typedarray/testArrayFindIndex~anonymous|63 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArrayFindIndex~anonymous|65 $std/typedarray/testArrayFindIndex~anonymous|66 $std/typedarray/testArrayFindIndex~anonymous|67 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArrayFindIndex~anonymous|69 $std/typedarray/testArrayFindIndex~anonymous|70 $std/typedarray/testArrayFindIndex~anonymous|71 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArrayFindIndex~anonymous|73 $std/typedarray/testArrayFindIndex~anonymous|74 $std/typedarray/testArrayFindIndex~anonymous|75 $std/typedarray/testArrayFindIndex~anonymous|76 $std/typedarray/testArrayFindIndex~anonymous|77 $std/typedarray/testArrayFindIndex~anonymous|78 $std/typedarray/testArrayEvery~anonymous|79 $std/typedarray/testArrayEvery~anonymous|80 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArrayEvery~anonymous|82 $std/typedarray/testArrayEvery~anonymous|83 $std/typedarray/testArrayEvery~anonymous|84 $std/typedarray/testArrayEvery~anonymous|85 $std/typedarray/testArrayEvery~anonymous|86 $std/typedarray/testArrayEvery~anonymous|87 $std/typedarray/testArrayEvery~anonymous|88 $std/typedarray/testArrayEvery~anonymous|89 $std/typedarray/testArrayEvery~anonymous|90 $std/typedarray/testArrayEvery~anonymous|91 $std/typedarray/testArrayEvery~anonymous|92 $std/typedarray/testArrayEvery~anonymous|93 $std/typedarray/testArrayEvery~anonymous|94 $std/typedarray/testArrayEvery~anonymous|95 $std/typedarray/testArrayEvery~anonymous|96 $std/typedarray/testArrayEvery~anonymous|97 $std/typedarray/testArrayEvery~anonymous|98 $std/typedarray/testArrayEvery~anonymous|99 $std/typedarray/testArrayEvery~anonymous|100) - (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) - (global $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) - (global $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT i32 (i32.const 1)) - (global $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT i32 (i32.const 2)) - (global $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT i32 (i32.const 2)) - (global $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) - (global $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) - (global $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) - (global $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) - (global $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) - (global $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) - (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) - (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) - (global $std/typedarray/arr (mut i32) (i32.const 0)) - (global $std/typedarray/af64 (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $std/typedarray/clampedArr (mut i32) (i32.const 0)) - (global $std/typedarray/arr8 (mut i32) (i32.const 0)) - (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) - (global $std/typedarray/sub8 (mut i32) (i32.const 0)) - (global $std/typedarray/arr32 (mut i32) (i32.const 0)) - (global $std/typedarray/sub32 (mut i32) (i32.const 0)) - (global $std/typedarray/MAX_F64LENGTH i32 (i32.const 134217727)) - (global $std/typedarray/multisubarr (mut i32) (i32.const 0)) - (global $std/typedarray/multisubarr1 (mut i32) (i32.const 0)) - (global $std/typedarray/multisubarr2 (mut i32) (i32.const 0)) - (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 624)) - (export "memory" (memory $0)) - (export "table" (table $0)) - (start $start) - (func $start:~lib/allocator/arena (; 1 ;) (type $_) - global.get $~lib/memory/HEAP_BASE - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - global.set $~lib/allocator/arena/startOffset - global.get $~lib/allocator/arena/startOffset - global.set $~lib/allocator/arena/offset - ) - (func $~lib/internal/arraybuffer/computeSize (; 2 ;) (type $ii) (param $0 i32) (result i32) - i32.const 1 - i32.const 32 - local.get $0 - i32.const 8 - i32.add - i32.const 1 - i32.sub - i32.clz - i32.sub - i32.shl - ) - (func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.const 1073741824 - i32.gt_u - if - unreachable - end - global.get $~lib/allocator/arena/offset - local.set $1 - local.get $1 - local.get $0 - local.tee $2 - i32.const 1 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $4 - current_memory - local.set $5 - local.get $4 - local.get $5 - i32.const 16 - i32.shl - i32.gt_u - if - local.get $4 - local.get $1 - i32.sub - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $5 - local.tee $3 - local.get $2 - local.tee $6 - local.get $3 - local.get $6 - i32.gt_s - select - local.set $3 - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - local.get $2 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - end - local.get $4 - global.set $~lib/allocator/arena/offset - local.get $1 - ) - (func $~lib/internal/arraybuffer/allocateUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.const 1073741816 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 112 - i32.const 26 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/memory/memory.allocate|inlined.0 (result i32) - local.get $0 - call $~lib/internal/arraybuffer/computeSize - local.set $2 - local.get $2 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.0 - end - local.set $1 - local.get $1 - local.get $0 - i32.store - local.get $1 - ) - (func $~lib/internal/memory/memset (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - local.get $2 - i32.eqz - if - return - end - local.get $0 - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 1 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - local.get $1 - i32.store8 - local.get $0 - i32.const 2 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 2 - i32.sub - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 3 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 8 - i32.le_u - if - return - end - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $2 - i32.const -4 - i32.and - local.set $2 - i32.const -1 - i32.const 255 - i32.div_u - local.get $1 - i32.const 255 - i32.and - i32.mul - local.set $4 - local.get $0 - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 12 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 16 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 20 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 24 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 28 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 24 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 20 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 16 - i32.sub - local.get $4 - i32.store - i32.const 24 - local.get $0 - i32.const 4 - i32.and - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $4 - i64.extend_i32_u - local.get $4 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $5 - block $break|0 - loop $continue|0 - local.get $2 - i32.const 32 - i32.ge_u - if - block - local.get $0 - local.get $5 - i64.store - local.get $0 - i32.const 8 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 16 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 24 - i32.add - local.get $5 - i64.store - local.get $2 - i32.const 32 - i32.sub - local.set $2 - local.get $0 - i32.const 32 - i32.add - local.set $0 - end - br $continue|0 - end - end - end - ) - (func $~lib/memory/memory.allocate (; 6 ;) (type $ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/arena/__memory_allocate - return - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 1073741816 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 0 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.0 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int8Array#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 1073741816 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 0 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.1 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint8Array#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 536870908 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.2 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int16Array#constructor (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 536870908 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.3 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint16Array#constructor (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.4 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int32Array#constructor (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.5 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint32Array#constructor (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 134217727 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 3 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.6 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int64Array#constructor (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 134217727 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 3 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.7 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint64Array#constructor (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.8 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Float32Array#constructor (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 134217727 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 3 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.9 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Float64Array#constructor (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $std/typedarray/testInstantiate (; 28 ;) (type $i_) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - i32.const 0 - local.get $0 - call $~lib/typedarray/Int8Array#constructor - local.set $1 - local.get $1 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 34 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 35 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $1 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 36 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint8Array#constructor - local.set $3 - local.get $3 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 39 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 40 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $3 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 41 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $4 - local.get $4 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 44 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 45 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $4 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 46 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Int16Array#constructor - local.set $5 - local.get $5 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 49 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $5 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 50 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $5 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 51 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint16Array#constructor - local.set $6 - local.get $6 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 54 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $6 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 55 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $6 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 56 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Int32Array#constructor - local.set $7 - local.get $7 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 59 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $7 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 60 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $7 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 61 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint32Array#constructor - local.set $8 - local.get $8 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 64 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $8 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 65 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $8 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 66 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Int64Array#constructor - local.set $9 - local.get $9 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 69 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $9 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 70 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $9 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 71 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint64Array#constructor - local.set $10 - local.get $10 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 74 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $10 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 75 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $10 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 76 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Float32Array#constructor - local.set $11 - local.get $11 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 79 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $11 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 80 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $11 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 81 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - call $~lib/typedarray/Float64Array#constructor - local.set $12 - local.get $12 - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 84 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $12 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 85 - i32.const 2 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $12 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 86 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 29 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store offset=8 - end - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - i32.load offset=8 - end - ) - (func $~lib/typedarray/Int32Array#subarray (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $4 - else - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $4 - end - local.get $5 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $5 - i32.add - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - else - local.get $5 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - end - block $~lib/memory/memory.allocate|inlined.1 (result i32) - i32.const 12 - local.set $7 - local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.1 - end - local.set $7 - local.get $7 - local.get $3 - i32.load - i32.store - local.get $7 - local.get $3 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $5 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 32 ;) (type $iiF_) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - f64.store offset=8 - end - ) - (func $~lib/typedarray/Float64Array#subarray (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $4 - else - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $4 - end - local.get $5 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $5 - i32.add - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - else - local.get $5 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - end - block $~lib/memory/memory.allocate|inlined.2 (result i32) - i32.const 12 - local.set $7 - local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.2 - end - local.set $7 - local.get $7 - local.get $3 - i32.load - i32.store - local.get $7 - local.get $3 - i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $5 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 - ) - (func $~lib/internal/sort/insertionSort (; 34 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 i32) - (local $10 f64) - (local $11 f64) - block $break|0 - i32.const 0 - local.set $4 - loop $repeat|0 - local.get $4 - local.get $2 - i32.lt_s - i32.eqz - br_if $break|0 - block - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result f64) - local.get $0 - local.set $5 - local.get $4 - local.set $6 - local.get $1 - local.set $7 - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - local.get $7 - i32.add - f64.load offset=8 - end - local.set $8 - local.get $4 - i32.const 1 - i32.sub - local.set $7 - block $break|1 - loop $continue|1 - local.get $7 - i32.const 0 - i32.ge_s - if - block - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result f64) - local.get $0 - local.set $6 - local.get $7 - local.set $5 - local.get $1 - local.set $9 - local.get $6 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $10 - block (result i32) - i32.const 2 - global.set $~lib/argc - local.get $8 - local.get $10 - local.get $3 - call_indirect (type $FFi) - end - i32.const 0 - i32.lt_s - if - local.get $0 - local.set $9 - block (result i32) - local.get $7 - local.tee $5 - i32.const 1 - i32.sub - local.set $7 - local.get $5 - end - i32.const 1 - i32.add - local.set $5 - local.get $10 - local.set $11 - local.get $1 - local.set $6 - local.get $9 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $11 - f64.store offset=8 - else - br $break|1 - end - end - br $continue|1 - end - end - end - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $0 - local.set $6 - local.get $7 - i32.const 1 - i32.add - local.set $5 - local.get $8 - local.set $10 - local.get $1 - local.set $9 - local.get $6 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - f64.store offset=8 - end - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $repeat|0 - unreachable - end - unreachable - end - ) - (func $~lib/allocator/arena/__memory_free (; 35 ;) (type $i_) (param $0 i32) - nop - ) - (func $~lib/internal/sort/weakHeapSort (; 36 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - local.get $2 - i32.const 31 - i32.add - i32.const 5 - i32.shr_s - i32.const 2 - i32.shl - local.set $4 - block $~lib/memory/memory.allocate|inlined.3 (result i32) - local.get $4 - local.set $5 - local.get $5 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.3 - end - local.set $6 - block $~lib/memory/memory.fill|inlined.10 - local.get $6 - local.set $5 - i32.const 0 - local.set $7 - local.get $4 - local.set $8 - local.get $5 - local.get $7 - local.get $8 - call $~lib/internal/memory/memset - end - block $break|0 - local.get $2 - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.gt_s - i32.eqz - br_if $break|0 - block - local.get $8 - local.set $7 - block $break|1 - loop $continue|1 - local.get $7 - i32.const 1 - i32.and - local.get $6 - local.get $7 - i32.const 6 - i32.shr_s - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - i32.const 1 - i32.shr_s - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.eq - if - local.get $7 - i32.const 1 - i32.shr_s - local.set $7 - br $continue|1 - end - end - end - local.get $7 - i32.const 1 - i32.shr_s - local.set $5 - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result f64) - local.get $0 - local.set $9 - local.get $5 - local.set $10 - local.get $1 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result f64) - local.get $0 - local.set $11 - local.get $8 - local.set $10 - local.get $1 - local.set $9 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $13 - block (result i32) - i32.const 2 - global.set $~lib/argc - local.get $12 - local.get $13 - local.get $3 - call_indirect (type $FFi) - end - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $8 - i32.const 5 - i32.shr_s - i32.const 2 - i32.shl - i32.add - local.get $6 - local.get $8 - i32.const 5 - i32.shr_s - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $8 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $0 - local.set $9 - local.get $8 - local.set $10 - local.get $12 - local.set $14 - local.get $1 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $14 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $0 - local.set $11 - local.get $5 - local.set $10 - local.get $13 - local.set $14 - local.get $1 - local.set $9 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $14 - f64.store offset=8 - end - end - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - block $break|2 - local.get $2 - i32.const 1 - i32.sub - local.set $8 - loop $repeat|2 - local.get $8 - i32.const 2 - i32.ge_s - i32.eqz - br_if $break|2 - block - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result f64) - local.get $0 - local.set $5 - i32.const 0 - local.set $7 - local.get $1 - local.set $9 - local.get $5 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $13 - block $~lib/internal/arraybuffer/STORE|inlined.7 - local.get $0 - local.set $9 - i32.const 0 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result f64) - local.get $0 - local.set $5 - local.get $8 - local.set $10 - local.get $1 - local.set $11 - local.get $5 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 - local.get $1 - local.set $11 - local.get $9 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $12 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.8 - local.get $0 - local.set $11 - local.get $8 - local.set $7 - local.get $13 - local.set $12 - local.get $1 - local.set $9 - local.get $11 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $12 - f64.store offset=8 - end - i32.const 1 - local.set $9 - block $break|3 - loop $continue|3 - local.get $9 - i32.const 1 - i32.shl - local.get $6 - local.get $9 - i32.const 5 - i32.shr_s - i32.const 2 - i32.shl - i32.add - i32.load - local.get $9 - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.add - local.tee $7 - local.get $8 - i32.lt_s - if - local.get $7 - local.set $9 - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $9 - i32.const 0 - i32.gt_s - if - block - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result f64) - local.get $0 - local.set $11 - i32.const 0 - local.set $10 - local.get $1 - local.set $5 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $5 - i32.add - f64.load offset=8 - end - local.set $13 - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result f64) - local.get $0 - local.set $5 - local.get $9 - local.set $10 - local.get $1 - local.set $11 - local.get $5 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 - block (result i32) - i32.const 2 - global.set $~lib/argc - local.get $13 - local.get $12 - local.get $3 - call_indirect (type $FFi) - end - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $9 - i32.const 5 - i32.shr_s - i32.const 2 - i32.shl - i32.add - local.get $6 - local.get $9 - i32.const 5 - i32.shr_s - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $9 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - block $~lib/internal/arraybuffer/STORE|inlined.9 - local.get $0 - local.set $11 - local.get $9 - local.set $10 - local.get $13 - local.set $14 - local.get $1 - local.set $5 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $5 - i32.add - local.get $14 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.10 - local.get $0 - local.set $5 - i32.const 0 - local.set $10 - local.get $12 - local.set $14 - local.get $1 - local.set $11 - local.get $5 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $14 - f64.store offset=8 - end - end - local.get $9 - i32.const 1 - i32.shr_s - local.set $9 - end - br $continue|4 - end - end - end - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|2 - unreachable - end - unreachable - end - block $~lib/memory/memory.free|inlined.0 - local.get $6 - local.set $8 - local.get $8 - call $~lib/allocator/arena/__memory_free - br $~lib/memory/memory.free|inlined.0 - end - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f64) - local.get $0 - local.set $8 - i32.const 1 - local.set $7 - local.get $1 - local.set $9 - local.get $8 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $15 - block $~lib/internal/arraybuffer/STORE|inlined.11 - local.get $0 - local.set $9 - i32.const 1 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f64) - local.get $0 - local.set $8 - i32.const 0 - local.set $11 - local.get $1 - local.set $10 - local.get $8 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - f64.load offset=8 - end - local.set $13 - local.get $1 - local.set $10 - local.get $9 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - local.get $13 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.12 - local.get $0 - local.set $10 - i32.const 0 - local.set $7 - local.get $15 - local.set $13 - local.get $1 - local.set $9 - local.get $10 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $13 - f64.store offset=8 - end - ) - (func $~lib/typedarray/Float64Array#sort (; 37 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 i32) - block $~lib/internal/typedarray/SORT|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - local.get $2 - i32.load offset=4 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $5 - local.get $5 - i32.const 1 - i32.le_s - if - local.get $2 - br $~lib/internal/typedarray/SORT|inlined.0 - end - local.get $2 - i32.load - local.set $6 - local.get $5 - i32.const 2 - i32.eq - if - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result f64) - local.get $6 - local.set $7 - i32.const 1 - local.set $8 - local.get $4 - local.set $9 - local.get $7 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $10 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result f64) - local.get $6 - local.set $9 - i32.const 0 - local.set $8 - local.get $4 - local.set $7 - local.get $9 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $7 - i32.add - f64.load offset=8 - end - local.set $11 - block (result i32) - i32.const 2 - global.set $~lib/argc - local.get $10 - local.get $11 - local.get $3 - call_indirect (type $FFi) - end - i32.const 0 - i32.lt_s - if - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $7 - i32.const 1 - local.set $8 - local.get $11 - local.set $12 - local.get $4 - local.set $9 - local.get $7 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $12 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $9 - i32.const 0 - local.set $8 - local.get $10 - local.set $12 - local.get $4 - local.set $7 - local.get $9 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $7 - i32.add - local.get $12 - f64.store offset=8 - end - end - local.get $2 - br $~lib/internal/typedarray/SORT|inlined.0 - end - block $~lib/internal/sort/SORT|inlined.0 - local.get $6 - local.set $7 - local.get $4 - local.set $8 - local.get $5 - local.set $9 - local.get $3 - local.set $13 - local.get $9 - i32.const 256 - i32.lt_s - if - local.get $7 - local.get $8 - local.get $9 - local.get $13 - call $~lib/internal/sort/insertionSort - else - local.get $7 - local.get $8 - local.get $9 - local.get $13 - call $~lib/internal/sort/weakHeapSort - end - end - local.get $2 - end - ) - (func $~lib/internal/sort/COMPARATOR~anonymous|1 (; 38 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - local.get $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $2 - local.get $3 - local.get $3 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $3 - local.get $2 - local.get $3 - i64.gt_s - local.get $2 - local.get $3 - i64.lt_s - i32.sub - ) - (func $~lib/typedarray/Float64Array#sort|trampoline (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - block $~lib/internal/sort/COMPARATOR|inlined.0 (result i32) - i32.const 1 - br $~lib/internal/sort/COMPARATOR|inlined.0 - end - local.set $1 - end - local.get $0 - local.get $1 - call $~lib/typedarray/Float64Array#sort - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 40 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f64) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.add - f64.load offset=8 - end - ) - (func $~lib/typedarray/clampToByte (; 41 ;) (type $ii) (param $0 i32) (result i32) - local.get $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - local.get $0 - i32.or - i32.and - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 42 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 0 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store8 offset=8 - end - ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 43 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/clampToByte - call $~lib/internal/typedarray/TypedArray#__set - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 44 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.add - i32.load8_u offset=8 - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 45 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 0 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store8 offset=8 - end - ) - (func $~lib/typedarray/Int8Array#fill (; 46 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - local.get $0 - local.set $4 - local.get $1 - local.set $5 - local.get $2 - local.set $6 - local.get $3 - local.set $7 - local.get $4 - i32.load - local.set $8 - local.get $4 - i32.load offset=4 - local.set $9 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $4 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $10 - local.get $6 - i32.const 0 - i32.lt_s - if (result i32) - local.get $10 - local.get $6 - i32.add - local.tee $11 - i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $6 - local.tee $11 - local.get $10 - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - end - local.set $6 - local.get $7 - i32.const 0 - i32.lt_s - if (result i32) - local.get $10 - local.get $7 - i32.add - local.tee $11 - i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $7 - local.tee $11 - local.get $10 - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - end - local.set $7 - local.get $6 - local.get $7 - i32.lt_s - if - local.get $8 - local.get $6 - i32.add - local.get $9 - i32.add - i32.const 8 - i32.add - local.set $11 - local.get $5 - local.set $12 - local.get $7 - local.get $6 - i32.sub - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memset - end - local.get $4 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 47 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.add - i32.load8_s offset=8 - end - ) - (func $~lib/array/Array#__get (; 48 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.get $2 - i32.load - i32.const 0 - i32.shr_u - i32.lt_u - if (result i32) - local.get $2 - local.set $3 - local.get $1 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.get $4 - i32.const 0 - i32.shl - i32.add - local.get $5 - i32.add - i32.load8_s offset=8 - else - unreachable - end - ) - (func $std/typedarray/isInt8ArrayEqual (; 49 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $0 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - block $~lib/array/Array#get:length|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - i32.load offset=4 - end - i32.ne - if - i32.const 0 - return - end - block $break|0 - block - i32.const 0 - local.set $2 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $0 - local.set $3 - local.get $3 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $3 - end - loop $repeat|0 - local.get $2 - local.get $3 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $0 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.get $1 - local.get $2 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.ne - if - i32.const 0 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - ) - (func $~lib/typedarray/Int8Array#fill|trampoline (; 50 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int8Array#fill - ) - (func $~lib/typedarray/Int8Array#subarray (; 51 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $4 - else - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $4 - end - local.get $5 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $5 - i32.add - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - else - local.get $5 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - end - block $~lib/memory/memory.allocate|inlined.4 (result i32) - i32.const 12 - local.set $7 - local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.4 - end - local.set $7 - local.get $7 - local.get $3 - i32.load - i32.store - local.get $7 - local.get $3 - i32.load offset=4 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $5 - local.get $4 - i32.sub - i32.const 0 - i32.shl - i32.store offset=8 - local.get $7 - ) - (func $~lib/typedarray/Int32Array#fill (; 52 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $4 - local.get $1 - local.set $5 - local.get $2 - local.set $6 - local.get $3 - local.set $7 - local.get $4 - i32.load - local.set $8 - local.get $4 - i32.load offset=4 - local.set $9 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $4 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $10 - local.get $6 - i32.const 0 - i32.lt_s - if (result i32) - local.get $10 - local.get $6 - i32.add - local.tee $11 - i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $6 - local.tee $11 - local.get $10 - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - end - local.set $6 - local.get $7 - i32.const 0 - i32.lt_s - if (result i32) - local.get $10 - local.get $7 - i32.add - local.tee $11 - i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $7 - local.tee $11 - local.get $10 - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - end - local.set $7 - block $break|0 - loop $repeat|0 - local.get $6 - local.get $7 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $11 - local.get $6 - local.set $12 - local.get $5 - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store offset=8 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $repeat|0 - unreachable - end - unreachable - end - local.get $4 - ) - (func $~lib/array/Array#__get (; 53 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.get $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $2 - local.set $3 - local.get $1 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end - ) - (func $std/typedarray/isInt32ArrayEqual (; 54 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $0 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - block $~lib/array/Array#get:length|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - i32.load offset=4 - end - i32.ne - if - i32.const 0 - return - end - block $break|0 - block - i32.const 0 - local.set $2 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $0 - local.set $3 - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $3 - end - loop $repeat|0 - local.get $2 - local.get $3 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $0 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - local.get $1 - local.get $2 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - ) - (func $~lib/typedarray/Int32Array#fill|trampoline (; 55 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int32Array#fill - ) - (func $std/typedarray/testReduce~anonymous|2 (; 56 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Int8Array#reduce (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $12 - i32.add - i32.load8_s offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 58 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/typedarray/Int8Array#reduce - local.set $1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduce~anonymous|3 (; 59 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint8Array#reduce (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $12 - i32.add - i32.load8_u offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 61 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint8Array#reduce - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduce~anonymous|4 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduce (; 63 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Uint8Array#reduce - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 64 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store16 offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|5 (; 65 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Int16Array#reduce (; 66 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $12 - i32.add - i32.load16_s offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 67 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int16Array#reduce - local.set $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 68 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store16 offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|6 (; 69 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint16Array#reduce (; 70 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $12 - i32.add - i32.load16_u offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 71 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 6 - i32.const 0 - call $~lib/typedarray/Uint16Array#reduce - local.set $1 - local.get $1 - i32.const 65535 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduce~anonymous|7 (; 72 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Int32Array#reduce (; 73 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $12 - i32.add - i32.load offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 74 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 7 - i32.const 0 - call $~lib/typedarray/Int32Array#reduce - local.set $1 - local.get $1 - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 75 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|8 (; 76 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint32Array#reduce (; 77 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $12 - i32.add - i32.load offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 78 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 8 - i32.const 0 - call $~lib/typedarray/Uint32Array#reduce - local.set $1 - local.get $1 - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 79 ;) (type $iiI_) (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i64.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|9 (; 80 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 - local.get $1 - i64.add - ) - (func $~lib/typedarray/Int64Array#reduce (; 81 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i64) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $12 - i32.add - i64.load offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $IIiiI) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 82 ;) (type $_) - (local $0 i32) - (local $1 i64) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 9 - i64.const 0 - call $~lib/typedarray/Int64Array#reduce - local.set $1 - local.get $1 - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 83 ;) (type $iiI_) (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i64.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|10 (; 84 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 - local.get $1 - i64.add - ) - (func $~lib/typedarray/Uint64Array#reduce (; 85 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i64) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $12 - i32.add - i64.load offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $IIiiI) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 86 ;) (type $_) - (local $0 i32) - (local $1 i64) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 10 - i64.const 0 - call $~lib/typedarray/Uint64Array#reduce - local.set $1 - local.get $1 - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 87 ;) (type $iif_) (param $0 i32) (param $1 i32) (param $2 f32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - f32.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|11 (; 88 ;) (type $ffiif) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) - local.get $0 - local.get $1 - f32.add - ) - (func $~lib/typedarray/Float32Array#reduce (; 89 ;) (type $iiff) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result f32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result f32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $12 - i32.add - f32.load offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $ffiif) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 90 ;) (type $_) - (local $0 i32) - (local $1 f32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 11 - f32.const 0 - call $~lib/typedarray/Float32Array#reduce - local.set $1 - local.get $1 - f32.const 6 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduce~anonymous|12 (; 91 ;) (type $FFiiF) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) - local.get $0 - local.get $1 - f64.add - ) - (func $~lib/typedarray/Float64Array#reduce (; 92 ;) (type $iiFF) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 - local.get $3 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block (result f64) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f64) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $12 - i32.add - f64.load offset=8 - end - local.get $9 - local.get $3 - local.get $4 - call_indirect (type $FFiiF) - end - local.set $5 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduce (; 93 ;) (type $_) - (local $0 i32) - (local $1 f64) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 12 - f64.const 0 - call $~lib/typedarray/Float64Array#reduce - local.set $1 - local.get $1 - f64.const 6 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 252 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|13 (; 94 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Int8Array#reduceRight (; 95 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_s offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 96 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 13 - i32.const 0 - call $~lib/typedarray/Int8Array#reduceRight - local.set $1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|14 (; 97 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 98 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_u offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 99 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 14 - i32.const 0 - call $~lib/typedarray/Uint8Array#reduceRight - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|15 (; 100 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduceRight (; 101 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 15 - i32.const 0 - call $~lib/typedarray/Uint8Array#reduceRight - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|16 (; 102 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Int16Array#reduceRight (; 103 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.add - i32.load16_s offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 104 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 16 - i32.const 0 - call $~lib/typedarray/Int16Array#reduceRight - local.set $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|17 (; 105 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 106 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.add - i32.load16_u offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 107 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 17 - i32.const 0 - call $~lib/typedarray/Uint16Array#reduceRight - local.set $1 - local.get $1 - i32.const 65535 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|18 (; 108 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Int32Array#reduceRight (; 109 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - i32.load offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 110 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 18 - i32.const 0 - call $~lib/typedarray/Int32Array#reduceRight - local.set $1 - local.get $1 - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|19 (; 111 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint32Array#reduceRight (; 112 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - i32.load offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $iiiii) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 113 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 19 - i32.const 0 - call $~lib/typedarray/Uint32Array#reduceRight - local.set $1 - local.get $1 - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|20 (; 114 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 - local.get $1 - i64.add - ) - (func $~lib/typedarray/Int64Array#reduceRight (; 115 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i64) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i64) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - i64.load offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $IIiiI) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 116 ;) (type $_) - (local $0 i32) - (local $1 i64) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 20 - i64.const 0 - call $~lib/typedarray/Int64Array#reduceRight - local.set $1 - local.get $1 - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|21 (; 117 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 - local.get $1 - i64.add - ) - (func $~lib/typedarray/Uint64Array#reduceRight (; 118 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result i64) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i64) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - i64.load offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $IIiiI) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 119 ;) (type $_) - (local $0 i32) - (local $1 i64) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 21 - i64.const 0 - call $~lib/typedarray/Uint64Array#reduceRight - local.set $1 - local.get $1 - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|22 (; 120 ;) (type $ffiif) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) - local.get $0 - local.get $1 - f32.add - ) - (func $~lib/typedarray/Float32Array#reduceRight (; 121 ;) (type $iiff) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result f32) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result f32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - f32.load offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $ffiif) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 122 ;) (type $_) - (local $0 i32) - (local $1 f32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 22 - f32.const 0 - call $~lib/typedarray/Float32Array#reduceRight - local.set $1 - local.get $1 - f32.const 6 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testReduceRight~anonymous|23 (; 123 ;) (type $FFiiF) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) - local.get $0 - local.get $1 - f64.add - ) - (func $~lib/typedarray/Float64Array#reduceRight (; 124 ;) (type $iiFF) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block (result f64) - i32.const 4 - global.set $~lib/argc - local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f64) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.get $8 - local.get $3 - local.get $4 - call_indirect (type $FFiiF) - end - local.set $5 - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end - unreachable - end - local.get $5 - ) - (func $std/typedarray/testReduceRight (; 125 ;) (type $_) - (local $0 i32) - (local $1 f64) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 23 - f64.const 0 - call $~lib/typedarray/Float64Array#reduceRight - local.set $1 - local.get $1 - f64.const 6 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 279 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|24 (; 126 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Int8Array#map (; 127 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int8Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - i32.load8_s offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store8 offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $std/typedarray/testArrayMap (; 128 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 24 - call $~lib/typedarray/Int8Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|25 (; 129 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint8Array#map (; 130 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint8Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - i32.load8_u offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 255 - i32.and - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store8 offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $std/typedarray/testArrayMap (; 131 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 25 - call $~lib/typedarray/Uint8Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|26 (; 132 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 133 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - i32.load8_u offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 255 - i32.and - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store8 offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $std/typedarray/testArrayMap (; 134 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 26 - call $~lib/typedarray/Uint8ClampedArray#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|27 (; 135 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Int16Array#map (; 136 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int16Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - i32.load16_s offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store16 offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 137 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.add - i32.load16_s offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 138 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 27 - call $~lib/typedarray/Int16Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|28 (; 139 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint16Array#map (; 140 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint16Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - i32.load16_u offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 65535 - i32.and - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store16 offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 141 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.add - i32.load16_u offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 142 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 28 - call $~lib/typedarray/Uint16Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|29 (; 143 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Int32Array#map (; 144 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int32Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - i32.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $std/typedarray/testArrayMap (; 145 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 29 - call $~lib/typedarray/Int32Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|30 (; 146 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint32Array#map (; 147 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint32Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - i32.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $13 - i32.add - local.get $14 - i32.store offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 148 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - i32.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 149 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 30 - call $~lib/typedarray/Uint32Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|31 (; 150 ;) (type $IiiI) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) - local.get $0 - local.get $0 - i64.mul - ) - (func $~lib/typedarray/Int64Array#map (; 151 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i64) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int64Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i64) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i64) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - i64.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $IiiI) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $15 - i64.store offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 152 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i64) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.add - i64.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 153 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 31 - call $~lib/typedarray/Int64Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 4 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 9 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|32 (; 154 ;) (type $IiiI) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) - local.get $0 - local.get $0 - i64.mul - ) - (func $~lib/typedarray/Uint64Array#map (; 155 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i64) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint64Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i64) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i64) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - i64.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $IiiI) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $15 - i64.store offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 156 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i64) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.add - i64.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 157 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 32 - call $~lib/typedarray/Uint64Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 4 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 9 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|33 (; 158 ;) (type $fiif) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) - local.get $0 - local.get $0 - f32.mul - ) - (func $~lib/typedarray/Float32Array#map (; 159 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 f32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Float32Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result f32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result f32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - f32.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $fiif) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $15 - f32.store offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 160 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result f32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - f32.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 161 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 33 - call $~lib/typedarray/Float32Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - f32.const 4 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - f32.const 9 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|34 (; 162 ;) (type $FiiF) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) - local.get $0 - local.get $0 - f64.mul - ) - (func $~lib/typedarray/Float64Array#map (; 163 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 f64) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - i32.const 0 - local.get $4 - call $~lib/typedarray/Float64Array#constructor - local.set $7 - local.get $7 - i32.load - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $repeat|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.13 - local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result f64) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f64) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - f64.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FiiF) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $15 - f64.store offset=8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $repeat|0 - unreachable - end - unreachable - end - local.get $7 - ) - (func $std/typedarray/testArrayMap (; 164 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 34 - call $~lib/typedarray/Float64Array#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 4 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 9 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|35 (; 165 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int8Array#some (; 166 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|36 (; 167 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 168 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 35 - call $~lib/typedarray/Int8Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 36 - call $~lib/typedarray/Int8Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|37 (; 169 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8Array#some (; 170 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|38 (; 171 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 172 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 37 - call $~lib/typedarray/Uint8Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 38 - call $~lib/typedarray/Uint8Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|39 (; 173 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8ClampedArray#some (; 174 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|40 (; 175 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 176 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 39 - call $~lib/typedarray/Uint8ClampedArray#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 40 - call $~lib/typedarray/Uint8ClampedArray#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|41 (; 177 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int16Array#some (; 178 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|42 (; 179 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 180 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 41 - call $~lib/typedarray/Int16Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 42 - call $~lib/typedarray/Int16Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|43 (; 181 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint16Array#some (; 182 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|44 (; 183 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 184 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 43 - call $~lib/typedarray/Uint16Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 44 - call $~lib/typedarray/Uint16Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|45 (; 185 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int32Array#some (; 186 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|46 (; 187 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 188 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 45 - call $~lib/typedarray/Int32Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 46 - call $~lib/typedarray/Int32Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|47 (; 189 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#some (; 190 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|48 (; 191 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome (; 192 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 47 - call $~lib/typedarray/Uint32Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 48 - call $~lib/typedarray/Uint32Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|49 (; 193 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Int64Array#some (; 194 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|50 (; 195 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 0 - i64.eq - ) - (func $std/typedarray/testArraySome (; 196 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 49 - call $~lib/typedarray/Int64Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 50 - call $~lib/typedarray/Int64Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|51 (; 197 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Uint64Array#some (; 198 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Iiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|52 (; 199 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 0 - i64.eq - ) - (func $std/typedarray/testArraySome (; 200 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 51 - call $~lib/typedarray/Uint64Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 52 - call $~lib/typedarray/Uint64Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|53 (; 201 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.eq - ) - (func $~lib/typedarray/Float32Array#some (; 202 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result f32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $fiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|54 (; 203 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 0 - f32.eq - ) - (func $std/typedarray/testArraySome (; 204 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 53 - call $~lib/typedarray/Float32Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 54 - call $~lib/typedarray/Float32Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArraySome~anonymous|55 (; 205 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - f64.eq - ) - (func $~lib/typedarray/Float64Array#some (; 206 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Fiii) - end - i32.const 0 - i32.ne - if - i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 0 - end - ) - (func $std/typedarray/testArraySome~anonymous|56 (; 207 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 0 - f64.eq - ) - (func $std/typedarray/testArraySome (; 208 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 55 - call $~lib/typedarray/Float64Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 335 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 56 - call $~lib/typedarray/Float64Array#some - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 338 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|57 (; 209 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int8Array#findIndex (; 210 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|58 (; 211 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 212 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 57 - call $~lib/typedarray/Int8Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 58 - call $~lib/typedarray/Int8Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|59 (; 213 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8Array#findIndex (; 214 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|60 (; 215 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 216 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 59 - call $~lib/typedarray/Uint8Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 60 - call $~lib/typedarray/Uint8Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|61 (; 217 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 218 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|62 (; 219 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 220 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 61 - call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 62 - call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|63 (; 221 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int16Array#findIndex (; 222 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|64 (; 223 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 224 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 63 - call $~lib/typedarray/Int16Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 64 - call $~lib/typedarray/Int16Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|65 (; 225 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint16Array#findIndex (; 226 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|66 (; 227 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 228 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 65 - call $~lib/typedarray/Uint16Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 66 - call $~lib/typedarray/Uint16Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|67 (; 229 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int32Array#findIndex (; 230 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|68 (; 231 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 232 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 67 - call $~lib/typedarray/Int32Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 68 - call $~lib/typedarray/Int32Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|69 (; 233 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#findIndex (; 234 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|70 (; 235 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 236 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 69 - call $~lib/typedarray/Uint32Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 70 - call $~lib/typedarray/Uint32Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|71 (; 237 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Int64Array#findIndex (; 238 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|72 (; 239 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex (; 240 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 71 - call $~lib/typedarray/Int64Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 72 - call $~lib/typedarray/Int64Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|73 (; 241 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Uint64Array#findIndex (; 242 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Iiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|74 (; 243 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex (; 244 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 73 - call $~lib/typedarray/Uint64Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 74 - call $~lib/typedarray/Uint64Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|75 (; 245 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.eq - ) - (func $~lib/typedarray/Float32Array#findIndex (; 246 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result f32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $fiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|76 (; 247 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 4 - f32.eq - ) - (func $std/typedarray/testArrayFindIndex (; 248 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 75 - call $~lib/typedarray/Float32Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 76 - call $~lib/typedarray/Float32Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|77 (; 249 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - f64.eq - ) - (func $~lib/typedarray/Float64Array#findIndex (; 250 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Fiii) - end - i32.const 0 - i32.ne - if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const -1 - end - ) - (func $std/typedarray/testArrayFindIndex~anonymous|78 (; 251 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 4 - f64.eq - ) - (func $std/typedarray/testArrayFindIndex (; 252 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 77 - call $~lib/typedarray/Float64Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 365 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 78 - call $~lib/typedarray/Float64Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 368 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|79 (; 253 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Int8Array#every (; 254 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|80 (; 255 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 256 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 79 - call $~lib/typedarray/Int8Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 80 - call $~lib/typedarray/Int8Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|81 (; 257 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint8Array#every (; 258 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|82 (; 259 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 260 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 81 - call $~lib/typedarray/Uint8Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 82 - call $~lib/typedarray/Uint8Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|83 (; 261 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint8ClampedArray#every (; 262 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|84 (; 263 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 264 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 83 - call $~lib/typedarray/Uint8ClampedArray#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 84 - call $~lib/typedarray/Uint8ClampedArray#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|85 (; 265 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Int16Array#every (; 266 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|86 (; 267 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 268 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 85 - call $~lib/typedarray/Int16Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 86 - call $~lib/typedarray/Int16Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|87 (; 269 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint16Array#every (; 270 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|88 (; 271 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 272 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 87 - call $~lib/typedarray/Uint16Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 88 - call $~lib/typedarray/Uint16Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|89 (; 273 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Int32Array#every (; 274 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|90 (; 275 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 276 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 89 - call $~lib/typedarray/Int32Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 90 - call $~lib/typedarray/Int32Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|91 (; 277 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#every (; 278 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|92 (; 279 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery (; 280 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 91 - call $~lib/typedarray/Uint32Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 92 - call $~lib/typedarray/Uint32Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|93 (; 281 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.rem_s - i64.const 0 - i64.eq - ) - (func $~lib/typedarray/Int64Array#every (; 282 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|94 (; 283 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $std/typedarray/testArrayEvery (; 284 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 93 - call $~lib/typedarray/Int64Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 94 - call $~lib/typedarray/Int64Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayEvery~anonymous|95 (; 285 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.rem_u - i64.const 0 - i64.eq - ) - (func $~lib/typedarray/Uint64Array#every (; 286 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Iiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|96 (; 287 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $std/typedarray/testArrayEvery (; 288 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 95 - call $~lib/typedarray/Uint64Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 96 - call $~lib/typedarray/Uint64Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/math/NativeMathf.mod (; 289 ;) (type $fff) (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f32) - (local $10 i32) - (local $11 i32) - local.get $0 - i32.reinterpret_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $2 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $4 - local.get $3 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $5 - local.get $2 - i32.const -2147483648 - i32.and - local.set $6 - local.get $3 - i32.const 1 - i32.shl - local.set $7 - local.get $7 - i32.const 0 - i32.eq - local.tee $8 - if (result i32) - local.get $8 - else - local.get $4 - i32.const 255 - i32.eq - end - local.tee $8 - if (result i32) - local.get $8 - else - local.get $1 - local.set $9 - local.get $9 - local.get $9 - f32.ne - end - i32.const 0 - i32.ne - if - local.get $0 - local.get $1 - f32.mul - local.set $9 - local.get $9 - local.get $9 - f32.div - return - end - local.get $2 - i32.const 1 - i32.shl - local.set $10 - local.get $10 - local.get $7 - i32.le_u - if - local.get $10 - local.get $7 - i32.eq - if - f32.const 0 - local.get $0 - f32.mul - return - end - local.get $0 - return - end - local.get $4 - i32.eqz - if - local.get $4 - local.get $2 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $4 - local.get $2 - i32.const 0 - local.get $4 - i32.sub - i32.const 1 - i32.add - i32.shl - local.set $2 - else - local.get $2 - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $2 - local.get $2 - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $2 - end - local.get $5 - i32.eqz - if - local.get $5 - local.get $3 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $5 - local.get $3 - i32.const 0 - local.get $5 - i32.sub - i32.const 1 - i32.add - i32.shl - local.set $3 - else - local.get $3 - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $3 - local.get $3 - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $3 - end - block $break|0 - loop $continue|0 - local.get $4 - local.get $5 - i32.gt_s - if - block - local.get $2 - local.get $3 - i32.ge_u - if - local.get $2 - local.get $3 - i32.eq - if - f32.const 0 - local.get $0 - f32.mul - return - end - local.get $2 - local.get $3 - i32.sub - local.set $2 - end - local.get $2 - i32.const 1 - i32.shl - local.set $2 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - end - br $continue|0 - end - end - end - local.get $2 - local.get $3 - i32.ge_u - if - local.get $2 - local.get $3 - i32.eq - if - f32.const 0 - local.get $0 - f32.mul - return - end - local.get $2 - local.get $3 - i32.sub - local.set $2 - end - local.get $2 - i32.const 8 - i32.shl - i32.clz - local.set $11 - local.get $4 - local.get $11 - i32.sub - local.set $4 - local.get $2 - local.get $11 - i32.shl - local.set $2 - local.get $4 - i32.const 0 - i32.gt_s - if - local.get $2 - i32.const 1 - i32.const 23 - i32.shl - i32.sub - local.set $2 - local.get $2 - local.get $4 - i32.const 23 - i32.shl - i32.or - local.set $2 - else - local.get $2 - i32.const 0 - local.get $4 - i32.sub - i32.const 1 - i32.add - i32.shr_u - local.set $2 - end - local.get $2 - local.get $6 - i32.or - local.set $2 - local.get $2 - f32.reinterpret_i32 - ) - (func $std/typedarray/testArrayEvery~anonymous|97 (; 290 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - call $~lib/math/NativeMathf.mod - f32.const 0 - f32.eq - ) - (func $~lib/typedarray/Float32Array#every (; 291 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result f32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $fiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|98 (; 292 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.eq - ) - (func $std/typedarray/testArrayEvery (; 293 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 97 - call $~lib/typedarray/Float32Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 98 - call $~lib/typedarray/Float32Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/math/NativeMath.mod (; 294 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i32) - (local $9 f64) - (local $10 i64) - (local $11 i64) - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $4 - local.get $3 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $5 - local.get $2 - i64.const 63 - i64.shr_u - local.set $6 - local.get $3 - i64.const 1 - i64.shl - local.set $7 - local.get $7 - i64.const 0 - i64.eq - local.tee $8 - if (result i32) - local.get $8 - else - local.get $4 - i64.const 2047 - i64.eq - end - local.tee $8 - if (result i32) - local.get $8 - else - local.get $1 - local.set $9 - local.get $9 - local.get $9 - f64.ne - end - i32.const 0 - i32.ne - if - local.get $0 - local.get $1 - f64.mul - local.set $9 - local.get $9 - local.get $9 - f64.div - return - end - local.get $2 - i64.const 1 - i64.shl - local.set $10 - local.get $10 - local.get $7 - i64.le_u - if - local.get $10 - local.get $7 - i64.eq - if - f64.const 0 - local.get $0 - f64.mul - return - end - local.get $0 - return - end - local.get $4 - i64.eqz - if - local.get $4 - local.get $2 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $4 - local.get $2 - i64.const 0 - local.get $4 - i64.sub - i64.const 1 - i64.add - i64.shl - local.set $2 - else - local.get $2 - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $2 - local.get $2 - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $2 - end - local.get $5 - i64.eqz - if - local.get $5 - local.get $3 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $5 - local.get $3 - i64.const 0 - local.get $5 - i64.sub - i64.const 1 - i64.add - i64.shl - local.set $3 - else - local.get $3 - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $3 - local.get $3 - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $3 - end - block $break|0 - loop $continue|0 - local.get $4 - local.get $5 - i64.gt_s - if - block - local.get $2 - local.get $3 - i64.ge_u - if - local.get $2 - local.get $3 - i64.eq - if - f64.const 0 - local.get $0 - f64.mul - return - end - local.get $2 - local.get $3 - i64.sub - local.set $2 - end - local.get $2 - i64.const 1 - i64.shl - local.set $2 - local.get $4 - i64.const 1 - i64.sub - local.set $4 - end - br $continue|0 - end - end - end - local.get $2 - local.get $3 - i64.ge_u - if - local.get $2 - local.get $3 - i64.eq - if - f64.const 0 - local.get $0 - f64.mul - return - end - local.get $2 - local.get $3 - i64.sub - local.set $2 - end - local.get $2 - i64.const 11 - i64.shl - i64.clz - local.set $11 - local.get $4 - local.get $11 - i64.sub - local.set $4 - local.get $2 - local.get $11 - i64.shl - local.set $2 - local.get $4 - i64.const 0 - i64.gt_s - if - local.get $2 - i64.const 1 - i64.const 52 - i64.shl - i64.sub - local.set $2 - local.get $2 - local.get $4 - i64.const 52 - i64.shl - i64.or - local.set $2 - else - local.get $2 - i64.const 0 - local.get $4 - i64.sub - i64.const 1 - i64.add - i64.shr_u - local.set $2 - end - local.get $2 - local.get $6 - i64.const 63 - i64.shl - i64.or - local.set $2 - local.get $2 - f64.reinterpret_i64 - ) - (func $std/typedarray/testArrayEvery~anonymous|99 (; 295 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - call $~lib/math/NativeMath.mod - f64.const 0 - f64.eq - ) - (func $~lib/typedarray/Float64Array#every (; 296 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - local.set $2 - local.get $1 - local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 - local.get $2 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - loop $repeat|0 - block $continue|0 - local.get $7 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - block - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.21 (result f64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.get $7 - local.get $2 - local.get $3 - call_indirect (type $Fiii) - end - i32.const 0 - i32.ne - if - br $continue|0 - end - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - unreachable - end - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|0 - unreachable - end - unreachable - end - i32.const 1 - end - ) - (func $std/typedarray/testArrayEvery~anonymous|100 (; 297 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - f64.eq - ) - (func $std/typedarray/testArrayEvery (; 298 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 99 - call $~lib/typedarray/Float64Array#every - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 395 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 100 - call $~lib/typedarray/Float64Array#every - local.set $2 - local.get $2 - i32.const 0 - i32.ne - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 398 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $start:std/typedarray (; 299 ;) (type $_) - (local $0 i32) - global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 1 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 2 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 3 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 4 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 5 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 6 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 7 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 8 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 9 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 10 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 11 - i32.const 0 - call $~lib/env/abort - unreachable - end - call $start:~lib/allocator/arena - i32.const 0 - call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - global.set $std/typedarray/arr - global.get $std/typedarray/arr - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - global.get $std/typedarray/arr - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 96 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.load offset=4 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 97 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.load offset=8 - i32.const 3 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 98 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 99 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 100 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 101 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - global.set $std/typedarray/arr - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - global.get $std/typedarray/arr - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 104 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.load offset=4 - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 105 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.load offset=8 - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 106 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 107 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - global.set $std/typedarray/af64 - global.get $std/typedarray/af64 - i32.const 0 - f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 1 - f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 2 - f64.const 7 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 3 - f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 4 - f64.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 5 - f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 6 - f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 7 - f64.const 8 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - global.set $std/typedarray/af64 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - global.get $std/typedarray/af64 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 121 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/af64 - i32.load offset=4 - i32.const 2 - i32.const 8 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 122 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/af64 - i32.load offset=8 - i32.const 4 - i32.const 8 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 123 - i32.const 0 - call $~lib/env/abort - unreachable - end - block (result i32) - i32.const 0 - global.set $~lib/argc - global.get $std/typedarray/af64 - i32.const 0 - call $~lib/typedarray/Float64Array#sort|trampoline - end - drop - global.get $std/typedarray/af64 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 4 - f64.eq - local.tee $0 - if (result i32) - global.get $std/typedarray/af64 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 5 - f64.eq - else - local.get $0 - end - local.tee $0 - if (result i32) - global.get $std/typedarray/af64 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 6 - f64.eq - else - local.get $0 - end - local.tee $0 - if (result i32) - global.get $std/typedarray/af64 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - f64.const 7 - f64.eq - else - local.get $0 - end - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 125 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - global.set $std/typedarray/clampedArr - global.get $std/typedarray/clampedArr - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 132 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/clampedArr - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 133 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/clampedArr - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 255 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 134 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - global.set $std/typedarray/arr8 - global.get $std/typedarray/arr8 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 3 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 4 - i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int8Array#fill - drop - global.get $std/typedarray/arr8 - i32.const 192 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 144 - i32.const 0 - call $~lib/env/abort - unreachable - end - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/arr8 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline - end - drop - global.get $std/typedarray/arr8 - i32.const 216 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 147 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr8 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int8Array#fill - drop - global.get $std/typedarray/arr8 - i32.const 240 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 150 - i32.const 0 - call $~lib/env/abort - unreachable - end - block (result i32) - i32.const 2 - global.set $~lib/argc - global.get $std/typedarray/arr8 - i32.const 2 - i32.const -2 - i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline - end - drop - global.get $std/typedarray/arr8 - i32.const 264 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 153 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr8 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int8Array#fill - drop - global.get $std/typedarray/arr8 - i32.const 288 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 156 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr8 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - global.set $std/typedarray/sub8 - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/sub8 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline - end - drop - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - global.get $std/typedarray/sub8 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 160 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/sub8 - i32.load offset=4 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 161 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/sub8 - i32.load offset=8 - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 162 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/sub8 - i32.const 312 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 163 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr8 - i32.const 336 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 164 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - global.set $std/typedarray/arr32 - global.get $std/typedarray/arr32 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 3 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 4 - i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - drop - global.get $std/typedarray/arr32 - i32.const 376 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 174 - i32.const 0 - call $~lib/env/abort - unreachable - end - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/arr32 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline - end - drop - global.get $std/typedarray/arr32 - i32.const 416 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 177 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr32 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - drop - global.get $std/typedarray/arr32 - i32.const 456 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 180 - i32.const 0 - call $~lib/env/abort - unreachable - end - block (result i32) - i32.const 2 - global.set $~lib/argc - global.get $std/typedarray/arr32 - i32.const 2 - i32.const -2 - i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline - end - drop - global.get $std/typedarray/arr32 - i32.const 496 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 183 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr32 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - drop - global.get $std/typedarray/arr32 - i32.const 536 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 186 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr32 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - global.set $std/typedarray/sub32 - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/sub32 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline - end - drop - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - global.get $std/typedarray/sub32 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 190 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/sub32 - i32.load offset=4 - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 191 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/sub32 - i32.load offset=8 - i32.const 3 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 192 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/sub32 - i32.const 576 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 193 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/arr32 - i32.const 616 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 194 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - global.get $std/typedarray/MAX_F64LENGTH - call $~lib/typedarray/Float64Array#constructor - drop - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - global.set $std/typedarray/multisubarr - global.get $std/typedarray/multisubarr - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 3 - i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 4 - i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 5 - i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - global.set $std/typedarray/multisubarr1 - global.get $std/typedarray/multisubarr1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 211 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - global.get $std/typedarray/multisubarr1 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 212 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr1 - i32.load offset=4 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 213 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr1 - i32.load offset=8 - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 214 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr1 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - global.set $std/typedarray/multisubarr2 - global.get $std/typedarray/multisubarr2 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 217 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - global.get $std/typedarray/multisubarr2 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 218 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr2 - i32.load offset=4 - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 219 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr2 - i32.load offset=8 - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 220 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr2 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - global.set $std/typedarray/multisubarr3 - global.get $std/typedarray/multisubarr3 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 223 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - global.get $std/typedarray/multisubarr3 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 224 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr3 - i32.load offset=4 - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 225 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/typedarray/multisubarr3 - i32.load offset=8 - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 226 - i32.const 0 - call $~lib/env/abort - unreachable - end - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduce - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testReduceRight - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArrayMap - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArraySome - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayFindIndex - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - call $std/typedarray/testArrayEvery - ) - (func $start (; 300 ;) (type $_) - call $start:std/typedarray - ) - (func $null (; 301 ;) (type $_) - ) -) From f9721be7600038791a575cff924852b2ec77a874 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 13:51:03 -0500 Subject: [PATCH 03/11] Tests pass --- std/assembly/index.d.ts | 2 +- std/assembly/internal/typedarray.ts | 113 +- std/assembly/typedarray.ts | 4 +- tests/compiler/std/typedarray.optimized.wat | 2169 +- tests/compiler/std/typedarray.ts | 78 +- tests/compiler/std/typedarray.untouched.wat | 18698 ++++++++++++++++++ 6 files changed, 21011 insertions(+), 53 deletions(-) diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index bb746f533d..2b2d1dc938 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -610,7 +610,7 @@ declare abstract class TypedArray implements ArrayBufferView { /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ every(callbackfn: (value: T, index: i32, self: this) => bool): i32; /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ - set(value: SourceT, offset: i32): void; + set(value: SourceT, offset?: i32): void; } /** An array of twos-complement 8-bit signed integers. */ diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 8acf10485d..833397640e 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -233,7 +233,7 @@ export function EVERY, T>( } @inline -export function SET, U extends number, SourceT>( +export function SET, U extends number, SourceT, SourceU extends number>( target: T, source: SourceT, offset: i32): void { @@ -250,46 +250,54 @@ export function SET, U extends number, SourceT>( assert(false, "TypeError: SourceT is not a reference."); } - // fast path: source has the same backing type as target - if (source instanceof TypedArray) { - // validate the lengths are within range - // @ts-ignore: Source is instanceof T and has a length property - let sourceLength = source.length; - let targetLength = target.length; - assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); + if (isArray(source)) { + // check to see if the offsets are in range + let sourceLength = source.length; + let targetLength = target.length; + assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); - // perform a memory.copy - memory.copy( - // store the data at the target pointer + byteOFfset + offset << alignOf() - target.buffer.data + target.byteOffset + (offset << alignof()), - // read the data from source pointer + byteOffset - // @ts-ignore: source has a buffer and a byteOffset property because it's instanceof T - source.buffer.data + source.byteOffset, - // @ts-ignore: store source.buffer.byteLength number of bytes - source.buffer.byteLength, - ); + // cache the buffer and the byteOffset + let targetBuffer = target.buffer; + let targetByteOffset = target.byteOffset; - //TODO: When we can determine if Source is a TypedArray, we can use LOAD and STORE - // we can opt into a slightly faster version of the slow path - } else if (isArray(source)) { - // check to see if the offsets are in range + // for each source value, write it to the ArrayBuffer + for (let i = 0; i < sourceLength; i++) { + STORE( + targetBuffer, + i + offset, + unchecked(source[i]), + targetByteOffset, + ); + } + // fast path: source has the same backing type as targe + } else if (ArrayBuffer.isView(source)) { + // validate the lengths are within range let sourceLength = source.length; let targetLength = target.length; assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); - // cache the buffer and the byteOffset - let targetBuffer = target.buffer; - let targetByteOffset = target.byteOffset; - - // for each source value, write it to the ArrayBuffer - for (let i = 0; i < sourceLength; i++) { - STORE( - targetBuffer, - i + offset, - unchecked(source[i]), - targetByteOffset, - ); + if (isFloat()) { + if (isFloat()) { + if (sizeof() == sizeof()) { + SET_SAME(target, source, offset); + } else { + SET_DIFFERENT(target, source, sourceLength, offset); + } + } else { + SET_DIFFERENT(target, source, sourceLength, offset); + } + } else if (isInteger()) { + if (isInteger()) { + if (sizeof() == sizeof()) { + SET_SAME(target, source, offset); + } else { + SET_DIFFERENT(target, source, sourceLength, offset); + } + } else { + SET_DIFFERENT(target, source, sourceLength, offset); + } } + } else { // validate the lengths are within range // @ts-ignore: source is assumed to have a length property @@ -318,3 +326,40 @@ export function SET, U extends number, SourceT>( } } } + + +@inline +function SET_SAME, U extends number>(target: T, source: T, offset: i32): void { + // perform a memory.copy + memory.copy( + // store the data at the target pointer + byteOFfset + offset << alignOf() + target.buffer.data + target.byteOffset + (offset << alignof()), + // read the data from source pointer + byteOffset + // @ts-ignore: source has a buffer and a byteOffset property because it's instanceof T + source.buffer.data + source.byteOffset, + // @ts-ignore: store source.buffer.byteLength number of bytes + source.buffer.byteLength, + ); +} + +@inline +function SET_DIFFERENT< + T extends TypedArray, + U extends number, + SourceT extends TypedArray, + SourceU extends number +>(target: T, source: SourceT, sourceLength: i32, offset: i32): void { + let sourceBuffer = source.buffer; + let targetBuffer = target.buffer; + let sourceOffset = source.byteOffset; + let targetOffset = target.byteOffset; + for (let i = 0; i < sourceLength; i++) { + STORE( + targetBuffer, + i + offset, + // @ts-ignore: Number values can be cast to each other + LOAD(sourceBuffer, i, sourceOffset), + targetOffset, + ); + } +} \ No newline at end of file diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index b6310667d7..60517dd838 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -65,8 +65,8 @@ export class Int8Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 86e5e770e3..2f342700e6 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -31,6 +31,7 @@ (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$ff (func (param f32) (result f32))) (type $FUNCSIG$dd (func (param f64) (result f64))) + (type $FUNCSIG$vii (func (param i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\11\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") @@ -65,6 +66,14 @@ (data (i32.const 584) "\14\00\00\00\00\00\00\00\01") (data (i32.const 608) "\02") (data (i32.const 616) "H\02\00\00\05") + (data (i32.const 624) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 656) "p\02\00\00\03") + (data (i32.const 664) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00T\00a\00r\00g\00e\00t\00 \00i\00s\00 \00n\00u\00l\00l\00.") + (data (i32.const 720) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00S\00o\00u\00r\00c\00e\00 \00i\00s\00 \00n\00u\00l\00l\00.") + (data (i32.const 776) " \00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00:\00 \00O\00f\00f\00s\00e\00t\00 \00i\00s\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00.") + (data (i32.const 848) "\10\00\00\00i\003\002\00[\00]\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s") + (data (i32.const 888) "\1e\00\00\00S\00i\00m\00i\00l\00a\00r\00 \00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") + (data (i32.const 952) "\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") (table $0 101 funcref) (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|1 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|33 $std/typedarray/testArrayMap~anonymous|34 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArraySome~anonymous|54 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArraySome~anonymous|56 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArrayFindIndex~anonymous|76 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArrayFindIndex~anonymous|78 $std/typedarray/testArrayEvery~anonymous|79 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayEvery~anonymous|85 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayEvery~anonymous|89 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayEvery~anonymous|93 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayEvery~anonymous|95 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayEvery~anonymous|97 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArrayEvery~anonymous|99 $std/typedarray/testArraySome~anonymous|55) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -81,6 +90,7 @@ (global $std/typedarray/multisubarr1 (mut i32) (i32.const 0)) (global $std/typedarray/multisubarr2 (mut i32) (i32.const 0)) (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) + (global $std/typedarray/setSource (mut i32) (i32.const 656)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -8120,10 +8130,2160 @@ unreachable end ) - (func $start:std/typedarray (; 193 ;) (type $_) + (func $~lib/typedarray/Int8Array#set,i32> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.tee $2 + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $0 + loop $repeat|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + i32.const 4 + i32.add + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load offset=8 + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/internal/memory/memcpy (; 194 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + loop $continue|0 + local.get $1 + i32.const 3 + i32.and + local.get $2 + local.get $2 + select + if + local.get $0 + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 + end + end + local.get $0 + i32.const 3 + i32.and + i32.eqz + if + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 8 + i32.add + local.set $0 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $1 + i32.const 4 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.add + local.set $0 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $1 + i32.const 2 + i32.add + local.set $1 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + local.get $0 + i32.const 3 + i32.and + local.tee $3 + i32.const 1 + i32.ne + if + local.get $3 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $3 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + local.get $1 + i32.load + local.set $5 + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + loop $continue|3 + local.get $2 + i32.const 17 + i32.ge_u + if + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.load + local.tee $3 + i32.const 8 + i32.shl + local.get $5 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 5 + i32.add + i32.load + local.tee $5 + i32.const 8 + i32.shl + local.get $3 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 9 + i32.add + i32.load + local.tee $3 + i32.const 8 + i32.shl + local.get $5 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 13 + i32.add + i32.load + local.tee $5 + i32.const 8 + i32.shl + local.get $3 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|3 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $5 + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + loop $continue|4 + local.get $2 + i32.const 18 + i32.ge_u + if + local.get $0 + local.get $1 + i32.const 2 + i32.add + i32.load + local.tee $3 + i32.const 16 + i32.shl + local.get $5 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 6 + i32.add + i32.load + local.tee $5 + i32.const 16 + i32.shl + local.get $3 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 10 + i32.add + i32.load + local.tee $3 + i32.const 16 + i32.shl + local.get $5 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 14 + i32.add + i32.load + local.tee $5 + i32.const 16 + i32.shl + local.get $3 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|4 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $5 + local.get $0 + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + loop $continue|5 + local.get $2 + i32.const 19 + i32.ge_u + if + local.get $0 + local.get $1 + i32.const 3 + i32.add + i32.load + local.tee $3 + i32.const 24 + i32.shl + local.get $5 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 7 + i32.add + i32.load + local.tee $5 + i32.const 24 + i32.shl + local.get $3 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 11 + i32.add + i32.load + local.tee $3 + i32.const 24 + i32.shl + local.get $5 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 15 + i32.add + i32.load + local.tee $5 + i32.const 24 + i32.shl + local.get $3 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|5 + end + end + end + end + local.get $2 + i32.const 16 + i32.and + if + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + end + ) + (func $~lib/internal/memory/memmove (; 195 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + return + end + local.get $1 + local.get $2 + i32.add + local.get $0 + i32.le_u + local.tee $3 + i32.eqz + if + local.get $0 + local.get $2 + i32.add + local.get $1 + i32.le_u + local.set $3 + end + local.get $3 + if + local.get $0 + local.get $1 + local.get $2 + call $~lib/internal/memory/memcpy + return + end + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $2 + i32.eqz + if + return + end + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $2 + i32.const 8 + i32.ge_u + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $2 + i32.const 8 + i32.sub + local.set $2 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $2 + if + local.get $0 + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $0 + local.get $2 + i32.add + i32.const 7 + i32.and + if + local.get $2 + i32.eqz + if + return + end + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + local.get $0 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $2 + i32.const 8 + i32.ge_u + if + local.get $2 + i32.const 8 + i32.sub + local.tee $2 + local.get $0 + i32.add + local.get $1 + local.get $2 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $2 + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + local.get $0 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + else + local.get $1 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 197 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_s + i32.store8 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 198 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.tee $3 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.set $6 + local.get $1 + i32.load + local.set $0 + local.get $3 + i32.load + local.set $2 + local.get $1 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + local.get $2 + i32.add + local.get $5 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + i64.load offset=8 + i64.store8 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $5 + local.get $3 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $2 + loop $repeat|1 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $2 + i32.const 3 + i32.add + local.get $5 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + i64.store8 offset=8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $repeat|1 + end + end + end + ) + (func $std/typedarray/testArraySet (; 199 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int8Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 420 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 421 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 422 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 423 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 424 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 425 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 426 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 427 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 428 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 439 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 440 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 441 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 442 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 443 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 444 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 445 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 446 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 457 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 458 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 952 + i32.const 8 + i32.const 459 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 460 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 461 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 462 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 463 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 464 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 475 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 476 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 477 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 478 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 479 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 480 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 481 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 482 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $start:std/typedarray (; 200 ;) (type $_) (local $0 i32) (local $1 i32) - i32.const 624 + i32.const 1008 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -9112,11 +11272,12 @@ call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery + call $std/typedarray/testArraySet ) - (func $start (; 194 ;) (type $_) + (func $start (; 201 ;) (type $_) call $start:std/typedarray ) - (func $null (; 195 ;) (type $_) + (func $null (; 202 ;) (type $_) nop ) ) diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index c5122908c2..24cf82cbfd 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -415,18 +415,72 @@ var setSource: i32[] = [1, 2, 3]; function testArraySet, U extends number>(): void { var target: T = instantiate(10); - target.set(setSource, 4); - - assert(target[0] == 0); - assert(target[1] == 0); - assert(target[2] == 0); - assert(target[3] == 0); - assert(target[4] == 1); - assert(target[5] == 2); - assert(target[6] == 3); - assert(target[7] == 0); - assert(target[8] == 0); - assert(target[9] == 0); + target.set(setSource, 4); + + assert(target[0] == 0, "i32[] test fails"); + assert(target[1] == 0, "i32[] test fails"); + assert(target[2] == 0, "i32[] test fails"); + assert(target[3] == 0, "i32[] test fails"); + assert(target[4] == 1, "i32[] test fails"); + assert(target[5] == 2, "i32[] test fails"); + assert(target[6] == 3, "i32[] test fails"); + assert(target[7] == 0, "i32[] test fails"); + assert(target[8] == 0, "i32[] test fails"); + assert(target[9] == 0, "i32[] test fails"); + + var similarSource = instantiate(3); + similarSource[0] = 4; + similarSource[1] = 5; + similarSource[2] = 6; + + target.set(similarSource); + + assert(target[0] == 4, "Similar TypedArray test fails."); + assert(target[1] == 5, "Similar TypedArray test fails."); + assert(target[2] == 6, "Similar TypedArray test fails."); + assert(target[3] == 0, "Similar TypedArray test fails."); + assert(target[4] == 1, "Similar TypedArray test fails."); + assert(target[5] == 2, "Similar TypedArray test fails."); + assert(target[6] == 3, "Similar TypedArray test fails."); + assert(target[7] == 0, "Similar TypedArray test fails."); + assert(target[8] == 0, "Similar TypedArray test fails."); + assert(target[9] == 0, "Similar TypedArray test fails."); + + var floatData = new Float32Array(3); + floatData[0] = 7; + floatData[1] = 8; + floatData[2] = 9; + + target.set(floatData, 7); + + assert(target[0] == 4, "Float32Array test fails."); + assert(target[1] == 5, "Float32Array test fails."); + assert(target[2] == 6, "Float32Array test fails."); + assert(target[3] == 0, "Float32Array test fails."); + assert(target[4] == 1, "Float32Array test fails."); + assert(target[5] == 2, "Float32Array test fails."); + assert(target[6] == 3, "Float32Array test fails."); + assert(target[7] == 7, "Float32Array test fails."); + assert(target[8] == 8, "Float32Array test fails."); + assert(target[9] == 9, "Float32Array test fails."); + + var integerData = new Int64Array(3); + integerData[0] = 10; + integerData[1] = 11; + integerData[2] = 12; + + target.set(integerData, 3); + + assert(target[0] == 4, "Float32Array test fails."); + assert(target[1] == 5, "Float32Array test fails."); + assert(target[2] == 6, "Float32Array test fails."); + assert(target[3] == 10, "Float32Array test fails."); + assert(target[4] == 11, "Float32Array test fails."); + assert(target[5] == 12, "Float32Array test fails."); + assert(target[6] == 3, "Float32Array test fails."); + assert(target[7] == 7, "Float32Array test fails."); + assert(target[8] == 8, "Float32Array test fails."); + assert(target[9] == 9, "Float32Array test fails."); } testArraySet(); diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index e69de29bb2..3a5c5f3351 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -0,0 +1,18698 @@ +(module + (type $iiii_ (func (param i32 i32 i32 i32))) + (type $_ (func)) + (type $i_ (func (param i32))) + (type $iii (func (param i32 i32) (result i32))) + (type $ii (func (param i32) (result i32))) + (type $iii_ (func (param i32 i32 i32))) + (type $iiii (func (param i32 i32 i32) (result i32))) + (type $iiF_ (func (param i32 i32 f64))) + (type $FFi (func (param f64 f64) (result i32))) + (type $iiF (func (param i32 i32) (result f64))) + (type $iiiii (func (param i32 i32 i32 i32) (result i32))) + (type $iiI_ (func (param i32 i32 i64))) + (type $IIiiI (func (param i64 i64 i32 i32) (result i64))) + (type $iiII (func (param i32 i32 i64) (result i64))) + (type $iif_ (func (param i32 i32 f32))) + (type $ffiif (func (param f32 f32 i32 i32) (result f32))) + (type $iiff (func (param i32 i32 f32) (result f32))) + (type $FFiiF (func (param f64 f64 i32 i32) (result f64))) + (type $iiFF (func (param i32 i32 f64) (result f64))) + (type $IiiI (func (param i64 i32 i32) (result i64))) + (type $iiI (func (param i32 i32) (result i64))) + (type $fiif (func (param f32 i32 i32) (result f32))) + (type $iif (func (param i32 i32) (result f32))) + (type $FiiF (func (param f64 i32 i32) (result f64))) + (type $Iiii (func (param i64 i32 i32) (result i32))) + (type $fiii (func (param f32 i32 i32) (result i32))) + (type $Fiii (func (param f64 i32 i32) (result i32))) + (type $fff (func (param f32 f32) (result f32))) + (type $FFF (func (param f64 f64) (result f64))) + (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\11\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 48) "\1b\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 112) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 176) "\05\00\00\00\00\00\00\00\01\01\01\04\05\00\00\00") + (data (i32.const 192) "\b0\00\00\00\05\00\00\00") + (data (i32.const 200) "\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 216) "\c8\00\00\00\05\00\00\00") + (data (i32.const 224) "\05\00\00\00\00\00\00\00\01\01\00\00\00\00\00\00") + (data (i32.const 240) "\e0\00\00\00\05\00\00\00") + (data (i32.const 248) "\05\00\00\00\00\00\00\00\01\01\00\02\02\00\00\00") + (data (i32.const 264) "\f8\00\00\00\05\00\00\00") + (data (i32.const 272) "\05\00\00\00\00\00\00\00\01\01\00\02\02\00\00\00") + (data (i32.const 288) "\10\01\00\00\05\00\00\00") + (data (i32.const 296) "\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 312) "(\01\00\00\03\00\00\00") + (data (i32.const 320) "\05\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 336) "@\01\00\00\05\00\00\00") + (data (i32.const 344) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 376) "X\01\00\00\05\00\00\00") + (data (i32.const 384) "\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\80\01\00\00\05\00\00\00") + (data (i32.const 424) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 456) "\a8\01\00\00\05\00\00\00") + (data (i32.const 464) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 496) "\d0\01\00\00\05\00\00\00") + (data (i32.const 504) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 536) "\f8\01\00\00\05\00\00\00") + (data (i32.const 544) "\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 576) " \02\00\00\03\00\00\00") + (data (i32.const 584) "\14\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 616) "H\02\00\00\05\00\00\00") + (data (i32.const 624) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 656) "p\02\00\00\03\00\00\00") + (data (i32.const 664) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00T\00a\00r\00g\00e\00t\00 \00i\00s\00 \00n\00u\00l\00l\00.\00") + (data (i32.const 720) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00S\00o\00u\00r\00c\00e\00 \00i\00s\00 \00n\00u\00l\00l\00.\00") + (data (i32.const 776) " \00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00:\00 \00O\00f\00f\00s\00e\00t\00 \00i\00s\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00.\00") + (data (i32.const 848) "\10\00\00\00i\003\002\00[\00]\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00") + (data (i32.const 888) "\1e\00\00\00S\00i\00m\00i\00l\00a\00r\00 \00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") + (data (i32.const 952) "\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") + (table $0 101 funcref) + (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|1 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|3 $std/typedarray/testReduce~anonymous|4 $std/typedarray/testReduce~anonymous|5 $std/typedarray/testReduce~anonymous|6 $std/typedarray/testReduce~anonymous|7 $std/typedarray/testReduce~anonymous|8 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|10 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testReduceRight~anonymous|13 $std/typedarray/testReduceRight~anonymous|14 $std/typedarray/testReduceRight~anonymous|15 $std/typedarray/testReduceRight~anonymous|16 $std/typedarray/testReduceRight~anonymous|17 $std/typedarray/testReduceRight~anonymous|18 $std/typedarray/testReduceRight~anonymous|19 $std/typedarray/testReduceRight~anonymous|20 $std/typedarray/testReduceRight~anonymous|21 $std/typedarray/testReduceRight~anonymous|22 $std/typedarray/testReduceRight~anonymous|23 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|25 $std/typedarray/testArrayMap~anonymous|26 $std/typedarray/testArrayMap~anonymous|27 $std/typedarray/testArrayMap~anonymous|28 $std/typedarray/testArrayMap~anonymous|29 $std/typedarray/testArrayMap~anonymous|30 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|32 $std/typedarray/testArrayMap~anonymous|33 $std/typedarray/testArrayMap~anonymous|34 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|37 $std/typedarray/testArraySome~anonymous|38 $std/typedarray/testArraySome~anonymous|39 $std/typedarray/testArraySome~anonymous|40 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|43 $std/typedarray/testArraySome~anonymous|44 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|47 $std/typedarray/testArraySome~anonymous|48 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|51 $std/typedarray/testArraySome~anonymous|52 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArraySome~anonymous|54 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArraySome~anonymous|56 $std/typedarray/testArrayFindIndex~anonymous|57 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArrayFindIndex~anonymous|59 $std/typedarray/testArrayFindIndex~anonymous|60 $std/typedarray/testArrayFindIndex~anonymous|61 $std/typedarray/testArrayFindIndex~anonymous|62 $std/typedarray/testArrayFindIndex~anonymous|63 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArrayFindIndex~anonymous|65 $std/typedarray/testArrayFindIndex~anonymous|66 $std/typedarray/testArrayFindIndex~anonymous|67 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArrayFindIndex~anonymous|69 $std/typedarray/testArrayFindIndex~anonymous|70 $std/typedarray/testArrayFindIndex~anonymous|71 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArrayFindIndex~anonymous|73 $std/typedarray/testArrayFindIndex~anonymous|74 $std/typedarray/testArrayFindIndex~anonymous|75 $std/typedarray/testArrayFindIndex~anonymous|76 $std/typedarray/testArrayFindIndex~anonymous|77 $std/typedarray/testArrayFindIndex~anonymous|78 $std/typedarray/testArrayEvery~anonymous|79 $std/typedarray/testArrayEvery~anonymous|80 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArrayEvery~anonymous|82 $std/typedarray/testArrayEvery~anonymous|83 $std/typedarray/testArrayEvery~anonymous|84 $std/typedarray/testArrayEvery~anonymous|85 $std/typedarray/testArrayEvery~anonymous|86 $std/typedarray/testArrayEvery~anonymous|87 $std/typedarray/testArrayEvery~anonymous|88 $std/typedarray/testArrayEvery~anonymous|89 $std/typedarray/testArrayEvery~anonymous|90 $std/typedarray/testArrayEvery~anonymous|91 $std/typedarray/testArrayEvery~anonymous|92 $std/typedarray/testArrayEvery~anonymous|93 $std/typedarray/testArrayEvery~anonymous|94 $std/typedarray/testArrayEvery~anonymous|95 $std/typedarray/testArrayEvery~anonymous|96 $std/typedarray/testArrayEvery~anonymous|97 $std/typedarray/testArrayEvery~anonymous|98 $std/typedarray/testArrayEvery~anonymous|99 $std/typedarray/testArrayEvery~anonymous|100) + (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) + (global $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) + (global $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT i32 (i32.const 1)) + (global $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT i32 (i32.const 2)) + (global $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT i32 (i32.const 2)) + (global $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) + (global $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) + (global $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) + (global $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) + (global $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) + (global $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) + (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) + (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) + (global $std/typedarray/arr (mut i32) (i32.const 0)) + (global $std/typedarray/af64 (mut i32) (i32.const 0)) + (global $~lib/argc (mut i32) (i32.const 0)) + (global $std/typedarray/clampedArr (mut i32) (i32.const 0)) + (global $std/typedarray/arr8 (mut i32) (i32.const 0)) + (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) + (global $std/typedarray/sub8 (mut i32) (i32.const 0)) + (global $std/typedarray/arr32 (mut i32) (i32.const 0)) + (global $std/typedarray/sub32 (mut i32) (i32.const 0)) + (global $std/typedarray/MAX_F64LENGTH i32 (i32.const 134217727)) + (global $std/typedarray/multisubarr (mut i32) (i32.const 0)) + (global $std/typedarray/multisubarr1 (mut i32) (i32.const 0)) + (global $std/typedarray/multisubarr2 (mut i32) (i32.const 0)) + (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) + (global $std/typedarray/setSource (mut i32) (i32.const 656)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1004)) + (export "memory" (memory $0)) + (export "table" (table $0)) + (start $start) + (func $start:~lib/allocator/arena (; 1 ;) (type $_) + global.get $~lib/memory/HEAP_BASE + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + global.set $~lib/allocator/arena/startOffset + global.get $~lib/allocator/arena/startOffset + global.set $~lib/allocator/arena/offset + ) + (func $~lib/internal/arraybuffer/computeSize (; 2 ;) (type $ii) (param $0 i32) (result i32) + i32.const 1 + i32.const 32 + local.get $0 + i32.const 8 + i32.add + i32.const 1 + i32.sub + i32.clz + i32.sub + i32.shl + ) + (func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 1073741824 + i32.gt_u + if + unreachable + end + global.get $~lib/allocator/arena/offset + local.set $1 + local.get $1 + local.get $0 + local.tee $2 + i32.const 1 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.add + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + local.set $4 + current_memory + local.set $5 + local.get $4 + local.get $5 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $4 + local.get $1 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $2 + local.get $5 + local.tee $3 + local.get $2 + local.tee $6 + local.get $3 + local.get $6 + i32.gt_s + select + local.set $3 + local.get $3 + grow_memory + i32.const 0 + i32.lt_s + if + local.get $2 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $4 + global.set $~lib/allocator/arena/offset + local.get $1 + ) + (func $~lib/internal/arraybuffer/allocateUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741816 + i32.le_u + i32.eqz + if + i32.const 0 + i32.const 112 + i32.const 26 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/memory/memory.allocate|inlined.0 (result i32) + local.get $0 + call $~lib/internal/arraybuffer/computeSize + local.set $2 + local.get $2 + call $~lib/allocator/arena/__memory_allocate + br $~lib/memory/memory.allocate|inlined.0 + end + local.set $1 + local.get $1 + local.get $0 + i32.store + local.get $1 + ) + (func $~lib/internal/memory/memset (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + local.get $2 + i32.eqz + if + return + end + local.get $0 + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 1 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 2 + i32.le_u + if + return + end + local.get $0 + i32.const 1 + i32.add + local.get $1 + i32.store8 + local.get $0 + i32.const 2 + i32.add + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 2 + i32.sub + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 3 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 6 + i32.le_u + if + return + end + local.get $0 + i32.const 3 + i32.add + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 4 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 8 + i32.le_u + if + return + end + i32.const 0 + local.get $0 + i32.sub + i32.const 3 + i32.and + local.set $3 + local.get $0 + local.get $3 + i32.add + local.set $0 + local.get $2 + local.get $3 + i32.sub + local.set $2 + local.get $2 + i32.const -4 + i32.and + local.set $2 + i32.const -1 + i32.const 255 + i32.div_u + local.get $1 + i32.const 255 + i32.and + i32.mul + local.set $4 + local.get $0 + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 4 + i32.sub + local.get $4 + i32.store + local.get $2 + i32.const 8 + i32.le_u + if + return + end + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 12 + i32.sub + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 8 + i32.sub + local.get $4 + i32.store + local.get $2 + i32.const 24 + i32.le_u + if + return + end + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.store + local.get $0 + i32.const 16 + i32.add + local.get $4 + i32.store + local.get $0 + i32.const 20 + i32.add + local.get $4 + i32.store + local.get $0 + i32.const 24 + i32.add + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 28 + i32.sub + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 24 + i32.sub + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 20 + i32.sub + local.get $4 + i32.store + local.get $0 + local.get $2 + i32.add + i32.const 16 + i32.sub + local.get $4 + i32.store + i32.const 24 + local.get $0 + i32.const 4 + i32.and + i32.add + local.set $3 + local.get $0 + local.get $3 + i32.add + local.set $0 + local.get $2 + local.get $3 + i32.sub + local.set $2 + local.get $4 + i64.extend_i32_u + local.get $4 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $5 + block $break|0 + loop $continue|0 + local.get $2 + i32.const 32 + i32.ge_u + if + block + local.get $0 + local.get $5 + i64.store + local.get $0 + i32.const 8 + i32.add + local.get $5 + i64.store + local.get $0 + i32.const 16 + i32.add + local.get $5 + i64.store + local.get $0 + i32.const 24 + i32.add + local.get $5 + i64.store + local.get $2 + i32.const 32 + i32.sub + local.set $2 + local.get $0 + i32.const 32 + i32.add + local.set $0 + end + br $continue|0 + end + end + end + ) + (func $~lib/memory/memory.allocate (; 6 ;) (type $ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/allocator/arena/__memory_allocate + return + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 1073741816 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 0 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.0 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Int8Array#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 1073741816 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 0 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.1 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Uint8Array#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 536870908 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.2 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Int16Array#constructor (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 536870908 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.3 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Uint16Array#constructor (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 268435454 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.4 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Int32Array#constructor (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 268435454 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.5 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#constructor (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 134217727 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 3 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.6 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Int64Array#constructor (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 134217727 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 3 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.7 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Uint64Array#constructor (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 268435454 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.8 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Float32Array#constructor (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $~lib/internal/typedarray/TypedArray#constructor (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + i32.const 134217727 + i32.gt_u + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 34 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 3 + i32.shl + local.set $2 + local.get $2 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $3 + block $~lib/memory/memory.fill|inlined.9 + local.get $3 + i32.const 8 + i32.add + local.set $4 + i32.const 0 + local.set $5 + local.get $2 + local.set $6 + local.get $4 + local.get $5 + local.get $6 + call $~lib/internal/memory/memset + end + block (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + end + local.get $3 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + ) + (func $~lib/typedarray/Float64Array#constructor (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + local.get $1 + call $~lib/internal/typedarray/TypedArray#constructor + local.set $0 + local.get $0 + ) + (func $std/typedarray/testInstantiate (; 28 ;) (type $i_) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + i32.const 0 + local.get $0 + call $~lib/typedarray/Int8Array#constructor + local.set $1 + local.get $1 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 34 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 35 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $1 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 36 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Uint8Array#constructor + local.set $3 + local.get $3 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 39 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 40 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $3 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 41 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $4 + local.get $4 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 44 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 45 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $4 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 46 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Int16Array#constructor + local.set $5 + local.get $5 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 49 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $5 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 50 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $5 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 51 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Uint16Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 54 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $6 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 55 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $6 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 56 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Int32Array#constructor + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 59 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $7 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 60 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $7 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 61 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Uint32Array#constructor + local.set $8 + local.get $8 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 64 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $8 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 65 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $8 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 66 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Int64Array#constructor + local.set $9 + local.get $9 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 69 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $9 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 70 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $9 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 71 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Uint64Array#constructor + local.set $10 + local.get $10 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 74 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $10 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 75 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $10 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 76 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Float32Array#constructor + local.set $11 + local.get $11 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 79 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $11 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 80 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $11 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 81 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + local.get $0 + call $~lib/typedarray/Float64Array#constructor + local.set $12 + local.get $12 + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 84 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $12 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 85 + i32.const 2 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) + local.get $12 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 86 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 29 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i32.store offset=8 + end + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.add + i32.load offset=8 + end + ) + (func $~lib/typedarray/Int32Array#subarray (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $4 + else + local.get $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $4 + end + local.get $5 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $5 + i32.add + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + else + local.get $5 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + end + block $~lib/memory/memory.allocate|inlined.1 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/allocator/arena/__memory_allocate + br $~lib/memory/memory.allocate|inlined.1 + end + local.set $7 + local.get $7 + local.get $3 + i32.load + i32.store + local.get $7 + local.get $3 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $5 + local.get $4 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 32 ;) (type $iiF_) (param $0 i32) (param $1 i32) (param $2 f64) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + f64.store offset=8 + end + ) + (func $~lib/typedarray/Float64Array#subarray (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $4 + else + local.get $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $4 + end + local.get $5 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $5 + i32.add + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + else + local.get $5 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + end + block $~lib/memory/memory.allocate|inlined.2 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/allocator/arena/__memory_allocate + br $~lib/memory/memory.allocate|inlined.2 + end + local.set $7 + local.get $7 + local.get $3 + i32.load + i32.store + local.get $7 + local.get $3 + i32.load offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $5 + local.get $4 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $7 + ) + (func $~lib/internal/sort/insertionSort (; 34 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f64) + (local $9 i32) + (local $10 f64) + (local $11 f64) + block $break|0 + i32.const 0 + local.set $4 + loop $repeat|0 + local.get $4 + local.get $2 + i32.lt_s + i32.eqz + br_if $break|0 + block + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result f64) + local.get $0 + local.set $5 + local.get $4 + local.set $6 + local.get $1 + local.set $7 + local.get $5 + local.get $6 + i32.const 3 + i32.shl + i32.add + local.get $7 + i32.add + f64.load offset=8 + end + local.set $8 + local.get $4 + i32.const 1 + i32.sub + local.set $7 + block $break|1 + loop $continue|1 + local.get $7 + i32.const 0 + i32.ge_s + if + block + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result f64) + local.get $0 + local.set $6 + local.get $7 + local.set $5 + local.get $1 + local.set $9 + local.get $6 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + f64.load offset=8 + end + local.set $10 + block (result i32) + i32.const 2 + global.set $~lib/argc + local.get $8 + local.get $10 + local.get $3 + call_indirect (type $FFi) + end + i32.const 0 + i32.lt_s + if + local.get $0 + local.set $9 + block (result i32) + local.get $7 + local.tee $5 + i32.const 1 + i32.sub + local.set $7 + local.get $5 + end + i32.const 1 + i32.add + local.set $5 + local.get $10 + local.set $11 + local.get $1 + local.set $6 + local.get $9 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $6 + i32.add + local.get $11 + f64.store offset=8 + else + br $break|1 + end + end + br $continue|1 + end + end + end + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $0 + local.set $6 + local.get $7 + i32.const 1 + i32.add + local.set $5 + local.get $8 + local.set $10 + local.get $1 + local.set $9 + local.get $6 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + f64.store offset=8 + end + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/allocator/arena/__memory_free (; 35 ;) (type $i_) (param $0 i32) + nop + ) + (func $~lib/internal/sort/weakHeapSort (; 36 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 f64) + (local $13 f64) + (local $14 f64) + (local $15 f64) + local.get $2 + i32.const 31 + i32.add + i32.const 5 + i32.shr_s + i32.const 2 + i32.shl + local.set $4 + block $~lib/memory/memory.allocate|inlined.3 (result i32) + local.get $4 + local.set $5 + local.get $5 + call $~lib/allocator/arena/__memory_allocate + br $~lib/memory/memory.allocate|inlined.3 + end + local.set $6 + block $~lib/memory/memory.fill|inlined.10 + local.get $6 + local.set $5 + i32.const 0 + local.set $7 + local.get $4 + local.set $8 + local.get $5 + local.get $7 + local.get $8 + call $~lib/internal/memory/memset + end + block $break|0 + local.get $2 + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.gt_s + i32.eqz + br_if $break|0 + block + local.get $8 + local.set $7 + block $break|1 + loop $continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $6 + local.get $7 + i32.const 6 + i32.shr_s + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $continue|1 + end + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $5 + block $~lib/internal/arraybuffer/LOAD|inlined.4 (result f64) + local.get $0 + local.set $9 + local.get $5 + local.set $10 + local.get $1 + local.set $11 + local.get $9 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + f64.load offset=8 + end + local.set $12 + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result f64) + local.get $0 + local.set $11 + local.get $8 + local.set $10 + local.get $1 + local.set $9 + local.get $11 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + f64.load offset=8 + end + local.set $13 + block (result i32) + i32.const 2 + global.set $~lib/argc + local.get $12 + local.get $13 + local.get $3 + call_indirect (type $FFi) + end + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $8 + i32.const 5 + i32.shr_s + i32.const 2 + i32.shl + i32.add + local.get $6 + local.get $8 + i32.const 5 + i32.shr_s + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $8 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $0 + local.set $9 + local.get $8 + local.set $10 + local.get $12 + local.set $14 + local.get $1 + local.set $11 + local.get $9 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + f64.store offset=8 + end + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $0 + local.set $11 + local.get $5 + local.set $10 + local.get $13 + local.set $14 + local.get $1 + local.set $9 + local.get $11 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + local.get $14 + f64.store offset=8 + end + end + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + block $break|2 + local.get $2 + i32.const 1 + i32.sub + local.set $8 + loop $repeat|2 + local.get $8 + i32.const 2 + i32.ge_s + i32.eqz + br_if $break|2 + block + block $~lib/internal/arraybuffer/LOAD|inlined.6 (result f64) + local.get $0 + local.set $5 + i32.const 0 + local.set $7 + local.get $1 + local.set $9 + local.get $5 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + f64.load offset=8 + end + local.set $13 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $0 + local.set $9 + i32.const 0 + local.set $7 + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result f64) + local.get $0 + local.set $5 + local.get $8 + local.set $10 + local.get $1 + local.set $11 + local.get $5 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + f64.load offset=8 + end + local.set $12 + local.get $1 + local.set $11 + local.get $9 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $12 + f64.store offset=8 + end + block $~lib/internal/arraybuffer/STORE|inlined.8 + local.get $0 + local.set $11 + local.get $8 + local.set $7 + local.get $13 + local.set $12 + local.get $1 + local.set $9 + local.get $11 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + local.get $12 + f64.store offset=8 + end + i32.const 1 + local.set $9 + block $break|3 + loop $continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $6 + local.get $9 + i32.const 5 + i32.shr_s + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $7 + local.get $8 + i32.lt_s + if + local.get $7 + local.set $9 + br $continue|3 + end + end + end + block $break|4 + loop $continue|4 + local.get $9 + i32.const 0 + i32.gt_s + if + block + block $~lib/internal/arraybuffer/LOAD|inlined.8 (result f64) + local.get $0 + local.set $11 + i32.const 0 + local.set $10 + local.get $1 + local.set $5 + local.get $11 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $5 + i32.add + f64.load offset=8 + end + local.set $13 + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result f64) + local.get $0 + local.set $5 + local.get $9 + local.set $10 + local.get $1 + local.set $11 + local.get $5 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + f64.load offset=8 + end + local.set $12 + block (result i32) + i32.const 2 + global.set $~lib/argc + local.get $13 + local.get $12 + local.get $3 + call_indirect (type $FFi) + end + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $9 + i32.const 5 + i32.shr_s + i32.const 2 + i32.shl + i32.add + local.get $6 + local.get $9 + i32.const 5 + i32.shr_s + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + block $~lib/internal/arraybuffer/STORE|inlined.9 + local.get $0 + local.set $11 + local.get $9 + local.set $10 + local.get $13 + local.set $14 + local.get $1 + local.set $5 + local.get $11 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $5 + i32.add + local.get $14 + f64.store offset=8 + end + block $~lib/internal/arraybuffer/STORE|inlined.10 + local.get $0 + local.set $5 + i32.const 0 + local.set $10 + local.get $12 + local.set $14 + local.get $1 + local.set $11 + local.get $5 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + f64.store offset=8 + end + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + end + br $continue|4 + end + end + end + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|2 + unreachable + end + unreachable + end + block $~lib/memory/memory.free|inlined.0 + local.get $6 + local.set $8 + local.get $8 + call $~lib/allocator/arena/__memory_free + br $~lib/memory/memory.free|inlined.0 + end + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f64) + local.get $0 + local.set $8 + i32.const 1 + local.set $7 + local.get $1 + local.set $9 + local.get $8 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + f64.load offset=8 + end + local.set $15 + block $~lib/internal/arraybuffer/STORE|inlined.11 + local.get $0 + local.set $9 + i32.const 1 + local.set $7 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f64) + local.get $0 + local.set $8 + i32.const 0 + local.set $11 + local.get $1 + local.set $10 + local.get $8 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $10 + i32.add + f64.load offset=8 + end + local.set $13 + local.get $1 + local.set $10 + local.get $9 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $10 + i32.add + local.get $13 + f64.store offset=8 + end + block $~lib/internal/arraybuffer/STORE|inlined.12 + local.get $0 + local.set $10 + i32.const 0 + local.set $7 + local.get $15 + local.set $13 + local.get $1 + local.set $9 + local.get $10 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + local.get $13 + f64.store offset=8 + end + ) + (func $~lib/typedarray/Float64Array#sort (; 37 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 i32) + block $~lib/internal/typedarray/SORT|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + local.get $2 + i32.load offset=4 + local.set $4 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $5 + local.get $5 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $5 + local.get $5 + i32.const 1 + i32.le_s + if + local.get $2 + br $~lib/internal/typedarray/SORT|inlined.0 + end + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 2 + i32.eq + if + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result f64) + local.get $6 + local.set $7 + i32.const 1 + local.set $8 + local.get $4 + local.set $9 + local.get $7 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + f64.load offset=8 + end + local.set $10 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result f64) + local.get $6 + local.set $9 + i32.const 0 + local.set $8 + local.get $4 + local.set $7 + local.get $9 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $7 + i32.add + f64.load offset=8 + end + local.set $11 + block (result i32) + i32.const 2 + global.set $~lib/argc + local.get $10 + local.get $11 + local.get $3 + call_indirect (type $FFi) + end + i32.const 0 + i32.lt_s + if + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $7 + i32.const 1 + local.set $8 + local.get $11 + local.set $12 + local.get $4 + local.set $9 + local.get $7 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $9 + i32.add + local.get $12 + f64.store offset=8 + end + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $9 + i32.const 0 + local.set $8 + local.get $10 + local.set $12 + local.get $4 + local.set $7 + local.get $9 + local.get $8 + i32.const 3 + i32.shl + i32.add + local.get $7 + i32.add + local.get $12 + f64.store offset=8 + end + end + local.get $2 + br $~lib/internal/typedarray/SORT|inlined.0 + end + block $~lib/internal/sort/SORT|inlined.0 + local.get $6 + local.set $7 + local.get $4 + local.set $8 + local.get $5 + local.set $9 + local.get $3 + local.set $13 + local.get $9 + i32.const 256 + i32.lt_s + if + local.get $7 + local.get $8 + local.get $9 + local.get $13 + call $~lib/internal/sort/insertionSort + else + local.get $7 + local.get $8 + local.get $9 + local.get $13 + call $~lib/internal/sort/weakHeapSort + end + end + local.get $2 + end + ) + (func $~lib/internal/sort/COMPARATOR~anonymous|1 (; 38 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) + local.get $0 + i64.reinterpret_f64 + local.set $2 + local.get $1 + i64.reinterpret_f64 + local.set $3 + local.get $2 + local.get $2 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $2 + local.get $3 + local.get $3 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $3 + local.get $2 + local.get $3 + i64.gt_s + local.get $2 + local.get $3 + i64.lt_s + i32.sub + ) + (func $~lib/typedarray/Float64Array#sort|trampoline (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~lib/argc + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + block $~lib/internal/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + br $~lib/internal/sort/COMPARATOR|inlined.0 + end + local.set $1 + end + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#sort + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 40 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f64) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $4 + i32.add + f64.load offset=8 + end + ) + (func $~lib/typedarray/clampToByte (; 41 ;) (type $ii) (param $0 i32) (result i32) + local.get $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + i32.and + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 42 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i32.store8 offset=8 + end + ) + (func $~lib/typedarray/Uint8ClampedArray#__set (; 43 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/clampToByte + call $~lib/internal/typedarray/TypedArray#__set + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 44 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.get $4 + i32.add + i32.load8_u offset=8 + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 45 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i32.store8 offset=8 + end + ) + (func $~lib/typedarray/Int8Array#fill (; 46 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + local.get $0 + local.set $4 + local.get $1 + local.set $5 + local.get $2 + local.set $6 + local.get $3 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $4 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $10 + local.get $6 + i32.const 0 + i32.lt_s + if (result i32) + local.get $10 + local.get $6 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $6 + local.tee $11 + local.get $10 + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + end + local.set $6 + local.get $7 + i32.const 0 + i32.lt_s + if (result i32) + local.get $10 + local.get $7 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $7 + local.tee $11 + local.get $10 + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + end + local.set $7 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $8 + local.get $6 + i32.add + local.get $9 + i32.add + i32.const 8 + i32.add + local.set $11 + local.get $5 + local.set $12 + local.get $7 + local.get $6 + i32.sub + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memset + end + local.get $4 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 47 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.get $4 + i32.add + i32.load8_s offset=8 + end + ) + (func $~lib/array/Array#__get (; 48 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.get $2 + i32.load + i32.const 0 + i32.shr_u + i32.lt_u + if (result i32) + local.get $2 + local.set $3 + local.get $1 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.get $5 + i32.add + i32.load8_s offset=8 + else + unreachable + end + ) + (func $std/typedarray/isInt8ArrayEqual (; 49 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $0 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + block $~lib/array/Array#get:length|inlined.1 (result i32) + local.get $1 + local.set $2 + local.get $2 + i32.load offset=4 + end + i32.ne + if + i32.const 0 + return + end + block $break|0 + block + i32.const 0 + local.set $2 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $0 + local.set $3 + local.get $3 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $3 + end + loop $repeat|0 + local.get $2 + local.get $3 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $0 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + ) + (func $~lib/typedarray/Int8Array#fill|trampoline (; 50 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~lib/argc + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/typedarray/Int8Array#fill + ) + (func $~lib/typedarray/Int8Array#subarray (; 51 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $4 + else + local.get $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $4 + end + local.get $5 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $5 + i32.add + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + else + local.get $5 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + end + block $~lib/memory/memory.allocate|inlined.4 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/allocator/arena/__memory_allocate + br $~lib/memory/memory.allocate|inlined.4 + end + local.set $7 + local.get $7 + local.get $3 + i32.load + i32.store + local.get $7 + local.get $3 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $5 + local.get $4 + i32.sub + i32.const 0 + i32.shl + i32.store offset=8 + local.get $7 + ) + (func $~lib/typedarray/Int32Array#fill (; 52 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $4 + local.get $1 + local.set $5 + local.get $2 + local.set $6 + local.get $3 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $4 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $10 + local.get $6 + i32.const 0 + i32.lt_s + if (result i32) + local.get $10 + local.get $6 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $6 + local.tee $11 + local.get $10 + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + end + local.set $6 + local.get $7 + i32.const 0 + i32.lt_s + if (result i32) + local.get $10 + local.get $7 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $7 + local.tee $11 + local.get $10 + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + end + local.set $7 + block $break|0 + loop $repeat|0 + local.get $6 + local.get $7 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $11 + local.get $6 + local.set $12 + local.get $5 + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store offset=8 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $repeat|0 + unreachable + end + unreachable + end + local.get $4 + ) + (func $~lib/array/Array#__get (; 53 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.get $2 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if (result i32) + local.get $2 + local.set $3 + local.get $1 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.add + i32.load offset=8 + else + unreachable + end + ) + (func $std/typedarray/isInt32ArrayEqual (; 54 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $0 + local.set $2 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + block $~lib/array/Array#get:length|inlined.1 (result i32) + local.get $1 + local.set $2 + local.get $2 + i32.load offset=4 + end + i32.ne + if + i32.const 0 + return + end + block $break|0 + block + i32.const 0 + local.set $2 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $0 + local.set $3 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $3 + end + loop $repeat|0 + local.get $2 + local.get $3 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $0 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + ) + (func $~lib/typedarray/Int32Array#fill|trampoline (; 55 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~lib/argc + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/typedarray/Int32Array#fill + ) + (func $std/typedarray/testReduce~anonymous|2 (; 56 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int8Array#reduce (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $12 + i32.add + i32.load8_s offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 58 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 0 + call $~lib/typedarray/Int8Array#reduce + local.set $1 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduce~anonymous|3 (; 59 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint8Array#reduce (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $12 + i32.add + i32.load8_u offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 61 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Uint8Array#reduce + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduce~anonymous|4 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $std/typedarray/testReduce (; 63 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Uint8Array#reduce + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 64 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i32.store16 offset=8 + end + ) + (func $std/typedarray/testReduce~anonymous|5 (; 65 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int16Array#reduce (; 66 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $12 + i32.add + i32.load16_s offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 67 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int16Array#reduce + local.set $1 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 68 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i32.store16 offset=8 + end + ) + (func $std/typedarray/testReduce~anonymous|6 (; 69 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint16Array#reduce (; 70 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $12 + i32.add + i32.load16_u offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 71 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 6 + i32.const 0 + call $~lib/typedarray/Uint16Array#reduce + local.set $1 + local.get $1 + i32.const 65535 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduce~anonymous|7 (; 72 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int32Array#reduce (; 73 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $12 + i32.add + i32.load offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 74 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 7 + i32.const 0 + call $~lib/typedarray/Int32Array#reduce + local.set $1 + local.get $1 + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 75 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i32.store offset=8 + end + ) + (func $std/typedarray/testReduce~anonymous|8 (; 76 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint32Array#reduce (; 77 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $12 + i32.add + i32.load offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 78 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 8 + i32.const 0 + call $~lib/typedarray/Uint32Array#reduce + local.set $1 + local.get $1 + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 79 ;) (type $iiI_) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i64.store offset=8 + end + ) + (func $std/typedarray/testReduce~anonymous|9 (; 80 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + local.get $0 + local.get $1 + i64.add + ) + (func $~lib/typedarray/Int64Array#reduce (; 81 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i64) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $12 + i32.add + i64.load offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $IIiiI) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 82 ;) (type $_) + (local $0 i32) + (local $1 i64) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 9 + i64.const 0 + call $~lib/typedarray/Int64Array#reduce + local.set $1 + local.get $1 + i64.const 6 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 83 ;) (type $iiI_) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + i64.store offset=8 + end + ) + (func $std/typedarray/testReduce~anonymous|10 (; 84 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + local.get $0 + local.get $1 + i64.add + ) + (func $~lib/typedarray/Uint64Array#reduce (; 85 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i64) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $12 + i32.add + i64.load offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $IIiiI) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 86 ;) (type $_) + (local $0 i32) + (local $1 i64) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 10 + i64.const 0 + call $~lib/typedarray/Uint64Array#reduce + local.set $1 + local.get $1 + i64.const 6 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/internal/typedarray/TypedArray#__set (; 87 ;) (type $iif_) (param $0 i32) (param $1 i32) (param $2 f32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 50 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $0 + i32.load + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $0 + i32.load offset=4 + local.set $6 + local.get $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.add + local.get $5 + f32.store offset=8 + end + ) + (func $std/typedarray/testReduce~anonymous|11 (; 88 ;) (type $ffiif) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + local.get $0 + local.get $1 + f32.add + ) + (func $~lib/typedarray/Float32Array#reduce (; 89 ;) (type $iiff) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result f32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.0 (result f32) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $12 + i32.add + f32.load offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $ffiif) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 90 ;) (type $_) + (local $0 i32) + (local $1 f32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 11 + f32.const 0 + call $~lib/typedarray/Float32Array#reduce + local.set $1 + local.get $1 + f32.const 6 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduce~anonymous|12 (; 91 ;) (type $FFiiF) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + local.get $0 + local.get $1 + f64.add + ) + (func $~lib/typedarray/Float64Array#reduce (; 92 ;) (type $iiFF) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $3 + i32.load + local.set $7 + local.get $3 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block (result f64) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f64) + local.get $7 + local.set $10 + local.get $9 + local.set $11 + local.get $8 + local.set $12 + local.get $10 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $12 + i32.add + f64.load offset=8 + end + local.get $9 + local.get $3 + local.get $4 + call_indirect (type $FFiiF) + end + local.set $5 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduce (; 93 ;) (type $_) + (local $0 i32) + (local $1 f64) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 12 + f64.const 0 + call $~lib/typedarray/Float64Array#reduce + local.set $1 + local.get $1 + f64.const 6 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 252 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|13 (; 94 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int8Array#reduceRight (; 95 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.add + i32.load8_s offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 96 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 13 + i32.const 0 + call $~lib/typedarray/Int8Array#reduceRight + local.set $1 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|14 (; 97 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint8Array#reduceRight (; 98 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.add + i32.load8_u offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 99 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 14 + i32.const 0 + call $~lib/typedarray/Uint8Array#reduceRight + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|15 (; 100 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $std/typedarray/testReduceRight (; 101 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/typedarray/Uint8Array#reduceRight + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|16 (; 102 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int16Array#reduceRight (; 103 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.add + i32.load16_s offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 104 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 16 + i32.const 0 + call $~lib/typedarray/Int16Array#reduceRight + local.set $1 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|17 (; 105 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint16Array#reduceRight (; 106 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.add + i32.load16_u offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 107 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 17 + i32.const 0 + call $~lib/typedarray/Uint16Array#reduceRight + local.set $1 + local.get $1 + i32.const 65535 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|18 (; 108 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int32Array#reduceRight (; 109 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.add + i32.load offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 110 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 18 + i32.const 0 + call $~lib/typedarray/Int32Array#reduceRight + local.set $1 + local.get $1 + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|19 (; 111 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint32Array#reduceRight (; 112 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.add + i32.load offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $iiiii) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 113 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 19 + i32.const 0 + call $~lib/typedarray/Uint32Array#reduceRight + local.set $1 + local.get $1 + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|20 (; 114 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + local.get $0 + local.get $1 + i64.add + ) + (func $~lib/typedarray/Int64Array#reduceRight (; 115 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i64) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i64) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + i64.load offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $IIiiI) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 116 ;) (type $_) + (local $0 i32) + (local $1 i64) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 20 + i64.const 0 + call $~lib/typedarray/Int64Array#reduceRight + local.set $1 + local.get $1 + i64.const 6 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|21 (; 117 ;) (type $IIiiI) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + local.get $0 + local.get $1 + i64.add + ) + (func $~lib/typedarray/Uint64Array#reduceRight (; 118 ;) (type $iiII) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result i64) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i64) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + i64.load offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $IIiiI) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 119 ;) (type $_) + (local $0 i32) + (local $1 i64) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 21 + i64.const 0 + call $~lib/typedarray/Uint64Array#reduceRight + local.set $1 + local.get $1 + i64.const 6 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|22 (; 120 ;) (type $ffiif) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + local.get $0 + local.get $1 + f32.add + ) + (func $~lib/typedarray/Float32Array#reduceRight (; 121 ;) (type $iiff) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result f32) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.1 (result f32) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.add + f32.load offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $ffiif) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 122 ;) (type $_) + (local $0 i32) + (local $1 f32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 22 + f32.const 0 + call $~lib/typedarray/Float32Array#reduceRight + local.set $1 + local.get $1 + f32.const 6 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testReduceRight~anonymous|23 (; 123 ;) (type $FFiiF) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + local.get $0 + local.get $1 + f64.add + ) + (func $~lib/typedarray/Float64Array#reduceRight (; 124 ;) (type $iiFF) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $3 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block (result f64) + i32.const 4 + global.set $~lib/argc + local.get $5 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f64) + local.get $6 + local.set $9 + local.get $8 + local.set $10 + local.get $7 + local.set $11 + local.get $9 + local.get $10 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + f64.load offset=8 + end + local.get $8 + local.get $3 + local.get $4 + call_indirect (type $FFiiF) + end + local.set $5 + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + local.get $5 + ) + (func $std/typedarray/testReduceRight (; 125 ;) (type $_) + (local $0 i32) + (local $1 f64) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 23 + f64.const 0 + call $~lib/typedarray/Float64Array#reduceRight + local.set $1 + local.get $1 + f64.const 6 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 279 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|24 (; 126 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Int8Array#map (; 127 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Int8Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + i32.load8_s offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $std/typedarray/testArrayMap (; 128 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 24 + call $~lib/typedarray/Int8Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|25 (; 129 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Uint8Array#map (; 130 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Uint8Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + i32.load8_u offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 255 + i32.and + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $std/typedarray/testArrayMap (; 131 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 25 + call $~lib/typedarray/Uint8Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|26 (; 132 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Uint8ClampedArray#map (; 133 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + i32.load8_u offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 255 + i32.and + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $std/typedarray/testArrayMap (; 134 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 26 + call $~lib/typedarray/Uint8ClampedArray#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|27 (; 135 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Int16Array#map (; 136 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Int16Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + i32.load16_s offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store16 offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 137 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $4 + i32.add + i32.load16_s offset=8 + end + ) + (func $std/typedarray/testArrayMap (; 138 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 27 + call $~lib/typedarray/Int16Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|28 (; 139 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Uint16Array#map (; 140 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Uint16Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + i32.load16_u offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 65535 + i32.and + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store16 offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 141 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $4 + i32.add + i32.load16_u offset=8 + end + ) + (func $std/typedarray/testArrayMap (; 142 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 28 + call $~lib/typedarray/Uint16Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|29 (; 143 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Int32Array#map (; 144 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Int32Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + i32.load offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $std/typedarray/testArrayMap (; 145 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 29 + call $~lib/typedarray/Int32Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|30 (; 146 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Uint32Array#map (; 147 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Uint32Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + i32.load offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + local.set $14 + i32.const 0 + local.set $13 + local.get $10 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $13 + i32.add + local.get $14 + i32.store offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 148 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.add + i32.load offset=8 + end + ) + (func $std/typedarray/testArrayMap (; 149 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 30 + call $~lib/typedarray/Uint32Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|31 (; 150 ;) (type $IiiI) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + local.get $0 + local.get $0 + i64.mul + ) + (func $~lib/typedarray/Int64Array#map (; 151 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i64) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Int64Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i64) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i64) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $IiiI) + end + local.set $15 + i32.const 0 + local.set $14 + local.get $10 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $15 + i64.store offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 152 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i64) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $4 + i32.add + i64.load offset=8 + end + ) + (func $std/typedarray/testArrayMap (; 153 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 31 + call $~lib/typedarray/Int64Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|32 (; 154 ;) (type $IiiI) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + local.get $0 + local.get $0 + i64.mul + ) + (func $~lib/typedarray/Uint64Array#map (; 155 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i64) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Uint64Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result i64) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i64) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $IiiI) + end + local.set $15 + i32.const 0 + local.set $14 + local.get $10 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $15 + i64.store offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 156 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i64) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $4 + i32.add + i64.load offset=8 + end + ) + (func $std/typedarray/testArrayMap (; 157 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 32 + call $~lib/typedarray/Uint64Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|33 (; 158 ;) (type $fiif) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + local.get $0 + local.get $0 + f32.mul + ) + (func $~lib/typedarray/Float32Array#map (; 159 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 f32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Float32Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result f32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.2 (result f32) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $fiif) + end + local.set $15 + i32.const 0 + local.set $14 + local.get $10 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $15 + f32.store offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $~lib/internal/typedarray/TypedArray#__get (; 160 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 48 + i32.const 39 + i32.const 63 + call $~lib/env/abort + unreachable + end + block $~lib/internal/arraybuffer/LOAD|inlined.3 (result f32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.add + f32.load offset=8 + end + ) + (func $std/typedarray/testArrayMap (; 161 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 33 + call $~lib/typedarray/Float32Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|34 (; 162 ;) (type $FiiF) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + local.get $0 + local.get $0 + f64.mul + ) + (func $~lib/typedarray/Float64Array#map (; 163 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 f64) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + i32.const 0 + local.get $4 + call $~lib/typedarray/Float64Array#constructor + local.set $7 + local.get $7 + i32.load + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $repeat|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.13 + local.get $8 + local.set $10 + local.get $9 + local.set $11 + block (result f64) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f64) + local.get $5 + local.set $12 + local.get $9 + local.set $13 + local.get $6 + local.set $14 + local.get $12 + local.get $13 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + f64.load offset=8 + end + local.get $9 + local.get $2 + local.get $3 + call_indirect (type $FiiF) + end + local.set $15 + i32.const 0 + local.set $14 + local.get $10 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $15 + f64.store offset=8 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $repeat|0 + unreachable + end + unreachable + end + local.get $7 + ) + (func $std/typedarray/testArrayMap (; 164 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 34 + call $~lib/typedarray/Float64Array#map + local.set $1 + local.get $1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|35 (; 165 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int8Array#some (; 166 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_s offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|36 (; 167 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 168 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 35 + call $~lib/typedarray/Int8Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 36 + call $~lib/typedarray/Int8Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|37 (; 169 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8Array#some (; 170 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|38 (; 171 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 172 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 37 + call $~lib/typedarray/Uint8Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 38 + call $~lib/typedarray/Uint8Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|39 (; 173 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8ClampedArray#some (; 174 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|40 (; 175 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 176 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 39 + call $~lib/typedarray/Uint8ClampedArray#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 40 + call $~lib/typedarray/Uint8ClampedArray#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|41 (; 177 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int16Array#some (; 178 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.add + i32.load16_s offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|42 (; 179 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 180 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 41 + call $~lib/typedarray/Int16Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 42 + call $~lib/typedarray/Int16Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|43 (; 181 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint16Array#some (; 182 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.add + i32.load16_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|44 (; 183 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 184 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 43 + call $~lib/typedarray/Uint16Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 44 + call $~lib/typedarray/Uint16Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|45 (; 185 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int32Array#some (; 186 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + i32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|46 (; 187 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 188 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 45 + call $~lib/typedarray/Int32Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 46 + call $~lib/typedarray/Int32Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|47 (; 189 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint32Array#some (; 190 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + i32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|48 (; 191 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome (; 192 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 47 + call $~lib/typedarray/Uint32Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 48 + call $~lib/typedarray/Uint32Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|49 (; 193 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Int64Array#some (; 194 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + i64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|50 (; 195 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArraySome (; 196 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 49 + call $~lib/typedarray/Int64Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 50 + call $~lib/typedarray/Int64Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|51 (; 197 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Uint64Array#some (; 198 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + i64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Iiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|52 (; 199 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArraySome (; 200 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 51 + call $~lib/typedarray/Uint64Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 52 + call $~lib/typedarray/Uint64Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|53 (; 201 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 2 + f32.eq + ) + (func $~lib/typedarray/Float32Array#some (; 202 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.5 (result f32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + f32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $fiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|54 (; 203 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 0 + f32.eq + ) + (func $std/typedarray/testArraySome (; 204 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 53 + call $~lib/typedarray/Float32Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 54 + call $~lib/typedarray/Float32Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySome~anonymous|55 (; 205 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 2 + f64.eq + ) + (func $~lib/typedarray/Float64Array#some (; 206 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + f64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Fiii) + end + i32.const 0 + i32.ne + if + i32.const 1 + br $~lib/internal/typedarray/SOME|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome~anonymous|56 (; 207 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 0 + f64.eq + ) + (func $std/typedarray/testArraySome (; 208 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 55 + call $~lib/typedarray/Float64Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 335 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 56 + call $~lib/typedarray/Float64Array#some + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 338 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|57 (; 209 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int8Array#findIndex (; 210 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_s offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|58 (; 211 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 212 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 57 + call $~lib/typedarray/Int8Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 58 + call $~lib/typedarray/Int8Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|59 (; 213 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8Array#findIndex (; 214 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|60 (; 215 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 216 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 59 + call $~lib/typedarray/Uint8Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 60 + call $~lib/typedarray/Uint8Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|61 (; 217 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 218 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|62 (; 219 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 220 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 61 + call $~lib/typedarray/Uint8ClampedArray#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 62 + call $~lib/typedarray/Uint8ClampedArray#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|63 (; 221 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int16Array#findIndex (; 222 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.add + i32.load16_s offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|64 (; 223 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 224 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 63 + call $~lib/typedarray/Int16Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 64 + call $~lib/typedarray/Int16Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|65 (; 225 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint16Array#findIndex (; 226 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.add + i32.load16_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|66 (; 227 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 228 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 65 + call $~lib/typedarray/Uint16Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 66 + call $~lib/typedarray/Uint16Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|67 (; 229 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int32Array#findIndex (; 230 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + i32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|68 (; 231 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 232 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 67 + call $~lib/typedarray/Int32Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 68 + call $~lib/typedarray/Int32Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|69 (; 233 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint32Array#findIndex (; 234 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + i32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|70 (; 235 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 236 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 69 + call $~lib/typedarray/Uint32Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 70 + call $~lib/typedarray/Uint32Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|71 (; 237 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Int64Array#findIndex (; 238 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + i64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|72 (; 239 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 4 + i64.eq + ) + (func $std/typedarray/testArrayFindIndex (; 240 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 71 + call $~lib/typedarray/Int64Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 72 + call $~lib/typedarray/Int64Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|73 (; 241 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Uint64Array#findIndex (; 242 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + i64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Iiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|74 (; 243 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 4 + i64.eq + ) + (func $std/typedarray/testArrayFindIndex (; 244 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 73 + call $~lib/typedarray/Uint64Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 74 + call $~lib/typedarray/Uint64Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|75 (; 245 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 2 + f32.eq + ) + (func $~lib/typedarray/Float32Array#findIndex (; 246 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.7 (result f32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + f32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $fiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|76 (; 247 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 4 + f32.eq + ) + (func $std/typedarray/testArrayFindIndex (; 248 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 75 + call $~lib/typedarray/Float32Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 76 + call $~lib/typedarray/Float32Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|77 (; 249 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 2 + f64.eq + ) + (func $~lib/typedarray/Float64Array#findIndex (; 250 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + f64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Fiii) + end + i32.const 0 + i32.ne + if + local.get $7 + br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const -1 + end + ) + (func $std/typedarray/testArrayFindIndex~anonymous|78 (; 251 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 4 + f64.eq + ) + (func $std/typedarray/testArrayFindIndex (; 252 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 77 + call $~lib/typedarray/Float64Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 365 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 78 + call $~lib/typedarray/Float64Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 368 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|79 (; 253 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.rem_s + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Int8Array#every (; 254 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_s offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|80 (; 255 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 256 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 79 + call $~lib/typedarray/Int8Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 80 + call $~lib/typedarray/Int8Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|81 (; 257 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Uint8Array#every (; 258 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|82 (; 259 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 260 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 81 + call $~lib/typedarray/Uint8Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 82 + call $~lib/typedarray/Uint8Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|83 (; 261 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Uint8ClampedArray#every (; 262 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.add + i32.load8_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|84 (; 263 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 264 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 83 + call $~lib/typedarray/Uint8ClampedArray#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 84 + call $~lib/typedarray/Uint8ClampedArray#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|85 (; 265 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.rem_s + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Int16Array#every (; 266 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.add + i32.load16_s offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|86 (; 267 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 268 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 85 + call $~lib/typedarray/Int16Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 86 + call $~lib/typedarray/Int16Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|87 (; 269 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Uint16Array#every (; 270 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.add + i32.load16_u offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|88 (; 271 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 272 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 87 + call $~lib/typedarray/Uint16Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 88 + call $~lib/typedarray/Uint16Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|89 (; 273 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.rem_s + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Int32Array#every (; 274 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + i32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|90 (; 275 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 276 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 89 + call $~lib/typedarray/Int32Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 90 + call $~lib/typedarray/Int32Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|91 (; 277 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq + ) + (func $~lib/typedarray/Uint32Array#every (; 278 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + i32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|92 (; 279 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery (; 280 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 91 + call $~lib/typedarray/Uint32Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 92 + call $~lib/typedarray/Uint32Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|93 (; 281 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.rem_s + i64.const 0 + i64.eq + ) + (func $~lib/typedarray/Int64Array#every (; 282 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + i64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|94 (; 283 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayEvery (; 284 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 93 + call $~lib/typedarray/Int64Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 94 + call $~lib/typedarray/Int64Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayEvery~anonymous|95 (; 285 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.rem_u + i64.const 0 + i64.eq + ) + (func $~lib/typedarray/Uint64Array#every (; 286 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + i64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Iiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|96 (; 287 ;) (type $Iiii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayEvery (; 288 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 95 + call $~lib/typedarray/Uint64Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 96 + call $~lib/typedarray/Uint64Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/math/NativeMathf.mod (; 289 ;) (type $fff) (param $0 f32) (param $1 f32) (result f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f32) + (local $10 i32) + (local $11 i32) + local.get $0 + i32.reinterpret_f32 + local.set $2 + local.get $1 + i32.reinterpret_f32 + local.set $3 + local.get $2 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $4 + local.get $3 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $5 + local.get $2 + i32.const -2147483648 + i32.and + local.set $6 + local.get $3 + i32.const 1 + i32.shl + local.set $7 + local.get $7 + i32.const 0 + i32.eq + local.tee $8 + if (result i32) + local.get $8 + else + local.get $4 + i32.const 255 + i32.eq + end + local.tee $8 + if (result i32) + local.get $8 + else + local.get $1 + local.set $9 + local.get $9 + local.get $9 + f32.ne + end + i32.const 0 + i32.ne + if + local.get $0 + local.get $1 + f32.mul + local.set $9 + local.get $9 + local.get $9 + f32.div + return + end + local.get $2 + i32.const 1 + i32.shl + local.set $10 + local.get $10 + local.get $7 + i32.le_u + if + local.get $10 + local.get $7 + i32.eq + if + f32.const 0 + local.get $0 + f32.mul + return + end + local.get $0 + return + end + local.get $4 + i32.eqz + if + local.get $4 + local.get $2 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $4 + local.get $2 + i32.const 0 + local.get $4 + i32.sub + i32.const 1 + i32.add + i32.shl + local.set $2 + else + local.get $2 + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $2 + local.get $2 + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $2 + end + local.get $5 + i32.eqz + if + local.get $5 + local.get $3 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $5 + local.get $3 + i32.const 0 + local.get $5 + i32.sub + i32.const 1 + i32.add + i32.shl + local.set $3 + else + local.get $3 + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $3 + local.get $3 + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $3 + end + block $break|0 + loop $continue|0 + local.get $4 + local.get $5 + i32.gt_s + if + block + local.get $2 + local.get $3 + i32.ge_u + if + local.get $2 + local.get $3 + i32.eq + if + f32.const 0 + local.get $0 + f32.mul + return + end + local.get $2 + local.get $3 + i32.sub + local.set $2 + end + local.get $2 + i32.const 1 + i32.shl + local.set $2 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + end + br $continue|0 + end + end + end + local.get $2 + local.get $3 + i32.ge_u + if + local.get $2 + local.get $3 + i32.eq + if + f32.const 0 + local.get $0 + f32.mul + return + end + local.get $2 + local.get $3 + i32.sub + local.set $2 + end + local.get $2 + i32.const 8 + i32.shl + i32.clz + local.set $11 + local.get $4 + local.get $11 + i32.sub + local.set $4 + local.get $2 + local.get $11 + i32.shl + local.set $2 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $2 + i32.const 1 + i32.const 23 + i32.shl + i32.sub + local.set $2 + local.get $2 + local.get $4 + i32.const 23 + i32.shl + i32.or + local.set $2 + else + local.get $2 + i32.const 0 + local.get $4 + i32.sub + i32.const 1 + i32.add + i32.shr_u + local.set $2 + end + local.get $2 + local.get $6 + i32.or + local.set $2 + local.get $2 + f32.reinterpret_i32 + ) + (func $std/typedarray/testArrayEvery~anonymous|97 (; 290 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 2 + call $~lib/math/NativeMathf.mod + f32.const 0 + f32.eq + ) + (func $~lib/typedarray/Float32Array#every (; 291 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.9 (result f32) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.add + f32.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $fiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|98 (; 292 ;) (type $fiii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 2 + f32.eq + ) + (func $std/typedarray/testArrayEvery (; 293 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 97 + call $~lib/typedarray/Float32Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 98 + call $~lib/typedarray/Float32Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/math/NativeMath.mod (; 294 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64) + (local $2 i64) + (local $3 i64) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 f64) + (local $10 i64) + (local $11 i64) + local.get $0 + i64.reinterpret_f64 + local.set $2 + local.get $1 + i64.reinterpret_f64 + local.set $3 + local.get $2 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $4 + local.get $3 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $5 + local.get $2 + i64.const 63 + i64.shr_u + local.set $6 + local.get $3 + i64.const 1 + i64.shl + local.set $7 + local.get $7 + i64.const 0 + i64.eq + local.tee $8 + if (result i32) + local.get $8 + else + local.get $4 + i64.const 2047 + i64.eq + end + local.tee $8 + if (result i32) + local.get $8 + else + local.get $1 + local.set $9 + local.get $9 + local.get $9 + f64.ne + end + i32.const 0 + i32.ne + if + local.get $0 + local.get $1 + f64.mul + local.set $9 + local.get $9 + local.get $9 + f64.div + return + end + local.get $2 + i64.const 1 + i64.shl + local.set $10 + local.get $10 + local.get $7 + i64.le_u + if + local.get $10 + local.get $7 + i64.eq + if + f64.const 0 + local.get $0 + f64.mul + return + end + local.get $0 + return + end + local.get $4 + i64.eqz + if + local.get $4 + local.get $2 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $4 + local.get $2 + i64.const 0 + local.get $4 + i64.sub + i64.const 1 + i64.add + i64.shl + local.set $2 + else + local.get $2 + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $2 + local.get $2 + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $2 + end + local.get $5 + i64.eqz + if + local.get $5 + local.get $3 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $5 + local.get $3 + i64.const 0 + local.get $5 + i64.sub + i64.const 1 + i64.add + i64.shl + local.set $3 + else + local.get $3 + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $3 + local.get $3 + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $3 + end + block $break|0 + loop $continue|0 + local.get $4 + local.get $5 + i64.gt_s + if + block + local.get $2 + local.get $3 + i64.ge_u + if + local.get $2 + local.get $3 + i64.eq + if + f64.const 0 + local.get $0 + f64.mul + return + end + local.get $2 + local.get $3 + i64.sub + local.set $2 + end + local.get $2 + i64.const 1 + i64.shl + local.set $2 + local.get $4 + i64.const 1 + i64.sub + local.set $4 + end + br $continue|0 + end + end + end + local.get $2 + local.get $3 + i64.ge_u + if + local.get $2 + local.get $3 + i64.eq + if + f64.const 0 + local.get $0 + f64.mul + return + end + local.get $2 + local.get $3 + i64.sub + local.set $2 + end + local.get $2 + i64.const 11 + i64.shl + i64.clz + local.set $11 + local.get $4 + local.get $11 + i64.sub + local.set $4 + local.get $2 + local.get $11 + i64.shl + local.set $2 + local.get $4 + i64.const 0 + i64.gt_s + if + local.get $2 + i64.const 1 + i64.const 52 + i64.shl + i64.sub + local.set $2 + local.get $2 + local.get $4 + i64.const 52 + i64.shl + i64.or + local.set $2 + else + local.get $2 + i64.const 0 + local.get $4 + i64.sub + i64.const 1 + i64.add + i64.shr_u + local.set $2 + end + local.get $2 + local.get $6 + i64.const 63 + i64.shl + i64.or + local.set $2 + local.get $2 + f64.reinterpret_i64 + ) + (func $std/typedarray/testArrayEvery~anonymous|99 (; 295 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 2 + call $~lib/math/NativeMath.mod + f64.const 0 + f64.eq + ) + (func $~lib/typedarray/Float64Array#every (; 296 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $4 + local.get $2 + i32.load + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + loop $repeat|0 + block $continue|0 + local.get $7 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + block + block (result i32) + i32.const 3 + global.set $~lib/argc + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result f64) + local.get $5 + local.set $10 + local.get $7 + local.set $9 + local.get $6 + local.set $8 + local.get $10 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $8 + i32.add + f64.load offset=8 + end + local.get $7 + local.get $2 + local.get $3 + call_indirect (type $Fiii) + end + i32.const 0 + i32.ne + if + br $continue|0 + end + i32.const 0 + br $~lib/internal/typedarray/EVERY|inlined.0 + unreachable + end + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $repeat|0 + unreachable + end + unreachable + end + i32.const 1 + end + ) + (func $std/typedarray/testArrayEvery~anonymous|100 (; 297 ;) (type $Fiii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 2 + f64.eq + ) + (func $std/typedarray/testArrayEvery (; 298 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + i32.const 0 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 1 + f64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 2 + f64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + i32.const 99 + call $~lib/typedarray/Float64Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 395 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 100 + call $~lib/typedarray/Float64Array#every + local.set $2 + local.get $2 + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 398 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/array/Array#__unchecked_get (; 299 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + i32.const 0 + local.set $4 + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.add + i32.load offset=8 + ) + (func $~lib/typedarray/Int8Array#set,i32> (; 300 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.2 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/internal/memory/memcpy (; 301 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + local.get $2 + end + if + block + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + end + br $continue|0 + end + end + end + local.get $0 + i32.const 3 + i32.and + i32.const 0 + i32.eq + if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + if + block + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|1 + end + end + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + block $case0|2 + local.get $0 + i32.const 3 + i32.and + local.set $5 + local.get $5 + i32.const 1 + i32.eq + br_if $case0|2 + local.get $5 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $5 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + block + local.get $1 + i32.load + local.set $3 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + block $break|3 + loop $continue|3 + local.get $2 + i32.const 17 + i32.ge_u + if + block + local.get $1 + i32.const 1 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 5 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 9 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 13 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|3 + end + end + end + br $break|2 + unreachable + end + unreachable + end + block + local.get $1 + i32.load + local.set $3 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + block $break|4 + loop $continue|4 + local.get $2 + i32.const 18 + i32.ge_u + if + block + local.get $1 + i32.const 2 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 6 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 10 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 14 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|4 + end + end + end + br $break|2 + unreachable + end + unreachable + end + block + local.get $1 + i32.load + local.set $3 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + block $break|5 + loop $continue|5 + local.get $2 + i32.const 19 + i32.ge_u + if + block + local.get $1 + i32.const 3 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 7 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 11 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 15 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|5 + end + end + end + br $break|2 + unreachable + end + unreachable + end + end + local.get $2 + i32.const 16 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + ) + (func $~lib/internal/memory/memmove (; 302 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $0 + local.get $1 + i32.eq + if + return + end + local.get $1 + local.get $2 + i32.add + local.get $0 + i32.le_u + local.tee $3 + if (result i32) + local.get $3 + else + local.get $0 + local.get $2 + i32.add + local.get $1 + i32.le_u + end + if + local.get $0 + local.get $1 + local.get $2 + call $~lib/internal/memory/memcpy + return + end + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + block + local.get $2 + i32.eqz + if + return + end + local.get $2 + i32.const 1 + i32.sub + local.set $2 + block (result i32) + local.get $0 + local.tee $3 + i32.const 1 + i32.add + local.set $0 + local.get $3 + end + block (result i32) + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $3 + end + i32.load8_u + i32.store8 + end + br $continue|0 + end + end + end + block $break|1 + loop $continue|1 + local.get $2 + i32.const 8 + i32.ge_u + if + block + local.get $0 + local.get $1 + i64.load + i64.store + local.get $2 + i32.const 8 + i32.sub + local.set $2 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + br $continue|1 + end + end + end + end + block $break|2 + loop $continue|2 + local.get $2 + if + block + block (result i32) + local.get $0 + local.tee $3 + i32.const 1 + i32.add + local.set $0 + local.get $3 + end + block (result i32) + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $3 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + end + br $continue|2 + end + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $0 + local.get $2 + i32.add + i32.const 7 + i32.and + if + block + local.get $2 + i32.eqz + if + return + end + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + end + br $continue|3 + end + end + end + block $break|4 + loop $continue|4 + local.get $2 + i32.const 8 + i32.ge_u + if + block + local.get $2 + i32.const 8 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.add + local.get $1 + local.get $2 + i32.add + i64.load + i64.store + end + br $continue|4 + end + end + end + end + block $break|5 + loop $continue|5 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.0 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 0 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store8 offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 0 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_s + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 0 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 306 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Int8Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 420 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 421 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 422 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 423 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 424 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 425 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 426 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 427 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 428 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 439 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 440 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 441 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 442 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 443 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 444 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 445 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 446 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 457 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 458 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 459 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 460 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 461 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 462 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 463 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 464 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 475 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 476 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 477 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 478 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 479 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 480 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 481 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 482 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $start:std/typedarray (; 307 ;) (type $_) + (local $0 i32) + global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 1 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 2 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 3 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 4 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 5 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 6 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 7 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 8 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 9 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 10 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 11 + i32.const 0 + call $~lib/env/abort + unreachable + end + call $start:~lib/allocator/arena + i32.const 0 + call $std/typedarray/testInstantiate + i32.const 5 + call $std/typedarray/testInstantiate + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + global.set $std/typedarray/arr + global.get $std/typedarray/arr + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) + global.get $std/typedarray/arr + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 96 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.load offset=4 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 97 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.load offset=8 + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 98 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 99 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 100 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 101 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + global.set $std/typedarray/arr + block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) + global.get $std/typedarray/arr + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 104 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.load offset=4 + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 105 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.load offset=8 + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 106 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 107 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 8 + call $~lib/typedarray/Float64Array#constructor + global.set $std/typedarray/af64 + global.get $std/typedarray/af64 + i32.const 0 + f64.const 1 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 1 + f64.const 2 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 2 + f64.const 7 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 3 + f64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 4 + f64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 5 + f64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 6 + f64.const 3 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 7 + f64.const 8 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/af64 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + global.set $std/typedarray/af64 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) + global.get $std/typedarray/af64 + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 121 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/af64 + i32.load offset=4 + i32.const 2 + i32.const 8 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 122 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/af64 + i32.load offset=8 + i32.const 4 + i32.const 8 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 123 + i32.const 0 + call $~lib/env/abort + unreachable + end + block (result i32) + i32.const 0 + global.set $~lib/argc + global.get $std/typedarray/af64 + i32.const 0 + call $~lib/typedarray/Float64Array#sort|trampoline + end + drop + global.get $std/typedarray/af64 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.eq + local.tee $0 + if (result i32) + global.get $std/typedarray/af64 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.eq + else + local.get $0 + end + local.tee $0 + if (result i32) + global.get $std/typedarray/af64 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.eq + else + local.get $0 + end + local.tee $0 + if (result i32) + global.get $std/typedarray/af64 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.eq + else + local.get $0 + end + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 125 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + global.set $std/typedarray/clampedArr + global.get $std/typedarray/clampedArr + i32.const 0 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $std/typedarray/clampedArr + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $std/typedarray/clampedArr + i32.const 2 + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $std/typedarray/clampedArr + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 132 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/clampedArr + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 133 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/clampedArr + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 255 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 134 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + global.set $std/typedarray/arr8 + global.get $std/typedarray/arr8 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr8 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr8 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr8 + i32.const 3 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr8 + i32.const 4 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr8 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + drop + global.get $std/typedarray/arr8 + i32.const 192 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 144 + i32.const 0 + call $~lib/env/abort + unreachable + end + block (result i32) + i32.const 1 + global.set $~lib/argc + global.get $std/typedarray/arr8 + i32.const 0 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#fill|trampoline + end + drop + global.get $std/typedarray/arr8 + i32.const 216 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 147 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr8 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int8Array#fill + drop + global.get $std/typedarray/arr8 + i32.const 240 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 150 + i32.const 0 + call $~lib/env/abort + unreachable + end + block (result i32) + i32.const 2 + global.set $~lib/argc + global.get $std/typedarray/arr8 + i32.const 2 + i32.const -2 + i32.const 0 + call $~lib/typedarray/Int8Array#fill|trampoline + end + drop + global.get $std/typedarray/arr8 + i32.const 264 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 153 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr8 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int8Array#fill + drop + global.get $std/typedarray/arr8 + i32.const 288 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 156 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr8 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + global.set $std/typedarray/sub8 + block (result i32) + i32.const 1 + global.set $~lib/argc + global.get $std/typedarray/sub8 + i32.const 0 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#fill|trampoline + end + drop + block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) + global.get $std/typedarray/sub8 + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 160 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/sub8 + i32.load offset=4 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 161 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/sub8 + i32.load offset=8 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 162 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/sub8 + i32.const 312 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 163 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr8 + i32.const 336 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 164 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + global.set $std/typedarray/arr32 + global.get $std/typedarray/arr32 + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr32 + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr32 + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr32 + i32.const 3 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr32 + i32.const 4 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/arr32 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + drop + global.get $std/typedarray/arr32 + i32.const 376 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 174 + i32.const 0 + call $~lib/env/abort + unreachable + end + block (result i32) + i32.const 1 + global.set $~lib/argc + global.get $std/typedarray/arr32 + i32.const 0 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill|trampoline + end + drop + global.get $std/typedarray/arr32 + i32.const 416 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 177 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr32 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + drop + global.get $std/typedarray/arr32 + i32.const 456 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 180 + i32.const 0 + call $~lib/env/abort + unreachable + end + block (result i32) + i32.const 2 + global.set $~lib/argc + global.get $std/typedarray/arr32 + i32.const 2 + i32.const -2 + i32.const 0 + call $~lib/typedarray/Int32Array#fill|trampoline + end + drop + global.get $std/typedarray/arr32 + i32.const 496 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 183 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr32 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + drop + global.get $std/typedarray/arr32 + i32.const 536 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 186 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr32 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + global.set $std/typedarray/sub32 + block (result i32) + i32.const 1 + global.set $~lib/argc + global.get $std/typedarray/sub32 + i32.const 0 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill|trampoline + end + drop + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + global.get $std/typedarray/sub32 + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 190 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/sub32 + i32.load offset=4 + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 191 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/sub32 + i32.load offset=8 + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 192 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/sub32 + i32.const 576 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 193 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/arr32 + i32.const 616 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 194 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 0 + global.get $std/typedarray/MAX_F64LENGTH + call $~lib/typedarray/Float64Array#constructor + drop + i32.const 0 + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + global.set $std/typedarray/multisubarr + global.get $std/typedarray/multisubarr + i32.const 0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/multisubarr + i32.const 1 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/multisubarr + i32.const 2 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/multisubarr + i32.const 3 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/multisubarr + i32.const 4 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/multisubarr + i32.const 5 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + global.get $std/typedarray/multisubarr + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + global.set $std/typedarray/multisubarr1 + global.get $std/typedarray/multisubarr1 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 211 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + global.get $std/typedarray/multisubarr1 + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 212 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr1 + i32.load offset=4 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 213 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr1 + i32.load offset=8 + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 214 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr1 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + global.set $std/typedarray/multisubarr2 + global.get $std/typedarray/multisubarr2 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 217 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + global.get $std/typedarray/multisubarr2 + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 218 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr2 + i32.load offset=4 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 219 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr2 + i32.load offset=8 + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 220 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr2 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + global.set $std/typedarray/multisubarr3 + global.get $std/typedarray/multisubarr3 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 223 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + global.get $std/typedarray/multisubarr3 + local.set $0 + local.get $0 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 224 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr3 + i32.load offset=4 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 225 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/typedarray/multisubarr3 + i32.load offset=8 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 8 + i32.const 226 + i32.const 0 + call $~lib/env/abort + unreachable + end + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduce + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testReduceRight + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArrayMap + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArraySome + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayFindIndex + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArrayEvery + call $std/typedarray/testArraySet + ) + (func $start (; 308 ;) (type $_) + call $start:std/typedarray + ) + (func $null (; 309 ;) (type $_) + ) +) From fa84d37100da907664e4c2f6776fe5b700c86348 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 14:44:50 -0500 Subject: [PATCH 04/11] implement for each typedarray type --- std/assembly/typedarray.ts | 40 + tests/compiler/std/typedarray.optimized.wat | 8580 +++++++++- tests/compiler/std/typedarray.ts | 19 + tests/compiler/std/typedarray.untouched.wat | 15433 +++++++++++++++++- 4 files changed, 23815 insertions(+), 257 deletions(-) diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 60517dd838..7ac7269de8 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -114,6 +114,10 @@ export class Uint8Array extends TypedArray { every(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Uint8ClampedArray extends Uint8Array { @@ -156,6 +160,10 @@ export class Uint8ClampedArray extends Uint8Array { every(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Int16Array extends TypedArray { @@ -202,6 +210,10 @@ export class Int16Array extends TypedArray { every(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Uint16Array extends TypedArray { @@ -248,6 +260,10 @@ export class Uint16Array extends TypedArray { every(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Int32Array extends TypedArray { @@ -294,6 +310,10 @@ export class Int32Array extends TypedArray { every(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Uint32Array extends TypedArray { @@ -340,6 +360,10 @@ export class Uint32Array extends TypedArray { every(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Int64Array extends TypedArray { @@ -386,6 +410,10 @@ export class Int64Array extends TypedArray { every(callbackfn: (value: i64, index: i32, self: Int64Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Uint64Array extends TypedArray { @@ -432,6 +460,10 @@ export class Uint64Array extends TypedArray { every(callbackfn: (value: u64, index: i32, self: Uint64Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Float32Array extends TypedArray { @@ -478,6 +510,10 @@ export class Float32Array extends TypedArray { every(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } export class Float64Array extends TypedArray { @@ -524,4 +560,8 @@ export class Float64Array extends TypedArray { every(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): bool { return EVERY(this, callbackfn); } + + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); + } } diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 2f342700e6..ec7a0c764a 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -9659,7 +9659,7 @@ if i32.const 848 i32.const 8 - i32.const 420 + i32.const 429 i32.const 2 call $~lib/env/abort unreachable @@ -9672,7 +9672,7 @@ if i32.const 848 i32.const 8 - i32.const 421 + i32.const 430 i32.const 2 call $~lib/env/abort unreachable @@ -9685,7 +9685,7 @@ if i32.const 848 i32.const 8 - i32.const 422 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -9698,7 +9698,7 @@ if i32.const 848 i32.const 8 - i32.const 423 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -9713,7 +9713,7 @@ if i32.const 848 i32.const 8 - i32.const 424 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -9728,7 +9728,7 @@ if i32.const 848 i32.const 8 - i32.const 425 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -9743,7 +9743,7 @@ if i32.const 848 i32.const 8 - i32.const 426 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -9756,7 +9756,7 @@ if i32.const 848 i32.const 8 - i32.const 427 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -9769,7 +9769,7 @@ if i32.const 848 i32.const 8 - i32.const 428 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -9782,7 +9782,7 @@ if i32.const 848 i32.const 8 - i32.const 429 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -9815,7 +9815,7 @@ if i32.const 888 i32.const 8 - i32.const 438 + i32.const 447 i32.const 2 call $~lib/env/abort unreachable @@ -9830,7 +9830,7 @@ if i32.const 888 i32.const 8 - i32.const 439 + i32.const 448 i32.const 2 call $~lib/env/abort unreachable @@ -9845,7 +9845,7 @@ if i32.const 888 i32.const 8 - i32.const 440 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -9858,7 +9858,7 @@ if i32.const 888 i32.const 8 - i32.const 441 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -9873,7 +9873,7 @@ if i32.const 888 i32.const 8 - i32.const 442 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -9888,7 +9888,7 @@ if i32.const 888 i32.const 8 - i32.const 443 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -9903,7 +9903,7 @@ if i32.const 888 i32.const 8 - i32.const 444 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -9916,7 +9916,7 @@ if i32.const 888 i32.const 8 - i32.const 445 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -9929,7 +9929,7 @@ if i32.const 888 i32.const 8 - i32.const 446 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -9942,7 +9942,7 @@ if i32.const 888 i32.const 8 - i32.const 447 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -9974,7 +9974,7 @@ if i32.const 952 i32.const 8 - i32.const 456 + i32.const 465 i32.const 2 call $~lib/env/abort unreachable @@ -9989,7 +9989,7 @@ if i32.const 952 i32.const 8 - i32.const 457 + i32.const 466 i32.const 2 call $~lib/env/abort unreachable @@ -10004,7 +10004,7 @@ if i32.const 952 i32.const 8 - i32.const 458 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -10017,7 +10017,7 @@ if i32.const 952 i32.const 8 - i32.const 459 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -10032,7 +10032,7 @@ if i32.const 952 i32.const 8 - i32.const 460 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -10047,7 +10047,7 @@ if i32.const 952 i32.const 8 - i32.const 461 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -10062,7 +10062,7 @@ if i32.const 952 i32.const 8 - i32.const 462 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -10077,7 +10077,7 @@ if i32.const 952 i32.const 8 - i32.const 463 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -10092,7 +10092,7 @@ if i32.const 952 i32.const 8 - i32.const 464 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -10107,7 +10107,7 @@ if i32.const 952 i32.const 8 - i32.const 465 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -10139,7 +10139,7 @@ if i32.const 952 i32.const 8 - i32.const 474 + i32.const 483 i32.const 2 call $~lib/env/abort unreachable @@ -10154,7 +10154,7 @@ if i32.const 952 i32.const 8 - i32.const 475 + i32.const 484 i32.const 2 call $~lib/env/abort unreachable @@ -10169,7 +10169,7 @@ if i32.const 952 i32.const 8 - i32.const 476 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -10184,7 +10184,7 @@ if i32.const 952 i32.const 8 - i32.const 477 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -10199,7 +10199,7 @@ if i32.const 952 i32.const 8 - i32.const 478 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -10214,7 +10214,7 @@ if i32.const 952 i32.const 8 - i32.const 479 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -10229,7 +10229,7 @@ if i32.const 952 i32.const 8 - i32.const 480 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -10244,7 +10244,7 @@ if i32.const 952 i32.const 8 - i32.const 481 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -10259,7 +10259,7 @@ if i32.const 952 i32.const 8 - i32.const 482 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -10274,13 +10274,8497 @@ if i32.const 952 i32.const 8 - i32.const 483 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint8Array#set (; 200 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + else + local.get $1 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Uint8Array#set (; 201 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + i32.store8 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $std/typedarray/testArraySet (; 202 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int8Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArraySet (; 203 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int8Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int16Array#set,i32> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.tee $2 + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $0 + loop $repeat|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + i32.const 4 + i32.add + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load offset=8 + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + else + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_s + i32.store16 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.tee $3 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.set $6 + local.get $1 + i32.load + local.set $0 + local.get $3 + i32.load + local.set $2 + local.get $1 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $5 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + i64.load offset=8 + i64.store16 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $5 + local.get $3 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $2 + loop $repeat|1 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $2 + i32.const 3 + i32.add + i32.const 1 + i32.shl + local.get $5 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + i64.store16 offset=8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $repeat|1 + end + end + end + ) + (func $std/typedarray/testArraySet (; 208 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int16Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint16Array#set (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + else + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Uint16Array#set (; 210 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + i32.store16 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $std/typedarray/testArraySet (; 211 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int16Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int32Array#set,i32> (; 212 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.tee $2 + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $0 + loop $repeat|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load offset=8 + i32.store offset=8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + else + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + i32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_s + i32.store offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.tee $3 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.set $6 + local.get $1 + i32.load + local.set $0 + local.get $3 + i32.load + local.set $2 + local.get $1 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $5 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + i64.load offset=8 + i64.store32 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $5 + local.get $3 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $2 + loop $repeat|1 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $2 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $5 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + i64.store32 offset=8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $repeat|1 + end + end + end + ) + (func $std/typedarray/testArraySet (; 216 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int32Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint32Array#set (; 217 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + i32.store offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $std/typedarray/testArraySet (; 218 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int32Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 10 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 11 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int64Array#set,i32> (; 219 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.tee $2 + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $0 + loop $repeat|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load offset=8 + i64.extend_i32_s + i64.store offset=8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Int64Array#set (; 220 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + if + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $2 + i32.const 3 + i32.shl + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + else + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 0 + i32.lt_s + br_if $break|0 + local.get $0 + local.get $2 + i32.add + i32.const 3 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + i64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i64.trunc_f32_s + i64.store offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $std/typedarray/testArraySet (; 222 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int64Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 10 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint64Array#set (; 223 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + i64.trunc_f32_u + i64.store offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $std/typedarray/testArraySet (; 224 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int64Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 10 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Float32Array#set,i32> (; 225 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.tee $2 + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $0 + loop $repeat|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load offset=8 + f32.convert_i32_s + f32.store offset=8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Float32Array#set (; 226 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 0 + i32.lt_s + br_if $break|0 + local.get $0 + local.get $2 + i32.add + i32.const 2 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + f32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Float32Array#set (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.tee $3 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + local.set $6 + local.get $3 + i32.load + local.set $2 + local.get $1 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $0 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $5 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $4 + i32.add + i64.load offset=8 + f32.convert_i64_s + f32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $5 + local.get $3 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $2 + loop $repeat|1 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $2 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $5 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + f32.convert_i64_s + f32.store offset=8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $repeat|1 + end + end + end + ) + (func $std/typedarray/testArraySet (; 228 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Float32Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 6 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 7 + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 6 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 7 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 8 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 6 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 10 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 11 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 12 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 7 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 8 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.ne + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Float64Array#set,i32> (; 229 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.tee $2 + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $3 + local.get $0 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $0 + loop $repeat|0 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $3 + i32.add + local.get $4 + i32.add + local.get $1 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load offset=8 + f64.convert_i32_s + f64.store offset=8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 230 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + local.get $0 + call $~lib/internal/typedarray/TypedArray#__get + f64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 + local.get $1 + i32.eqz + br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 7 + i32.add + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $3 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/internal/typedarray/TypedArray#__get + f64.promote_f32 + f64.store offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $repeat|1 + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.tee $3 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.const 0 + local.get $1 + select + if + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + local.set $6 + local.get $3 + i32.load + local.set $2 + local.get $1 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $0 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $5 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $4 + i32.add + i64.load offset=8 + f64.convert_i64_s + f64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $5 + local.get $3 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $2 + loop $repeat|1 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $2 + i32.const 3 + i32.add + i32.const 3 + i32.shl + local.get $5 + i32.add + local.get $4 + i32.add + local.get $1 + local.get $2 + call $~lib/internal/typedarray/TypedArray#__get + f64.convert_i64_s + f64.store offset=8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $repeat|1 + end + end + end + ) + (func $std/typedarray/testArraySet (; 233 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Float64Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + f64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 8 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 10 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 11 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 12 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 8 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.ne + if + i32.const 952 + i32.const 8 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable end ) - (func $start:std/typedarray (; 200 ;) (type $_) + (func $start:std/typedarray (; 234 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 1008 @@ -11273,11 +19757,21 @@ call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet ) - (func $start (; 201 ;) (type $_) + (func $start (; 235 ;) (type $_) call $start:std/typedarray ) - (func $null (; 202 ;) (type $_) + (func $null (; 236 ;) (type $_) nop ) ) diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index 24cf82cbfd..9dac7cbecd 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -413,6 +413,15 @@ testArrayEvery(); var setSource: i32[] = [1, 2, 3]; +class ArrayLikeSource { + length: i32 = 3; + + @operator("[]=") + protected __get(index: i32): i32 { + return index; + } +} + function testArraySet, U extends number>(): void { var target: T = instantiate(10); target.set(setSource, 4); @@ -484,3 +493,13 @@ function testArraySet, U extends number>(): void { } testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); +testArraySet(); diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 3a5c5f3351..54a830b62c 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -16684,7 +16684,7 @@ if i32.const 848 i32.const 8 - i32.const 420 + i32.const 429 i32.const 2 call $~lib/env/abort unreachable @@ -16702,7 +16702,7 @@ if i32.const 848 i32.const 8 - i32.const 421 + i32.const 430 i32.const 2 call $~lib/env/abort unreachable @@ -16720,7 +16720,7 @@ if i32.const 848 i32.const 8 - i32.const 422 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -16738,7 +16738,7 @@ if i32.const 848 i32.const 8 - i32.const 423 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -16756,7 +16756,7 @@ if i32.const 848 i32.const 8 - i32.const 424 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -16774,7 +16774,7 @@ if i32.const 848 i32.const 8 - i32.const 425 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -16792,7 +16792,7 @@ if i32.const 848 i32.const 8 - i32.const 426 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -16810,7 +16810,7 @@ if i32.const 848 i32.const 8 - i32.const 427 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -16828,7 +16828,7 @@ if i32.const 848 i32.const 8 - i32.const 428 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -16846,7 +16846,7 @@ if i32.const 848 i32.const 8 - i32.const 429 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -16884,7 +16884,7 @@ if i32.const 888 i32.const 8 - i32.const 438 + i32.const 447 i32.const 2 call $~lib/env/abort unreachable @@ -16902,7 +16902,7 @@ if i32.const 888 i32.const 8 - i32.const 439 + i32.const 448 i32.const 2 call $~lib/env/abort unreachable @@ -16920,7 +16920,7 @@ if i32.const 888 i32.const 8 - i32.const 440 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -16938,7 +16938,7 @@ if i32.const 888 i32.const 8 - i32.const 441 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -16956,7 +16956,207 @@ if i32.const 888 i32.const 8 - i32.const 442 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -16971,82 +17171,14957 @@ i32.const 2 i32.eq i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint8Array#set,i32> (; 307 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.3 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Uint8Array#set (; 308 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.1 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 0 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store8 offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint8Array#set (; 309 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 0 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint8Array#set (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 0 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 311 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Uint8Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Uint8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint8ClampedArray#set,i32> (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.4 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Uint8ClampedArray#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.2 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 0 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store8 offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint8ClampedArray#set (; 314 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.28 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.8 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 0 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.9 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint8ClampedArray#set (; 315 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.10 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 0 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.31 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.11 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 316 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Uint8ClampedArray#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int16Array#set,i32> (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.5 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store16 offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Int16Array#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.3 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 1 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store16 offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int16Array#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 1 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store16 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_s + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store16 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int16Array#set (; 320 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 1 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store16 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store16 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 321 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Int16Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint16Array#set,i32> (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.6 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store16 offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Uint16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.4 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 1 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store16 offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 1 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store16 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store16 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 1 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store16 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store16 offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 326 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint16Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Uint16Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Uint16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Uint16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int32Array#set,i32> (; 327 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.7 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Int32Array#set (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.5 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 2 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_s + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.8 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 331 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Int32Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint32Array#set,i32> (; 332 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Uint32Array#set (; 333 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.6 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 2 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $11 + local.get $9 + local.set $14 + local.get $13 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $11 + i32.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.trunc_f32_u + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $21 + local.get $15 + local.set $20 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + local.get $21 + i32.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i32.wrap_i64 + local.set $10 + local.get $14 + local.set $9 + local.get $12 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.add + local.get $10 + i32.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 336 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint32Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Uint32Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Uint32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Uint32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 10 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 11 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int64Array#set,i32> (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i64) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.9 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.28 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + i64.extend_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i64.store offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Int64Array#set (; 338 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.7 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 3 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.31 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.32 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.33 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + local.get $9 + local.set $11 + local.get $13 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + i64.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Int64Array#set (; 339 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.28 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.34 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i64.trunc_f32_s + local.set $22 + local.get $15 + local.set $21 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + local.get $22 + i64.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.35 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i64.trunc_f32_s + local.set $22 + local.get $14 + local.set $10 + local.get $12 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $10 + i32.add + local.get $22 + i64.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 340 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Int64Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 10 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint64Array#set,i32> (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i64) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.10 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + i64.extend_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i64.store offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Uint64Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 3 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + local.get $9 + local.set $11 + local.get $13 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + i64.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint64Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.31 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + i64.trunc_f32_u + local.set $22 + local.get $15 + local.set $21 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + local.get $22 + i64.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.32 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.33 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + i64.trunc_f32_u + local.set $22 + local.get $14 + local.set $10 + local.get $12 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $10 + i32.add + local.get $22 + i64.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Uint64Array#set (; 344 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.36 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.1 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 3 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.37 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.38 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + local.get $9 + local.set $11 + local.get $13 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + i64.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 345 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Uint64Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.set $1 + local.get $1 + i32.const 0 + i64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Uint64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Uint64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 10 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Float32Array#set,i32> (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 f32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.11 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.34 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + f32.convert_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + f32.store offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Float32Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 f32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.35 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.36 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.10 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 2 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.37 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.38 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.39 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + local.get $9 + local.set $11 + local.get $13 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + f32.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Float32Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 f32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.39 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.40 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + f32.convert_i64_s + local.set $22 + local.get $15 + local.set $21 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + local.get $22 + f32.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.40 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.41 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.41 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + f32.convert_i64_s + local.set $22 + local.get $14 + local.set $10 + local.get $12 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.add + local.get $22 + f32.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 349 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Float32Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $1 + local.get $1 + i32.const 0 + f32.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 6 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $2 + local.get $2 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $2 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $2 + i32.const 7 + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 465 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 6 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 470 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 7 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 8 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + local.get $3 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $3 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 483 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 484 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 6 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 10 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 11 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 12 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 7 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 8 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.eq + i32.eqz + if + i32.const 952 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Float64Array#set,i32> (; 350 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 f64) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.12 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 257 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + i32.const 0 + local.set $10 + loop $repeat|0 + local.get $10 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.14 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $~lib/array/Array#__unchecked_get + f64.convert_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + f64.store offset=8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + ) + (func $~lib/typedarray/Float64Array#set (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 f64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/memory/memory.copy|inlined.11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) + local.get $8 + i32.load + local.set $11 + local.get $11 + i32.const 8 + i32.add + end + local.get $8 + i32.load offset=4 + i32.add + local.get $10 + i32.const 3 + i32.shl + i32.add + local.set $11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) + local.get $9 + i32.load + local.set $12 + local.get $12 + i32.const 8 + i32.add + end + local.get $9 + i32.load offset=4 + i32.add + local.set $12 + local.get $9 + i32.load + i32.load + local.set $13 + local.get $11 + local.get $12 + local.get $13 + call $~lib/internal/memory/memmove + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $10 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $8 + local.get $8 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $8 + loop $repeat|0 + local.get $8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.15 + local.get $10 + local.set $13 + local.get $8 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $8 + call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + local.get $9 + local.set $11 + local.get $13 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + i32.add + local.get $14 + f64.store offset=8 + end + local.get $8 + i32.const 1 + i32.sub + local.set $8 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 f64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 + end + i32.const 0 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.42 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.16 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 2 + i32.shl + i32.add + local.get $21 + i32.add + f32.load offset=8 + end + f64.promote_f32 + local.set $22 + local.get $15 + local.set $21 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + local.get $22 + f64.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.43 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.44 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.17 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + f64.promote_f32 + local.set $22 + local.get $14 + local.set $10 + local.get $12 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $10 + i32.add + local.get $22 + f64.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 f64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 248 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 + end + i32.const 1 + br $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 + end + i32.const 0 + i32.ne + if + block $~lib/internal/typedarray/TypedArray#get:length|inlined.42 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 + local.get $3 + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.set $10 + local.get $5 + local.set $11 + local.get $9 + i32.load + local.set $12 + local.get $8 + i32.load + local.set $13 + local.get $9 + i32.load offset=4 + local.set $14 + local.get $8 + i32.load offset=4 + local.set $15 + block $break|0 + i32.const 0 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $10 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.18 + local.get $13 + local.set $17 + local.get $16 + local.get $11 + i32.add + local.set $18 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) + local.get $12 + local.set $19 + local.get $16 + local.set $20 + local.get $14 + local.set $21 + local.get $19 + local.get $20 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + i64.load offset=8 + end + f64.convert_i64_s + local.set $22 + local.get $15 + local.set $21 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $21 + i32.add + local.get $22 + f64.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + end + else + block $~lib/internal/typedarray/TypedArray#get:length|inlined.43 (result i32) + local.get $4 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $3 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $6 + local.get $7 + local.get $5 + i32.add + local.get $6 + i32.le_s + i32.eqz + if + i32.const 776 + i32.const 48 + i32.const 306 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $15 + local.get $3 + i32.load offset=4 + local.set $14 + block $break|1 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.44 (result i32) + local.get $4 + local.set $13 + local.get $13 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 1 + i32.sub + local.set $13 + loop $repeat|1 + local.get $13 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.19 + local.get $15 + local.set $12 + local.get $13 + local.get $5 + i32.add + local.set $11 + local.get $4 + local.get $13 + call $~lib/internal/typedarray/TypedArray#__get + f64.convert_i64_s + local.set $22 + local.get $14 + local.set $10 + local.get $12 + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $10 + i32.add + local.get $22 + f64.store offset=8 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + br $repeat|1 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 354 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Float64Array#set,i32> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 429 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 430 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 431 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 432 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 433 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 434 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 435 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 436 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 437 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 848 + i32.const 8 + i32.const 438 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.set $1 + local.get $1 + i32.const 0 + f64.const 4 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f64.const 5 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f64.const 6 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + i32.const 0 + call $~lib/typedarray/Float64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 448 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 888 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.eq + i32.eqz if i32.const 888 i32.const 8 - i32.const 443 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 3 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.eq i32.eqz if i32.const 888 i32.const 8 - i32.const 444 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 7 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 0 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq i32.eqz if i32.const 888 i32.const 8 - i32.const 445 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 8 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 0 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq i32.eqz if i32.const 888 i32.const 8 - i32.const 446 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 9 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 0 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq i32.eqz if i32.const 888 i32.const 8 - i32.const 447 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -17070,183 +32145,143 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 4 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 456 + i32.const 465 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 5 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 457 + i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 6 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 458 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 0 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 459 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 1 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 460 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 461 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 3 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 462 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 7 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 7 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 463 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 8 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 8 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 8 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 464 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 9 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 9 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 465 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -17270,189 +32305,149 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 4 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 474 + i32.const 483 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 5 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 475 + i32.const 484 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 6 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 6 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 476 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 10 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 10 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 477 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 11 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 11 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 478 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 12 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 12 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 479 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 3 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 480 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 7 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 7 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 481 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 8 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 8 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 8 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 482 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 9 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 9 - i32.eq + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.eq i32.eqz if i32.const 952 i32.const 8 - i32.const 483 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable end ) - (func $start:std/typedarray (; 307 ;) (type $_) + (func $start:std/typedarray (; 355 ;) (type $_) (local $0 i32) global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 @@ -18689,10 +33684,20 @@ call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery call $std/typedarray/testArraySet - ) - (func $start (; 308 ;) (type $_) + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + call $std/typedarray/testArraySet + ) + (func $start (; 356 ;) (type $_) call $start:std/typedarray ) - (func $null (; 309 ;) (type $_) + (func $null (; 357 ;) (type $_) ) ) From d7399e5c7b086326033dd4a0927a98de50f88d1a Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 14:55:22 -0500 Subject: [PATCH 05/11] remove arraylike class from test --- tests/compiler/std/typedarray.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index 9dac7cbecd..ef464babaa 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -413,15 +413,6 @@ testArrayEvery(); var setSource: i32[] = [1, 2, 3]; -class ArrayLikeSource { - length: i32 = 3; - - @operator("[]=") - protected __get(index: i32): i32 { - return index; - } -} - function testArraySet, U extends number>(): void { var target: T = instantiate(10); target.set(setSource, 4); From 0c0ae3c87a71f030d3f9ac70d98228f275a72298 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 15:01:09 -0500 Subject: [PATCH 06/11] fix error messages --- std/assembly/internal/typedarray.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 833397640e..6cd8ffa197 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -239,15 +239,15 @@ export function SET, U extends number, SourceT, SourceU offset: i32): void { // assert target and source are not null if (isReference(target)) { - assert(target != null, "TypeError: Target is null."); + assert(target != null, "TypeError: target is null."); } else { - assert(false, "TypeError: T is not a reference."); + assert(false, "TypeError: target is not a reference."); } if (isReference(source)) { - assert(source != null, "TypeError: Source is null."); + assert(source != null, "TypeError: source is null."); } else { - assert(false, "TypeError: SourceT is not a reference."); + assert(false, "TypeError: source is not a reference."); } if (isArray(source)) { @@ -272,8 +272,8 @@ export function SET, U extends number, SourceT, SourceU // fast path: source has the same backing type as targe } else if (ArrayBuffer.isView(source)) { // validate the lengths are within range - let sourceLength = source.length; - let targetLength = target.length; + let sourceLength: i32 = source.length; + let targetLength: i32 = target.length; assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); if (isFloat()) { @@ -349,10 +349,10 @@ function SET_DIFFERENT< SourceT extends TypedArray, SourceU extends number >(target: T, source: SourceT, sourceLength: i32, offset: i32): void { - let sourceBuffer = source.buffer; - let targetBuffer = target.buffer; - let sourceOffset = source.byteOffset; - let targetOffset = target.byteOffset; + var sourceBuffer = source.buffer; + var targetBuffer = target.buffer; + var sourceOffset = source.byteOffset; + var targetOffset = target.byteOffset; for (let i = 0; i < sourceLength; i++) { STORE( targetBuffer, @@ -362,4 +362,4 @@ function SET_DIFFERENT< targetOffset, ); } -} \ No newline at end of file +} From eb79f2d91f22795044089b12b92a7610fd9e05e7 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 15:59:47 -0500 Subject: [PATCH 07/11] fix tslint and warning messages --- std/assembly/internal/typedarray.ts | 327 +- tests/compiler/std/typedarray.optimized.wat | 6553 ++++---- tests/compiler/std/typedarray.ts | 24 + tests/compiler/std/typedarray.untouched.wat | 13929 ++++++++---------- 4 files changed, 10218 insertions(+), 10615 deletions(-) diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 6cd8ffa197..2436d035d4 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -237,96 +237,243 @@ export function SET, U extends number, SourceT, SourceU target: T, source: SourceT, offset: i32): void { - // assert target and source are not null - if (isReference(target)) { - assert(target != null, "TypeError: target is null."); - } else { - assert(false, "TypeError: target is not a reference."); - } - - if (isReference(source)) { - assert(source != null, "TypeError: source is null."); - } else { - assert(false, "TypeError: source is not a reference."); - } - - if (isArray(source)) { - // check to see if the offsets are in range - let sourceLength = source.length; - let targetLength = target.length; - assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); - - // cache the buffer and the byteOffset - let targetBuffer = target.buffer; - let targetByteOffset = target.byteOffset; - - // for each source value, write it to the ArrayBuffer - for (let i = 0; i < sourceLength; i++) { - STORE( - targetBuffer, - i + offset, - unchecked(source[i]), - targetByteOffset, - ); - } - // fast path: source has the same backing type as targe - } else if (ArrayBuffer.isView(source)) { - // validate the lengths are within range - let sourceLength: i32 = source.length; - let targetLength: i32 = target.length; - assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); - - if (isFloat()) { - if (isFloat()) { - if (sizeof() == sizeof()) { - SET_SAME(target, source, offset); + if (isReference()) { + if (isReference()) { + assert(target != null, "TypeError: target is null."); + assert(source != null, "TypeError: source is null."); + if (source instanceof Int8Array) { + if (target instanceof Int8Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint8Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint8ClampedArray) { + SET_SAME(target, source, offset); } else { - SET_DIFFERENT(target, source, sourceLength, offset); + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); } - } else { - SET_DIFFERENT(target, source, sourceLength, offset); - } - } else if (isInteger()) { - if (isInteger()) { - if (sizeof() == sizeof()) { - SET_SAME(target, source, offset); + } else if (source instanceof Uint8Array) { + if (target instanceof Int8Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint8Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint8ClampedArray) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Uint8ClampedArray) { + if (target instanceof Int8Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint8Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint8ClampedArray) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Int16Array) { + if (target instanceof Int16Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint16Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Uint16Array) { + if (target instanceof Int16Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint16Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Int32Array) { + if (target instanceof Int32Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint32Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Uint32Array) { + if (target instanceof Int32Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint32Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Int64Array) { + if (target instanceof Int64Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint64Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Uint64Array) { + if (target instanceof Int64Array) { + SET_SAME(target, source, offset); + } else if (target instanceof Uint64Array) { + SET_SAME(target, source, offset); } else { - SET_DIFFERENT(target, source, sourceLength, offset); + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); } + } else if (source instanceof Float32Array) { + if (target instanceof Float32Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (source instanceof Float64Array) { + if (target instanceof Float64Array) { + SET_SAME(target, source, offset); + } else { + SET_COPY( + target.buffer, + target.byteOffset, + source.buffer, + source.byteOffset, + offset, + source.length, + ); + } + } else if (isArray()) { + SET_COPY( + target.buffer, + target.byteOffset, + load(changetype(source), offsetof("buffer_")), + 0, + offset, + // @ts-ignore: this is an array, and has a length property, this is not unsafe + // tslint:disable-next-line + source.length, + ); } else { - SET_DIFFERENT(target, source, sourceLength, offset); + // validate the lengths are within range + // @ts-ignore: source is assumed to have a length property + let sourceLength = source.length; + let targetLength = target.length; + + // tslint:disable-next-line + assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); + + // cache the buffer and the offset + let targetBuffer = target.buffer; + let targetByteOffset = target.byteOffset; + + /** + * In order for the source to be ArrayLike, it has to have a length property, and a + * `@operator("[]=")` getter. This is very slow because it doesn't allow for unchecked gets, + * but it is as standard compliant as we can make it. + */ + // @ts-ignore: Source is expected to have a length property + // tslint:disable-next-line + for (let i = source.length - 1; i >= 0; i--) { + STORE( + targetBuffer, + i + offset, + // @ts-ignore: Source is expected to have a getter signature + source[i], // if the object does not have a getter this throws a compiler error + targetByteOffset, + ); + } } + } else { + assert(false, "TypeError: source is not a reference."); } - } else { - // validate the lengths are within range - // @ts-ignore: source is assumed to have a length property - let sourceLength = source.length; - let targetLength = target.length; - assert((sourceLength + offset) <= targetLength, "RangeError: Offset is too large."); - - // cache the buffer and the offset - let targetBuffer = target.buffer; - let targetByteOffset = target.byteOffset; - - /** - * In order for the source to be ArrayLike, it has to have a length property, and a - * `@operator("[]=")` getter. This is very slow because it doesn't allow for unchecked gets, - * but it is as standard compliant as we can make it. - */ - // @ts-ignore: Source is expected to have a length property - for (let i = source.length - 1; i >= 0; i--) { - STORE( - targetBuffer, - i + offset, - // @ts-ignore: Source is expected to have a getter signature - source[i], // if the object does not have a getter this throws a compiler error - targetByteOffset, - ); - } + assert(false, "TypeError: target is not a reference."); } } +@inline +function SET_COPY( + targetBuffer: ArrayBuffer, + targetBufferOffset: i32, + sourceBuffer: ArrayBuffer, + sourceBufferOffset: i32, + offset: i32, + length: i32): void { + for (let i = length - 1; i >= 0; i--) { + STORE( + targetBuffer, + i + offset, + LOAD(sourceBuffer, i, sourceBufferOffset), + targetBufferOffset, + ); + } +} @inline function SET_SAME, U extends number>(target: T, source: T, offset: i32): void { @@ -341,25 +488,3 @@ function SET_SAME, U extends number>(target: T, source: source.buffer.byteLength, ); } - -@inline -function SET_DIFFERENT< - T extends TypedArray, - U extends number, - SourceT extends TypedArray, - SourceU extends number ->(target: T, source: SourceT, sourceLength: i32, offset: i32): void { - var sourceBuffer = source.buffer; - var targetBuffer = target.buffer; - var sourceOffset = source.byteOffset; - var targetOffset = target.byteOffset; - for (let i = 0; i < sourceLength; i++) { - STORE( - targetBuffer, - i + offset, - // @ts-ignore: Number values can be cast to each other - LOAD(sourceBuffer, i, sourceOffset), - targetOffset, - ); - } -} diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index ec7a0c764a..3dc65dfd5b 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -68,12 +68,13 @@ (data (i32.const 616) "H\02\00\00\05") (data (i32.const 624) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 656) "p\02\00\00\03") - (data (i32.const 664) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00T\00a\00r\00g\00e\00t\00 \00i\00s\00 \00n\00u\00l\00l\00.") - (data (i32.const 720) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00S\00o\00u\00r\00c\00e\00 \00i\00s\00 \00n\00u\00l\00l\00.") - (data (i32.const 776) " \00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00:\00 \00O\00f\00f\00s\00e\00t\00 \00i\00s\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00.") - (data (i32.const 848) "\10\00\00\00i\003\002\00[\00]\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s") - (data (i32.const 888) "\1e\00\00\00S\00i\00m\00i\00l\00a\00r\00 \00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") - (data (i32.const 952) "\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") + (data (i32.const 664) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00t\00a\00r\00g\00e\00t\00 \00i\00s\00 \00n\00u\00l\00l\00.") + (data (i32.const 720) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00s\00o\00u\00r\00c\00e\00 \00i\00s\00 \00n\00u\00l\00l\00.") + (data (i32.const 776) "\10\00\00\00i\003\002\00[\00]\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s") + (data (i32.const 816) "\1e\00\00\00S\00i\00m\00i\00l\00a\00r\00 \00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") + (data (i32.const 880) "\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") + (data (i32.const 936) " \00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00:\00 \00O\00f\00f\00s\00e\00t\00 \00i\00s\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00.") + (data (i32.const 1008) "\15\00\00\00a\00r\00r\00a\00y\00l\00i\00k\00e\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.") (table $0 101 funcref) (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|1 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|33 $std/typedarray/testArrayMap~anonymous|34 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArraySome~anonymous|54 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArraySome~anonymous|56 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArrayFindIndex~anonymous|76 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArrayFindIndex~anonymous|78 $std/typedarray/testArrayEvery~anonymous|79 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArrayEvery~anonymous|85 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArrayEvery~anonymous|89 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArrayEvery~anonymous|93 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayEvery~anonymous|95 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArrayEvery~anonymous|97 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArrayEvery~anonymous|99 $std/typedarray/testArraySome~anonymous|55) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -90,6 +91,7 @@ (global $std/typedarray/multisubarr1 (mut i32) (i32.const 0)) (global $std/typedarray/multisubarr2 (mut i32) (i32.const 0)) (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) + (global $std/typedarray/arrayLikeValue (mut i32) (i32.const 0)) (global $std/typedarray/setSource (mut i32) (i32.const 656)) (export "memory" (memory $0)) (export "table" (table $0)) @@ -8133,14 +8135,13 @@ (func $~lib/typedarray/Int8Array#set,i32> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -8149,59 +8150,48 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.tee $2 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 257 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 - local.set $4 - i32.const 0 + local.set $3 + local.get $1 + i32.load local.set $0 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.sub + local.set $1 loop $repeat|0 - local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.const 0 + i32.ge_s if - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $3 + local.get $2 i32.add - local.get $4 + local.get $3 i32.add local.get $1 - i32.load - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=8 i32.store8 offset=8 - local.get $0 + local.get $1 i32.const 1 - i32.add - local.set $0 + i32.sub + local.set $1 br $repeat|0 end end @@ -9302,15 +9292,13 @@ end ) (func $~lib/typedarray/Int8Array#set (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -9319,106 +9307,41 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add local.get $1 - select - if - local.get $1 - i32.load offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - else - local.get $1 - i32.load offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.store8 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end - end - end + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove ) (func $~lib/typedarray/Int8Array#set (; 197 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -9427,68 +9350,57 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $1 i32.const 7 i32.add - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 i32.trunc_f32_s i32.store8 offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) @@ -9496,16 +9408,13 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) local.get $0 - local.tee $3 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -9514,135 +9423,131 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - select - if + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.gt_s + i32.const 0 + i32.ge_s if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.set $6 - local.get $1 - i32.load - local.set $0 - local.get $3 - i32.load - local.set $2 - local.get $1 - i32.load offset=4 - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.set $1 - loop $repeat|0 local.get $1 - local.get $6 - i32.lt_s - if - local.get $1 - i32.const 3 - i32.add - local.get $2 - i32.add - local.get $5 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $0 - i32.add - local.get $4 - i32.add - i64.load offset=8 - i64.store8 offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end + i32.const 3 + i32.add + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + i64.load offset=8 + i64.store8 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 end - else - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.gt_s + end + ) + (func $~lib/typedarray/Int8Array#set (; 199 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $5 - local.get $3 - i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $2 - loop $repeat|1 + local.get $0 + i32.const 2 + i32.add local.get $2 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.const 3 - i32.add - local.get $5 - i32.add - local.get $4 - i32.add - local.get $1 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - i64.store8 offset=8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|1 - end + i32.add + local.get $3 + i32.add + local.get $0 + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 end end ) - (func $std/typedarray/testArraySet (; 199 ;) (type $_) + (func $std/typedarray/testArraySet (; 200 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 0 @@ -9657,9 +9562,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -9670,9 +9575,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -9683,9 +9588,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -9696,9 +9601,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -9711,9 +9616,9 @@ i32.const 1 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -9726,9 +9631,9 @@ i32.const 2 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -9741,9 +9646,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -9754,9 +9659,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -9767,9 +9672,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -9780,9 +9685,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -9813,9 +9718,9 @@ i32.const 4 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -9828,9 +9733,9 @@ i32.const 5 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -9843,9 +9748,9 @@ i32.const 6 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -9856,9 +9761,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -9871,9 +9776,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -9886,9 +9791,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -9901,9 +9806,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -9914,9 +9819,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -9927,9 +9832,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -9940,9 +9845,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -9972,9 +9877,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -9987,9 +9892,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -10002,9 +9907,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -10015,9 +9920,9 @@ i32.const 255 i32.and if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -10030,9 +9935,9 @@ i32.const 1 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -10045,9 +9950,9 @@ i32.const 2 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -10060,9 +9965,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -10075,9 +9980,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -10090,9 +9995,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -10105,9 +10010,9 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -10137,9 +10042,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -10152,9 +10057,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -10167,9 +10072,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -10182,9 +10087,9 @@ i32.const 10 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -10197,9 +10102,9 @@ i32.const 11 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -10212,9 +10117,9 @@ i32.const 12 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -10227,9 +10132,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -10242,9 +10147,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -10257,9 +10162,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -10272,132 +10177,176 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Uint8Array#set (; 200 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) local.get $0 - i32.eqz + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 call $~lib/env/abort unreachable end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and i32.const 1 - i32.const 0 - local.get $1 - select + i32.ne if - local.get $1 - i32.load offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load + i32.const 1008 i32.const 8 - i32.add - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 1008 i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - else - local.get $1 - i32.load offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.store8 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end - end + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort + unreachable end ) (func $~lib/typedarray/Uint8Array#set (; 201 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -10406,68 +10355,57 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $1 i32.const 7 i32.add - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 i32.trunc_f32_u i32.store8 offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) @@ -10486,9 +10424,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -10499,9 +10437,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -10512,9 +10450,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -10525,9 +10463,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -10540,9 +10478,9 @@ i32.const 1 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -10555,9 +10493,9 @@ i32.const 2 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -10570,9 +10508,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -10583,9 +10521,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -10596,9 +10534,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -10609,9 +10547,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -10633,7 +10571,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10642,9 +10580,9 @@ i32.const 4 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -10657,9 +10595,9 @@ i32.const 5 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -10672,9 +10610,9 @@ i32.const 6 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -10685,9 +10623,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -10700,9 +10638,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -10715,9 +10653,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -10730,9 +10668,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -10743,9 +10681,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -10756,9 +10694,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -10769,9 +10707,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -10801,9 +10739,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -10816,9 +10754,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -10831,9 +10769,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -10844,9 +10782,9 @@ i32.const 255 i32.and if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -10859,9 +10797,9 @@ i32.const 1 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -10874,9 +10812,9 @@ i32.const 2 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -10889,9 +10827,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -10904,9 +10842,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -10919,9 +10857,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -10934,9 +10872,9 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -10966,9 +10904,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -10981,9 +10919,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -10996,9 +10934,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -11011,9 +10949,9 @@ i32.const 10 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -11026,9 +10964,9 @@ i32.const 11 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -11041,9 +10979,9 @@ i32.const 12 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -11056,9 +10994,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -11071,9 +11009,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -11086,9 +11024,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -11101,31 +11039,27 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $std/typedarray/testArraySet (; 203 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - global.get $std/typedarray/setSource - call $~lib/typedarray/Int8Array#set,i32> + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and + i32.const 4 + i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 429 + i32.const 498 i32.const 2 call $~lib/env/abort unreachable @@ -11135,10 +11069,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and + i32.const 5 + i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 430 + i32.const 499 i32.const 2 call $~lib/env/abort unreachable @@ -11149,9 +11085,9 @@ i32.const 255 i32.and if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 431 + i32.const 500 i32.const 2 call $~lib/env/abort unreachable @@ -11161,10 +11097,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and + i32.const 1 + i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 432 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -11174,12 +11112,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 1 + i32.const 2 i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 433 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -11189,12 +11127,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 2 + i32.const 12 i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 434 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -11207,9 +11145,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 435 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -11219,10 +11157,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and + i32.const 7 + i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 436 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -11232,10 +11172,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and + i32.const 8 + i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 437 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -11245,42 +11187,34 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and + i32.const 9 + i32.ne if - i32.const 848 + i32.const 1008 i32.const 8 - i32.const 438 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end - i32.const 3 + ) + (func $std/typedarray/testArraySet (; 203 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array#set + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int8Array#set,i32> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 4 - i32.ne if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 447 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -11290,12 +11224,10 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 5 - i32.ne if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 448 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -11305,12 +11237,10 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 6 - i32.ne if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 449 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -11321,9 +11251,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 450 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -11336,9 +11266,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 451 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -11351,9 +11281,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 452 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -11366,9 +11296,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 453 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -11379,9 +11309,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 454 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -11392,9 +11322,9 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 455 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -11405,30 +11335,30 @@ i32.const 255 i32.and if - i32.const 888 + i32.const 776 i32.const 8 - i32.const 456 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable end i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $1 i32.const 0 - f32.const 7 - call $~lib/internal/typedarray/TypedArray#__set + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $1 i32.const 1 - f32.const 8 - call $~lib/internal/typedarray/TypedArray#__set + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $1 i32.const 2 - f32.const 9 - call $~lib/internal/typedarray/TypedArray#__set + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11437,9 +11367,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 465 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -11452,9 +11382,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 466 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -11467,9 +11397,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 467 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -11480,9 +11410,9 @@ i32.const 255 i32.and if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 468 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -11495,9 +11425,9 @@ i32.const 1 i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 469 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -11510,9 +11440,9 @@ i32.const 2 i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 470 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -11525,9 +11455,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 471 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -11537,12 +11467,10 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 7 - i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 472 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -11552,12 +11480,10 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 8 - i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 473 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -11567,33 +11493,31 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 9 - i32.ne if - i32.const 952 + i32.const 816 i32.const 8 - i32.const 474 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable end i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $1 i32.const 0 - i64.const 10 - call $~lib/internal/typedarray/TypedArray#__set + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set local.get $1 i32.const 1 - i64.const 11 - call $~lib/internal/typedarray/TypedArray#__set + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set local.get $1 i32.const 2 - i64.const 12 - call $~lib/internal/typedarray/TypedArray#__set + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11602,9 +11526,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -11617,9 +11541,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -11632,9 +11556,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -11644,12 +11568,10 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 10 - i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -11659,12 +11581,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 11 + i32.const 1 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -11674,12 +11596,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 12 + i32.const 2 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -11692,9 +11614,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -11707,9 +11629,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -11722,9 +11644,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -11737,104 +11659,409 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Int16Array#set,i32> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 485 + i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.load offset=4 - local.tee $2 + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 6 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 i32.const 4 - i32.add + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end local.get $0 - i32.load offset=8 i32.const 1 - i32.shr_u - i32.gt_s + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.ne if - i32.const 776 + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int16Array#set,i32> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 i32.const 48 - i32.const 257 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 - local.set $4 - i32.const 0 + local.set $3 + local.get $1 + i32.load local.set $0 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.sub + local.set $1 loop $repeat|0 - local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.const 0 + i32.ge_s if - local.get $0 + local.get $1 i32.const 4 i32.add i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 + local.get $3 i32.add local.get $1 - i32.load - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=8 i32.store16 offset=8 - local.get $0 + local.get $1 i32.const 1 - i32.add - local.set $0 + i32.sub + local.set $1 br $repeat|0 end end ) - (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -11843,118 +12070,73 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - select - if - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - else + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s + i32.const 0 + i32.ge_s if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.store16 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end + local.get $1 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store16 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 end end ) - (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -11963,89 +12145,71 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 - i32.const 7 + local.get $1 + i32.const 3 i32.add i32.const 1 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 - local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i32.trunc_f32_s - i32.store16 offset=8 local.get $3 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + i64.load offset=8 + i64.store16 offset=8 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) - (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) local.get $0 - local.tee $3 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -12054,139 +12218,60 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 local.get $1 - select + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s if - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - local.set $6 - local.get $1 - i32.load - local.set $0 - local.get $3 - i32.load - local.set $2 - local.get $1 - i32.load offset=4 - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - local.get $6 - i32.lt_s - if - local.get $1 - i32.const 3 - i32.add - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $5 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $0 - i32.add - local.get $4 - i32.add - i64.load offset=8 - i64.store16 offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - else - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s + i32.ge_s if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $5 - local.get $3 - i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $2 - loop $repeat|1 + local.get $0 + i32.const 2 + i32.add + i32.const 1 + i32.shl local.get $2 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.const 3 - i32.add - i32.const 1 - i32.shl - local.get $5 - i32.add - local.get $4 - i32.add - local.get $1 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - i64.store16 offset=8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|1 - end + i32.add + local.get $3 + i32.add + local.get $0 + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 end end ) @@ -12204,9 +12289,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -12217,9 +12302,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -12230,9 +12315,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -12243,9 +12328,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -12258,9 +12343,9 @@ i32.const 1 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -12273,9 +12358,9 @@ i32.const 2 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -12288,9 +12373,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -12301,9 +12386,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -12314,9 +12399,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -12327,9 +12412,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -12350,7 +12435,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -12359,9 +12444,9 @@ i32.const 4 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -12374,9 +12459,9 @@ i32.const 5 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -12389,9 +12474,9 @@ i32.const 6 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -12402,9 +12487,9 @@ i32.const 65535 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -12417,9 +12502,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -12432,9 +12517,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -12447,9 +12532,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -12460,9 +12545,9 @@ i32.const 65535 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -12473,9 +12558,9 @@ i32.const 65535 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -12486,9 +12571,9 @@ i32.const 65535 i32.and if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -12518,9 +12603,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -12533,9 +12618,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -12548,9 +12633,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -12561,9 +12646,9 @@ i32.const 65535 i32.and if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -12576,9 +12661,9 @@ i32.const 1 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -12591,9 +12676,9 @@ i32.const 2 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -12606,9 +12691,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -12621,9 +12706,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -12636,9 +12721,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -12651,9 +12736,9 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -12683,9 +12768,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -12698,9 +12783,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -12713,9 +12798,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -12728,9 +12813,9 @@ i32.const 10 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -12743,9 +12828,9 @@ i32.const 11 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -12758,9 +12843,9 @@ i32.const 12 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -12773,9 +12858,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -12788,9 +12873,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -12803,9 +12888,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -12818,144 +12903,176 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Uint16Array#set (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) local.get $0 - i32.eqz + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int16Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.eqz + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 call $~lib/env/abort unreachable end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and i32.const 1 - i32.const 0 - local.get $1 - select + i32.ne if - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load + i32.const 1008 i32.const 8 - i32.add - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 1008 i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - else - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.store16 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end - end + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 12 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort + unreachable end ) - (func $~lib/typedarray/Uint16Array#set (; 210 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#set (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -12964,76 +13081,63 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $1 i32.const 7 i32.add i32.const 1 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 i32.trunc_f32_u i32.store16 offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) - (func $std/typedarray/testArraySet (; 211 ;) (type $_) + (func $std/typedarray/testArraySet (; 210 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -13047,9 +13151,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -13060,9 +13164,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -13073,9 +13177,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -13086,9 +13190,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -13101,9 +13205,9 @@ i32.const 1 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -13116,9 +13220,9 @@ i32.const 2 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -13131,9 +13235,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -13144,9 +13248,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -13157,9 +13261,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -13170,9 +13274,9 @@ i32.const 65535 i32.and if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -13193,7 +13297,166 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Int8Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.ne + if + i32.const 816 + i32.const 8 + i32.const 449 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.ne + if + i32.const 816 + i32.const 8 + i32.const 450 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 6 + i32.ne + if + i32.const 816 + i32.const 8 + i32.const 451 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 816 + i32.const 8 + i32.const 452 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.ne + if + i32.const 816 + i32.const 8 + i32.const 453 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.ne + if + i32.const 816 + i32.const 8 + i32.const 454 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.ne + if + i32.const 816 + i32.const 8 + i32.const 455 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 816 + i32.const 8 + i32.const 456 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 816 + i32.const 8 + i32.const 457 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + if + i32.const 816 + i32.const 8 + i32.const 458 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.const 0 + f32.const 7 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + f32.const 8 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + f32.const 9 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Uint16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13202,9 +13465,9 @@ i32.const 4 i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 447 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -13217,9 +13480,9 @@ i32.const 5 i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 448 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -13232,9 +13495,9 @@ i32.const 6 i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 449 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -13245,9 +13508,9 @@ i32.const 65535 i32.and if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 450 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -13260,9 +13523,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 451 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -13275,9 +13538,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 452 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -13290,9 +13553,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 453 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -13302,10 +13565,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and + i32.const 7 + i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 454 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -13315,10 +13580,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and + i32.const 8 + i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 455 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -13328,31 +13595,33 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and + i32.const 9 + i32.ne if - i32.const 888 + i32.const 880 i32.const 8 - i32.const 456 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable end i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $1 i32.const 0 - f32.const 7 - call $~lib/internal/typedarray/TypedArray#__set + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set local.get $1 i32.const 1 - f32.const 8 - call $~lib/internal/typedarray/TypedArray#__set + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set local.get $1 i32.const 2 - f32.const 9 - call $~lib/internal/typedarray/TypedArray#__set + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13361,9 +13630,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -13376,9 +13645,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -13391,9 +13660,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -13403,10 +13672,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and + i32.const 10 + i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -13416,12 +13687,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and - i32.const 1 + i32.const 11 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -13431,12 +13702,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and - i32.const 2 + i32.const 12 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -13449,9 +13720,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -13464,9 +13735,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -13479,9 +13750,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -13494,30 +13765,16 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.const 0 - i64.const 10 - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 1 - i64.const 11 - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i64.const 12 - call $~lib/internal/typedarray/TypedArray#__set local.get $0 - local.get $1 - call $~lib/typedarray/Int16Array#set + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13526,9 +13783,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 483 + i32.const 498 i32.const 2 call $~lib/env/abort unreachable @@ -13541,9 +13798,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 484 + i32.const 499 i32.const 2 call $~lib/env/abort unreachable @@ -13553,12 +13810,10 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and - i32.const 6 - i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 485 + i32.const 500 i32.const 2 call $~lib/env/abort unreachable @@ -13568,12 +13823,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and - i32.const 10 + i32.const 1 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 486 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -13583,12 +13838,12 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 65535 i32.and - i32.const 11 + i32.const 2 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -13601,9 +13856,9 @@ i32.const 12 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -13616,9 +13871,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -13631,9 +13886,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -13646,9 +13901,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -13661,25 +13916,24 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#set,i32> (; 212 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set,i32> (; 211 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -13688,197 +13942,62 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.tee $2 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 257 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 - local.set $4 - i32.const 0 + local.set $3 + local.get $1 + i32.load local.set $0 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.sub + local.set $1 loop $repeat|0 - local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.const 0 + i32.ge_s if - local.get $0 + local.get $1 i32.const 4 i32.add i32.const 2 i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - local.get $1 - i32.load - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load offset=8 - i32.store offset=8 - local.get $0 - i32.const 1 + local.get $2 i32.add - local.set $0 - br $repeat|0 - end - end - ) - (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.const 0 - local.get $1 - select - if - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - else - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end + local.get $3 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=8 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 end end ) - (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/typedarray/Int32Array#set (; 212 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -13887,89 +14006,120 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 - end - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add i32.add local.get $2 - i32.load offset=8 i32.const 2 - i32.shr_u - i32.gt_s + i32.shl + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + ) + (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz if - i32.const 776 + i32.const 664 i32.const 48 - i32.const 306 - i32.const 4 + i32.const 242 + i32.const 6 call $~lib/env/abort unreachable end - local.get $2 + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 i32.load - local.set $0 - local.get $2 - i32.load offset=4 local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $1 i32.const 7 i32.add i32.const 2 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 i32.trunc_f32_s i32.store offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) - (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) local.get $0 - local.tee $3 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -13978,139 +14128,133 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - select - if - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.set $6 - local.get $1 - i32.load - local.set $0 - local.get $3 - i32.load - local.set $2 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.load offset=4 - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 i32.const 0 - local.set $1 - loop $repeat|0 + i32.ge_s + if local.get $1 - local.get $6 - i32.lt_s - if - local.get $1 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $5 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $0 - i32.add - local.get $4 - i32.add - i64.load offset=8 - i64.store32 offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + i64.load offset=8 + i64.store32 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 end - else - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + end + ) + (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $5 - local.get $3 - i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $2 - loop $repeat|1 + local.get $0 + i32.const 2 + i32.add + i32.const 2 + i32.shl local.get $2 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $5 - i32.add - local.get $4 - i32.add - local.get $1 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - i64.store32 offset=8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|1 - end + i32.add + local.get $3 + i32.add + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 end end ) @@ -14126,9 +14270,9 @@ i32.const 0 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -14137,9 +14281,9 @@ i32.const 1 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -14148,9 +14292,9 @@ i32.const 2 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -14159,9 +14303,9 @@ i32.const 3 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -14172,9 +14316,9 @@ i32.const 1 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -14185,9 +14329,9 @@ i32.const 2 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -14198,9 +14342,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -14209,9 +14353,9 @@ i32.const 7 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -14220,9 +14364,9 @@ i32.const 8 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -14231,9 +14375,9 @@ i32.const 9 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -14254,6 +14398,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 + i32.const 0 call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 @@ -14261,9 +14406,9 @@ i32.const 4 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -14274,9 +14419,9 @@ i32.const 5 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -14287,9 +14432,9 @@ i32.const 6 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -14298,9 +14443,9 @@ i32.const 3 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -14311,9 +14456,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -14324,9 +14469,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -14337,9 +14482,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -14348,9 +14493,9 @@ i32.const 7 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -14359,9 +14504,9 @@ i32.const 8 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -14370,9 +14515,9 @@ i32.const 9 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -14400,9 +14545,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -14413,9 +14558,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -14426,9 +14571,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -14437,9 +14582,9 @@ i32.const 3 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -14450,9 +14595,9 @@ i32.const 1 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -14463,9 +14608,9 @@ i32.const 2 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -14476,9 +14621,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -14489,9 +14634,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -14502,9 +14647,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -14515,9 +14660,9 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -14545,9 +14690,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -14558,9 +14703,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -14571,9 +14716,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -14584,9 +14729,9 @@ i32.const 10 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -14597,9 +14742,140 @@ i32.const 11 i32.ne if - i32.const 952 + i32.const 880 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -14610,9 +14886,9 @@ i32.const 12 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -14623,9 +14899,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -14636,9 +14912,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -14649,9 +14925,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -14662,9 +14938,9 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable @@ -14673,14 +14949,14 @@ (func $~lib/typedarray/Uint32Array#set (; 217 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -14689,72 +14965,59 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $1 i32.const 7 i32.add i32.const 2 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 i32.trunc_f32_u i32.store offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) @@ -14770,9 +15033,9 @@ i32.const 0 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -14781,9 +15044,9 @@ i32.const 1 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -14792,9 +15055,9 @@ i32.const 2 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -14803,9 +15066,9 @@ i32.const 3 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -14816,9 +15079,9 @@ i32.const 1 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -14829,9 +15092,9 @@ i32.const 2 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -14842,9 +15105,9 @@ i32.const 3 i32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -14853,9 +15116,9 @@ i32.const 7 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -14864,9 +15127,9 @@ i32.const 8 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -14875,9 +15138,9 @@ i32.const 9 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -14898,6 +15161,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 + i32.const 0 call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 @@ -14905,9 +15169,9 @@ i32.const 4 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -14918,9 +15182,9 @@ i32.const 5 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -14931,9 +15195,9 @@ i32.const 6 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -14942,9 +15206,9 @@ i32.const 3 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -14955,9 +15219,9 @@ i32.const 1 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -14968,9 +15232,9 @@ i32.const 2 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -14981,9 +15245,9 @@ i32.const 3 i32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -14992,9 +15256,9 @@ i32.const 7 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -15003,9 +15267,9 @@ i32.const 8 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -15014,9 +15278,9 @@ i32.const 9 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -15044,9 +15308,9 @@ i32.const 4 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -15057,9 +15321,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -15070,9 +15334,9 @@ i32.const 6 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -15081,9 +15345,9 @@ i32.const 3 call $~lib/internal/typedarray/TypedArray#__get if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -15094,9 +15358,156 @@ i32.const 1 i32.ne if - i32.const 952 + i32.const 880 + i32.const 8 + i32.const 471 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 472 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 473 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 474 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 475 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 476 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.const 0 + i64.const 10 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 1 + i64.const 11 + call $~lib/internal/typedarray/TypedArray#__set + local.get $1 + i32.const 2 + i64.const 12 + call $~lib/internal/typedarray/TypedArray#__set + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 6 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 10 + i32.ne + if + i32.const 880 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 11 + i32.ne + if + i32.const 880 i32.const 8 - i32.const 469 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -15104,12 +15515,12 @@ local.get $0 i32.const 5 call $~lib/internal/typedarray/TypedArray#__get - i32.const 2 + i32.const 12 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -15120,9 +15531,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -15133,9 +15544,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -15146,9 +15557,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -15159,39 +15570,25 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.const 0 - i64.const 10 - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 1 - i64.const 11 - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i64.const 12 - call $~lib/internal/typedarray/TypedArray#__set local.get $0 - local.get $1 - call $~lib/typedarray/Int32Array#set + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get i32.const 4 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 483 + i32.const 498 i32.const 2 call $~lib/env/abort unreachable @@ -15202,9 +15599,9 @@ i32.const 5 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 484 + i32.const 499 i32.const 2 call $~lib/env/abort unreachable @@ -15212,12 +15609,10 @@ local.get $0 i32.const 2 call $~lib/internal/typedarray/TypedArray#__get - i32.const 6 - i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 485 + i32.const 500 i32.const 2 call $~lib/env/abort unreachable @@ -15225,12 +15620,12 @@ local.get $0 i32.const 3 call $~lib/internal/typedarray/TypedArray#__get - i32.const 10 + i32.const 1 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 486 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -15238,12 +15633,12 @@ local.get $0 i32.const 4 call $~lib/internal/typedarray/TypedArray#__get - i32.const 11 + i32.const 2 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -15254,9 +15649,9 @@ i32.const 12 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -15267,9 +15662,9 @@ i32.const 3 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -15280,9 +15675,9 @@ i32.const 7 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -15293,9 +15688,9 @@ i32.const 8 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -15306,9 +15701,9 @@ i32.const 9 i32.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable @@ -15317,14 +15712,13 @@ (func $~lib/typedarray/Int64Array#set,i32> (; 219 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -15333,78 +15727,63 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.tee $2 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 257 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 - local.set $4 - i32.const 0 + local.set $3 + local.get $1 + i32.load local.set $0 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.sub + local.set $1 loop $repeat|0 - local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.const 0 + i32.ge_s if - local.get $0 + local.get $1 i32.const 4 i32.add i32.const 3 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 + local.get $3 i32.add local.get $1 - i32.load - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=8 i64.extend_i32_s i64.store offset=8 - local.get $0 + local.get $1 i32.const 1 - i32.add - local.set $0 + i32.sub + local.set $1 br $repeat|0 end end ) (func $~lib/typedarray/Int64Array#set (; 220 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -15413,131 +15792,119 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $2 + i32.const 3 + i32.shl + i32.add local.get $1 - if (result i32) - i32.const 1 - else - i32.const 0 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + ) + (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable end + local.get $1 + i32.eqz if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - else - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - block $break|0 - local.get $0 - i32.const 0 - i32.lt_s - br_if $break|0 - local.get $0 - local.get $2 - i32.add - i32.const 3 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - local.get $1 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 + i64.trunc_f32_s + i64.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 end end ) - (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -15546,76 +15913,65 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 - end local.get $1 - i32.load offset=8 + i32.load i32.const 2 - i32.shr_u - i32.const 7 i32.add - local.get $2 + local.get $0 i32.load offset=8 i32.const 3 i32.shr_u i32.gt_s if - i32.const 776 + i32.const 936 i32.const 48 - i32.const 306 - i32.const 4 + i32.const 429 + i32.const 8 call $~lib/env/abort unreachable end - local.get $2 + local.get $0 i32.load - local.set $0 - local.get $2 - i32.load offset=4 local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u + i32.load i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $0 + loop $repeat|0 + local.get $0 i32.const 0 i32.ge_s if - local.get $3 - i32.const 7 + local.get $0 + i32.const 2 i32.add i32.const 3 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i64.trunc_f32_s + i32.add + local.get $0 + i64.extend_i32_s i64.store offset=8 - local.get $3 + local.get $0 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $0 + br $repeat|0 end end ) - (func $std/typedarray/testArraySet (; 222 ;) (type $_) + (func $std/typedarray/testArraySet (; 223 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -15629,9 +15985,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -15642,9 +15998,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -15655,9 +16011,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -15668,9 +16024,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -15681,9 +16037,9 @@ i64.const 1 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -15694,9 +16050,9 @@ i64.const 2 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -15707,9 +16063,9 @@ i64.const 3 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -15720,9 +16076,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -15733,9 +16089,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -15746,9 +16102,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -15777,9 +16133,9 @@ i64.const 4 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -15790,9 +16146,9 @@ i64.const 5 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -15803,9 +16159,9 @@ i64.const 6 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -15816,9 +16172,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -15829,9 +16185,9 @@ i64.const 1 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -15842,9 +16198,9 @@ i64.const 2 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -15855,9 +16211,9 @@ i64.const 3 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -15868,9 +16224,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -15881,9 +16237,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -15894,9 +16250,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -15924,9 +16280,9 @@ i64.const 4 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -15937,9 +16293,9 @@ i64.const 5 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -15950,9 +16306,9 @@ i64.const 6 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -15963,9 +16319,9 @@ i64.const 0 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -15976,9 +16332,9 @@ i64.const 1 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -15989,9 +16345,9 @@ i64.const 2 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -16002,9 +16358,9 @@ i64.const 3 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -16015,9 +16371,9 @@ i64.const 7 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -16028,9 +16384,9 @@ i64.const 8 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -16041,9 +16397,9 @@ i64.const 9 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -16072,9 +16428,142 @@ i64.const 4 i64.ne if - i32.const 952 + i32.const 880 + i32.const 8 + i32.const 485 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 486 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 6 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 10 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 1008 i32.const 8 - i32.const 483 + i32.const 498 i32.const 2 call $~lib/env/abort unreachable @@ -16085,9 +16574,9 @@ i64.const 5 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 484 + i32.const 499 i32.const 2 call $~lib/env/abort unreachable @@ -16095,12 +16584,12 @@ local.get $0 i32.const 2 call $~lib/internal/typedarray/TypedArray#__get - i64.const 6 + i64.const 0 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 485 + i32.const 500 i32.const 2 call $~lib/env/abort unreachable @@ -16108,12 +16597,12 @@ local.get $0 i32.const 3 call $~lib/internal/typedarray/TypedArray#__get - i64.const 10 + i64.const 1 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 486 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -16121,12 +16610,12 @@ local.get $0 i32.const 4 call $~lib/internal/typedarray/TypedArray#__get - i64.const 11 + i64.const 2 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -16137,9 +16626,9 @@ i64.const 12 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -16150,9 +16639,9 @@ i64.const 3 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -16163,9 +16652,9 @@ i64.const 7 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -16176,9 +16665,9 @@ i64.const 8 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -16189,25 +16678,25 @@ i64.const 9 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint64Array#set (; 223 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#set (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -16216,76 +16705,63 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 + local.get $1 i32.const 7 i32.add i32.const 3 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + f32.load offset=8 i64.trunc_f32_u i64.store offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) - (func $std/typedarray/testArraySet (; 224 ;) (type $_) + (func $std/typedarray/testArraySet (; 225 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -16299,9 +16775,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -16312,9 +16788,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -16325,9 +16801,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -16338,9 +16814,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -16351,9 +16827,9 @@ i64.const 1 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -16364,9 +16840,9 @@ i64.const 2 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -16377,9 +16853,9 @@ i64.const 3 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -16390,9 +16866,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -16403,9 +16879,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -16416,9 +16892,9 @@ i64.const 0 i64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -16447,9 +16923,9 @@ i64.const 4 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -16460,9 +16936,9 @@ i64.const 5 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -16473,9 +16949,9 @@ i64.const 6 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -16486,9 +16962,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -16499,9 +16975,9 @@ i64.const 1 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -16512,9 +16988,9 @@ i64.const 2 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -16525,9 +17001,9 @@ i64.const 3 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -16538,9 +17014,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -16551,9 +17027,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -16564,9 +17040,9 @@ i64.const 0 i64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -16594,9 +17070,9 @@ i64.const 4 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -16607,9 +17083,9 @@ i64.const 5 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -16620,9 +17096,9 @@ i64.const 6 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -16633,9 +17109,9 @@ i64.const 0 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -16646,9 +17122,9 @@ i64.const 1 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -16659,9 +17135,9 @@ i64.const 2 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -16672,9 +17148,9 @@ i64.const 3 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -16685,9 +17161,9 @@ i64.const 7 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -16698,9 +17174,9 @@ i64.const 8 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -16711,9 +17187,9 @@ i64.const 9 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -16742,9 +17218,9 @@ i64.const 4 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -16755,9 +17231,9 @@ i64.const 5 i64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -16768,9 +17244,142 @@ i64.const 6 i64.ne if - i32.const 952 + i32.const 880 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 10 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.ne + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.ne + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.ne + if + i32.const 1008 i32.const 8 - i32.const 485 + i32.const 500 i32.const 2 call $~lib/env/abort unreachable @@ -16778,12 +17387,12 @@ local.get $0 i32.const 3 call $~lib/internal/typedarray/TypedArray#__get - i64.const 10 + i64.const 1 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 486 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -16791,12 +17400,12 @@ local.get $0 i32.const 4 call $~lib/internal/typedarray/TypedArray#__get - i64.const 11 + i64.const 2 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -16807,9 +17416,9 @@ i64.const 12 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -16820,9 +17429,9 @@ i64.const 3 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -16833,9 +17442,9 @@ i64.const 7 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -16846,9 +17455,9 @@ i64.const 8 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -16859,25 +17468,24 @@ i64.const 9 i64.ne if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float32Array#set,i32> (; 225 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set,i32> (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -16886,69 +17494,57 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.tee $2 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 257 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 - local.set $4 - i32.const 0 + local.set $3 + local.get $1 + i32.load local.set $0 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.sub + local.set $1 loop $repeat|0 - local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.const 0 + i32.ge_s if - local.get $0 + local.get $1 i32.const 4 i32.add i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 + local.get $3 i32.add local.get $1 - i32.load - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=8 f32.convert_i32_s f32.store offset=8 - local.get $0 + local.get $1 i32.const 1 - i32.add - local.set $0 + i32.sub + local.set $1 br $repeat|0 end end ) - (func $~lib/typedarray/Float32Array#set (; 226 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -16957,7 +17553,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -16966,89 +17562,72 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 - end - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 + local.set $3 + local.get $1 + i32.load local.set $4 local.get $1 + i32.load offset=4 + local.set $0 + local.get $1 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 loop $repeat|0 - block $break|0 - local.get $0 - i32.const 0 - i32.lt_s - br_if $break|0 - local.get $0 - local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 3 i32.add i32.const 2 i32.shl + local.get $2 + i32.add local.get $3 i32.add + local.get $1 + i32.const 3 + i32.shl local.get $4 i32.add - local.get $1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + i64.load offset=8 + f32.convert_i64_s f32.store offset=8 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $repeat|0 end end ) - (func $~lib/typedarray/Float32Array#set (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set (; 228 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) local.get $0 - local.tee $3 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -17057,143 +17636,65 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 local.get $1 - select + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s if - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.set $6 - local.get $3 - i32.load - local.set $2 - local.get $1 - i32.load offset=4 - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - local.get $0 - i32.lt_s - if - local.get $1 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $5 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $6 - i32.add - local.get $4 - i32.add - i64.load offset=8 - f32.convert_i64_s - f32.store offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - else - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $5 - local.get $3 - i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $2 - loop $repeat|1 + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + i32.const 2 + i32.shl local.get $2 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $5 - i32.add - local.get $4 - i32.add - local.get $1 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - f32.convert_i64_s - f32.store offset=8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|1 - end + i32.add + local.get $3 + i32.add + local.get $0 + f32.convert_i32_s + f32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 end end ) - (func $std/typedarray/testArraySet (; 228 ;) (type $_) + (func $std/typedarray/testArraySet (; 229 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -17207,9 +17708,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -17220,9 +17721,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -17233,9 +17734,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -17246,9 +17747,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -17259,9 +17760,9 @@ f32.const 1 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -17272,9 +17773,9 @@ f32.const 2 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -17285,9 +17786,9 @@ f32.const 3 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -17298,9 +17799,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -17311,9 +17812,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -17324,9 +17825,9 @@ f32.const 0 f32.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -17348,16 +17849,16 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get f32.const 4 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -17368,9 +17869,9 @@ f32.const 5 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -17381,9 +17882,9 @@ f32.const 6 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -17394,9 +17895,9 @@ f32.const 0 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -17407,9 +17908,9 @@ f32.const 1 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -17420,9 +17921,9 @@ f32.const 2 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -17433,9 +17934,9 @@ f32.const 3 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -17446,9 +17947,9 @@ f32.const 0 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -17459,9 +17960,9 @@ f32.const 0 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -17472,9 +17973,9 @@ f32.const 0 f32.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -17496,16 +17997,16 @@ local.get $0 local.get $1 i32.const 7 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get f32.const 4 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -17516,9 +18017,9 @@ f32.const 5 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -17529,9 +18030,9 @@ f32.const 6 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -17542,9 +18043,9 @@ f32.const 0 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -17555,9 +18056,9 @@ f32.const 1 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -17568,9 +18069,9 @@ f32.const 2 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -17581,9 +18082,9 @@ f32.const 3 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -17594,9 +18095,9 @@ f32.const 7 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -17607,9 +18108,9 @@ f32.const 8 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -17620,9 +18121,9 @@ f32.const 9 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -17650,9 +18151,9 @@ f32.const 4 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -17663,9 +18164,9 @@ f32.const 5 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -17676,9 +18177,9 @@ f32.const 6 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -17689,9 +18190,9 @@ f32.const 10 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -17702,9 +18203,9 @@ f32.const 11 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -17715,9 +18216,9 @@ f32.const 12 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -17728,9 +18229,9 @@ f32.const 3 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -17741,9 +18242,9 @@ f32.const 7 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -17754,9 +18255,9 @@ f32.const 8 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -17767,25 +18268,157 @@ f32.const 9 f32.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Float32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 12 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 7 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 8 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.ne + if + i32.const 1008 + i32.const 8 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float64Array#set,i32> (; 229 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set,i32> (; 230 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -17794,78 +18427,66 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=4 - local.tee $2 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 257 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end local.get $0 i32.load - local.set $3 + local.set $2 local.get $0 i32.load offset=4 - local.set $4 - i32.const 0 + local.set $3 + local.get $1 + i32.load local.set $0 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.sub + local.set $1 loop $repeat|0 - local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.const 0 + i32.ge_s if - local.get $0 + local.get $1 i32.const 4 i32.add i32.const 3 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 + local.get $3 i32.add local.get $1 - i32.load - local.get $0 i32.const 2 i32.shl + local.get $0 i32.add i32.load offset=8 f64.convert_i32_s f64.store offset=8 - local.get $0 + local.get $1 i32.const 1 - i32.add - local.set $0 + i32.sub + local.set $1 br $repeat|0 end end ) - (func $~lib/typedarray/Float64Array#set (; 230 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -17874,30 +18495,8 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end @@ -17908,18 +18507,26 @@ i32.load offset=4 local.set $3 local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $1 i32.load offset=8 - i32.const 3 + i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 loop $repeat|0 - local.get $0 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 + i32.const 7 + i32.add i32.const 3 i32.shl local.get $2 @@ -17927,28 +18534,34 @@ local.get $3 i32.add local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add local.get $0 - call $~lib/internal/typedarray/TypedArray#__get + i32.add + f32.load offset=8 + f64.promote_f32 f64.store offset=8 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 + local.set $1 br $repeat|0 end end ) - (func $~lib/typedarray/Float64Array#set (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 - local.tee $2 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -17957,89 +18570,72 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 - local.get $1 - i32.eqz - br_if $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 - end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 7 - i32.add - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 i32.load - local.set $0 - local.get $2 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $0 local.get $1 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $3 - loop $repeat|1 - local.get $3 + local.set $1 + loop $repeat|0 + local.get $1 i32.const 0 i32.ge_s if - local.get $3 - i32.const 7 + local.get $1 + i32.const 3 i32.add i32.const 3 i32.shl - local.get $0 - i32.add local.get $2 i32.add - local.get $1 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - f64.promote_f32 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $0 + i32.add + i64.load offset=8 + f64.convert_i64_s f64.store offset=8 - local.get $3 + local.get $1 i32.const 1 i32.sub - local.set $3 - br $repeat|1 + local.set $1 + br $repeat|0 end end ) - (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 233 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) local.get $0 - local.tee $3 i32.eqz if i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -18048,143 +18644,65 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 0 local.get $1 - select + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s if - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.set $6 - local.get $3 - i32.load - local.set $2 - local.get $1 - i32.load offset=4 - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - local.get $0 - i32.lt_s - if - local.get $1 - i32.const 3 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $5 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $6 - i32.add - local.get $4 - i32.add - i64.load offset=8 - f64.convert_i64_s - f64.store offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - else - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 3 - i32.add - local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $5 - local.get $3 - i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $2 - loop $repeat|1 + local.get $0 + i32.const 2 + i32.add + i32.const 3 + i32.shl local.get $2 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.const 3 - i32.add - i32.const 3 - i32.shl - local.get $5 - i32.add - local.get $4 - i32.add - local.get $1 - local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - f64.convert_i64_s - f64.store offset=8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|1 - end + i32.add + local.get $3 + i32.add + local.get $0 + f64.convert_i32_s + f64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 end end ) - (func $std/typedarray/testArraySet (; 233 ;) (type $_) + (func $std/typedarray/testArraySet (; 234 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -18198,9 +18716,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -18211,9 +18729,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -18224,9 +18742,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -18237,9 +18755,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -18250,9 +18768,9 @@ f64.const 1 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -18263,9 +18781,9 @@ f64.const 2 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -18276,9 +18794,9 @@ f64.const 3 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -18289,9 +18807,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -18302,9 +18820,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -18315,9 +18833,9 @@ f64.const 0 f64.ne if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -18338,16 +18856,17 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Float64Array#set + i32.const 0 + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get f64.const 4 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -18358,9 +18877,9 @@ f64.const 5 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -18371,9 +18890,9 @@ f64.const 6 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -18384,9 +18903,9 @@ f64.const 0 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -18397,9 +18916,9 @@ f64.const 1 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -18410,9 +18929,9 @@ f64.const 2 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -18423,9 +18942,9 @@ f64.const 3 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -18436,9 +18955,9 @@ f64.const 0 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -18449,9 +18968,9 @@ f64.const 0 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -18462,9 +18981,9 @@ f64.const 0 f64.ne if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -18492,9 +19011,9 @@ f64.const 4 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -18505,9 +19024,9 @@ f64.const 5 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -18518,9 +19037,9 @@ f64.const 6 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -18531,9 +19050,9 @@ f64.const 0 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -18544,9 +19063,9 @@ f64.const 1 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -18557,9 +19076,9 @@ f64.const 2 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -18570,9 +19089,9 @@ f64.const 3 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -18583,9 +19102,9 @@ f64.const 7 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -18596,9 +19115,9 @@ f64.const 8 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -18609,9 +19128,9 @@ f64.const 9 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -18639,9 +19158,9 @@ f64.const 4 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -18652,9 +19171,9 @@ f64.const 5 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -18665,9 +19184,9 @@ f64.const 6 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -18678,9 +19197,9 @@ f64.const 10 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -18691,9 +19210,9 @@ f64.const 11 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -18704,9 +19223,9 @@ f64.const 12 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -18717,9 +19236,9 @@ f64.const 3 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -18730,9 +19249,9 @@ f64.const 7 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -18743,9 +19262,9 @@ f64.const 8 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -18756,18 +19275,151 @@ f64.const 9 f64.ne if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + call $~lib/typedarray/Float64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 12 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 8 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.ne + if + i32.const 1008 + i32.const 8 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $start:std/typedarray (; 234 ;) (type $_) + (func $start:std/typedarray (; 235 ;) (type $_) (local $0 i32) (local $1 i32) - i32.const 1008 + i32.const 1056 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -19043,15 +19695,15 @@ end local.get $0 end - if (result i32) + if global.get $std/typedarray/af64 i32.const 3 call $~lib/internal/typedarray/TypedArray#__get f64.const 7 f64.eq - else - local.get $0 + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -19756,6 +20408,13 @@ call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery + i32.const 4 + call $~lib/allocator/arena/__memory_allocate + local.tee $0 + i32.const 3 + i32.store + local.get $0 + global.set $std/typedarray/arrayLikeValue call $std/typedarray/testArraySet call $std/typedarray/testArraySet call $std/typedarray/testArraySet @@ -19768,10 +20427,10 @@ call $std/typedarray/testArraySet call $std/typedarray/testArraySet ) - (func $start (; 235 ;) (type $_) + (func $start (; 236 ;) (type $_) call $start:std/typedarray ) - (func $null (; 236 ;) (type $_) + (func $null (; 237 ;) (type $_) nop ) ) diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index ef464babaa..aa20bac9cc 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -411,6 +411,17 @@ testArrayEvery(); testArrayEvery(); +class ArrayLike { + length: i32 = 3; + + @operator("[]") + protected __get(index: i32): i32 { + return index; + } +} + +var arrayLikeValue = new ArrayLike(); + var setSource: i32[] = [1, 2, 3]; function testArraySet, U extends number>(): void { @@ -481,6 +492,19 @@ function testArraySet, U extends number>(): void { assert(target[7] == 7, "Float32Array test fails."); assert(target[8] == 8, "Float32Array test fails."); assert(target[9] == 9, "Float32Array test fails."); + + target.set(arrayLikeValue, 2); + + assert(target[0] == 4, "arraylike test fails."); + assert(target[1] == 5, "arraylike test fails."); + assert(target[2] == 0, "arraylike test fails."); + assert(target[3] == 1, "arraylike test fails."); + assert(target[4] == 2, "arraylike test fails."); + assert(target[5] == 12, "arraylike test fails."); + assert(target[6] == 3, "arraylike test fails."); + assert(target[7] == 7, "arraylike test fails."); + assert(target[8] == 8, "arraylike test fails."); + assert(target[9] == 9, "arraylike test fails."); } testArraySet(); diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 54a830b62c..87c5198814 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -63,12 +63,13 @@ (data (i32.const 616) "H\02\00\00\05\00\00\00") (data (i32.const 624) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 656) "p\02\00\00\03\00\00\00") - (data (i32.const 664) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00T\00a\00r\00g\00e\00t\00 \00i\00s\00 \00n\00u\00l\00l\00.\00") - (data (i32.const 720) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00S\00o\00u\00r\00c\00e\00 \00i\00s\00 \00n\00u\00l\00l\00.\00") - (data (i32.const 776) " \00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00:\00 \00O\00f\00f\00s\00e\00t\00 \00i\00s\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00.\00") - (data (i32.const 848) "\10\00\00\00i\003\002\00[\00]\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00") - (data (i32.const 888) "\1e\00\00\00S\00i\00m\00i\00l\00a\00r\00 \00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") - (data (i32.const 952) "\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") + (data (i32.const 664) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00t\00a\00r\00g\00e\00t\00 \00i\00s\00 \00n\00u\00l\00l\00.\00") + (data (i32.const 720) "\1a\00\00\00T\00y\00p\00e\00E\00r\00r\00o\00r\00:\00 \00s\00o\00u\00r\00c\00e\00 \00i\00s\00 \00n\00u\00l\00l\00.\00") + (data (i32.const 776) "\10\00\00\00i\003\002\00[\00]\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00") + (data (i32.const 816) "\1e\00\00\00S\00i\00m\00i\00l\00a\00r\00 \00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") + (data (i32.const 880) "\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") + (data (i32.const 936) " \00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00:\00 \00O\00f\00f\00s\00e\00t\00 \00i\00s\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00.\00") + (data (i32.const 1008) "\15\00\00\00a\00r\00r\00a\00y\00l\00i\00k\00e\00 \00t\00e\00s\00t\00 \00f\00a\00i\00l\00s\00.\00") (table $0 101 funcref) (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|1 $std/typedarray/testReduce~anonymous|2 $std/typedarray/testReduce~anonymous|3 $std/typedarray/testReduce~anonymous|4 $std/typedarray/testReduce~anonymous|5 $std/typedarray/testReduce~anonymous|6 $std/typedarray/testReduce~anonymous|7 $std/typedarray/testReduce~anonymous|8 $std/typedarray/testReduce~anonymous|9 $std/typedarray/testReduce~anonymous|10 $std/typedarray/testReduce~anonymous|11 $std/typedarray/testReduce~anonymous|12 $std/typedarray/testReduceRight~anonymous|13 $std/typedarray/testReduceRight~anonymous|14 $std/typedarray/testReduceRight~anonymous|15 $std/typedarray/testReduceRight~anonymous|16 $std/typedarray/testReduceRight~anonymous|17 $std/typedarray/testReduceRight~anonymous|18 $std/typedarray/testReduceRight~anonymous|19 $std/typedarray/testReduceRight~anonymous|20 $std/typedarray/testReduceRight~anonymous|21 $std/typedarray/testReduceRight~anonymous|22 $std/typedarray/testReduceRight~anonymous|23 $std/typedarray/testArrayMap~anonymous|24 $std/typedarray/testArrayMap~anonymous|25 $std/typedarray/testArrayMap~anonymous|26 $std/typedarray/testArrayMap~anonymous|27 $std/typedarray/testArrayMap~anonymous|28 $std/typedarray/testArrayMap~anonymous|29 $std/typedarray/testArrayMap~anonymous|30 $std/typedarray/testArrayMap~anonymous|31 $std/typedarray/testArrayMap~anonymous|32 $std/typedarray/testArrayMap~anonymous|33 $std/typedarray/testArrayMap~anonymous|34 $std/typedarray/testArraySome~anonymous|35 $std/typedarray/testArraySome~anonymous|36 $std/typedarray/testArraySome~anonymous|37 $std/typedarray/testArraySome~anonymous|38 $std/typedarray/testArraySome~anonymous|39 $std/typedarray/testArraySome~anonymous|40 $std/typedarray/testArraySome~anonymous|41 $std/typedarray/testArraySome~anonymous|42 $std/typedarray/testArraySome~anonymous|43 $std/typedarray/testArraySome~anonymous|44 $std/typedarray/testArraySome~anonymous|45 $std/typedarray/testArraySome~anonymous|46 $std/typedarray/testArraySome~anonymous|47 $std/typedarray/testArraySome~anonymous|48 $std/typedarray/testArraySome~anonymous|49 $std/typedarray/testArraySome~anonymous|50 $std/typedarray/testArraySome~anonymous|51 $std/typedarray/testArraySome~anonymous|52 $std/typedarray/testArraySome~anonymous|53 $std/typedarray/testArraySome~anonymous|54 $std/typedarray/testArraySome~anonymous|55 $std/typedarray/testArraySome~anonymous|56 $std/typedarray/testArrayFindIndex~anonymous|57 $std/typedarray/testArrayFindIndex~anonymous|58 $std/typedarray/testArrayFindIndex~anonymous|59 $std/typedarray/testArrayFindIndex~anonymous|60 $std/typedarray/testArrayFindIndex~anonymous|61 $std/typedarray/testArrayFindIndex~anonymous|62 $std/typedarray/testArrayFindIndex~anonymous|63 $std/typedarray/testArrayFindIndex~anonymous|64 $std/typedarray/testArrayFindIndex~anonymous|65 $std/typedarray/testArrayFindIndex~anonymous|66 $std/typedarray/testArrayFindIndex~anonymous|67 $std/typedarray/testArrayFindIndex~anonymous|68 $std/typedarray/testArrayFindIndex~anonymous|69 $std/typedarray/testArrayFindIndex~anonymous|70 $std/typedarray/testArrayFindIndex~anonymous|71 $std/typedarray/testArrayFindIndex~anonymous|72 $std/typedarray/testArrayFindIndex~anonymous|73 $std/typedarray/testArrayFindIndex~anonymous|74 $std/typedarray/testArrayFindIndex~anonymous|75 $std/typedarray/testArrayFindIndex~anonymous|76 $std/typedarray/testArrayFindIndex~anonymous|77 $std/typedarray/testArrayFindIndex~anonymous|78 $std/typedarray/testArrayEvery~anonymous|79 $std/typedarray/testArrayEvery~anonymous|80 $std/typedarray/testArrayEvery~anonymous|81 $std/typedarray/testArrayEvery~anonymous|82 $std/typedarray/testArrayEvery~anonymous|83 $std/typedarray/testArrayEvery~anonymous|84 $std/typedarray/testArrayEvery~anonymous|85 $std/typedarray/testArrayEvery~anonymous|86 $std/typedarray/testArrayEvery~anonymous|87 $std/typedarray/testArrayEvery~anonymous|88 $std/typedarray/testArrayEvery~anonymous|89 $std/typedarray/testArrayEvery~anonymous|90 $std/typedarray/testArrayEvery~anonymous|91 $std/typedarray/testArrayEvery~anonymous|92 $std/typedarray/testArrayEvery~anonymous|93 $std/typedarray/testArrayEvery~anonymous|94 $std/typedarray/testArrayEvery~anonymous|95 $std/typedarray/testArrayEvery~anonymous|96 $std/typedarray/testArrayEvery~anonymous|97 $std/typedarray/testArrayEvery~anonymous|98 $std/typedarray/testArrayEvery~anonymous|99 $std/typedarray/testArrayEvery~anonymous|100) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -98,8 +99,9 @@ (global $std/typedarray/multisubarr1 (mut i32) (i32.const 0)) (global $std/typedarray/multisubarr2 (mut i32) (i32.const 0)) (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) + (global $std/typedarray/arrayLikeValue (mut i32) (i32.const 0)) (global $std/typedarray/setSource (mut i32) (i32.const 656)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 1004)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1056)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -14328,25 +14330,18 @@ unreachable end ) - (func $~lib/array/Array#__unchecked_get (; 299 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $std/typedarray/ArrayLike#constructor (; 299 ;) (type $ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 4 + call $~lib/memory/memory.allocate + local.set $0 + end + local.get $0 + i32.const 3 + i32.store local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - i32.const 0 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - i32.load offset=8 ) (func $~lib/typedarray/Int8Array#set,i32> (; 300 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -14361,6 +14356,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -14375,7 +14373,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -14386,87 +14384,88 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.2 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) local.get $3 + i32.load offset=4 local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + local.get $4 + i32.load + local.set $8 i32.const 0 + local.set $9 + local.get $5 local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 + block $~lib/array/Array#get:length|inlined.2 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store8 offset=8 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 + i32.shl + i32.add + local.get $16 + i32.add + local.get $17 + i32.store8 offset=8 + end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 unreachable end - unreachable end ) (func $~lib/internal/memory/memcpy (; 301 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) @@ -15907,9 +15906,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $3 local.get $1 @@ -15924,7 +15920,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -15935,189 +15931,180 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $4 local.set $7 - local.get $6 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.0 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 0 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end + local.set $8 + block $~lib/memory/memory.copy|inlined.0 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) + local.get $6 + i32.load + local.set $9 local.get $9 - i32.load offset=4 + i32.const 8 i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) - local.get $3 - local.set $6 local.get $6 - i32.load offset=8 + i32.load offset=4 + i32.add + local.get $8 i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end + end + ) + (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $10 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 0 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store8 offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -16125,7 +16112,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16141,10 +16128,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -16159,7 +16142,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -16170,228 +16153,98 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + loop $repeat|0 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $13 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_s - local.set $21 local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 0 + local.get $16 + i32.const 3 i32.shl i32.add - local.get $20 + local.get $17 i32.add - local.get $21 - i32.store8 offset=8 + i64.load offset=8 end - local.get $16 - i32.const 1 - i32.add + i32.wrap_i64 + local.set $17 + local.get $7 local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.trunc_f32_s - local.set $10 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 0 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store8 offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/ArrayLike#__get (; 306 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + ) + (func $~lib/typedarray/Int8Array#set (; 307 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16404,13 +16257,6 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -16425,7 +16271,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -16436,229 +16282,89 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 + i32.shr_u end - i32.const 0 - i32.ne + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 0 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store8 offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store8 offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end - unreachable - end + unreachable end ) - (func $std/typedarray/testArraySet (; 306 ;) (type $_) + (func $std/typedarray/testArraySet (; 308 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16682,9 +16388,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -16700,9 +16406,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -16718,9 +16424,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -16736,9 +16442,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -16754,9 +16460,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -16772,9 +16478,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -16790,9 +16496,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -16808,9 +16514,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -16826,9 +16532,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -16844,9 +16550,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -16882,9 +16588,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -16900,9 +16606,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -16918,9 +16624,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -16936,9 +16642,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -16954,9 +16660,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -16972,9 +16678,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -16990,9 +16696,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -17008,9 +16714,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -17026,9 +16732,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -17044,9 +16750,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -17082,9 +16788,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -17100,9 +16806,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -17118,9 +16824,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -17136,9 +16842,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -17154,9 +16860,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -17172,9 +16878,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -17190,9 +16896,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -17208,9 +16914,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -17226,9 +16932,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -17244,9 +16950,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -17282,9 +16988,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -17300,9 +17006,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -17318,9 +17024,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -17336,9 +17042,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -17354,9 +17060,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -17372,9 +17078,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -17390,9 +17096,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -17408,9 +17114,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -17426,9 +17132,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -17444,136 +17150,199 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Uint8Array#set,i32> (; 307 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Int8Array#set + local.get $0 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 0 - i32.ne + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 + i32.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.3 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq i32.eqz if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 call $~lib/env/abort unreachable end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - i32.const 0 - local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store8 offset=8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 - unreachable - end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 12 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 8 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 9 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#set (; 308 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set,i32> (; 309 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17586,6 +17355,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -17600,7 +17372,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -17611,189 +17383,83 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.1 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 0 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end - local.get $9 - i32.load offset=4 - i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + i32.const 0 local.set $9 + local.get $5 + local.set $10 + block $~lib/array/Array#get:length|inlined.3 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $10 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 0 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store8 offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -17801,7 +17467,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 309 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17811,16 +17477,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -17835,7 +17491,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -17846,228 +17502,188 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - local.get $6 - i32.const 0 - i32.eq - if + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.1 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end - i32.const 0 end + ) + (func $~lib/typedarray/Uint8Array#set (; 311 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 i32.const 0 i32.ne + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_u - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 0 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store8 offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $4 - local.set $7 - local.get $7 + local.get $11 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $17 + local.get $7 + local.set $16 local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.trunc_f32_u - local.set $10 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 0 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store8 offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Uint8Array#set (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18083,10 +17699,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -18101,7 +17713,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -18112,229 +17724,215 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.3 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $11 + local.get $11 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + loop $repeat|0 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 0 + local.get $16 + i32.const 3 i32.shl i32.add - local.get $20 + local.get $17 i32.add - local.get $21 - i32.store8 offset=8 + i64.load offset=8 end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 + i32.shl + i32.add local.get $16 - i32.const 1 i32.add - local.set $16 - br $repeat|0 - unreachable + local.get $17 + i32.store8 offset=8 end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 unreachable end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort unreachable end + end + ) + (func $~lib/typedarray/Uint8Array#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.store8 offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store8 offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 311 ;) (type $_) + (func $std/typedarray/testArraySet (; 314 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18356,9 +17954,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -18372,9 +17970,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -18388,9 +17986,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -18404,9 +18002,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -18420,9 +18018,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -18436,9 +18034,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -18452,9 +18050,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -18468,9 +18066,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -18484,9 +18082,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -18500,9 +18098,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -18536,9 +18134,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -18552,9 +18150,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -18568,9 +18166,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -18584,9 +18182,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -18600,9 +18198,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -18616,9 +18214,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -18632,9 +18230,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -18648,9 +18246,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -18664,9 +18262,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -18680,9 +18278,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -18716,9 +18314,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -18732,9 +18330,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -18748,9 +18346,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -18764,9 +18362,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -18780,9 +18378,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -18796,9 +18394,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -18812,9 +18410,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -18828,9 +18426,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -18844,9 +18442,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -18860,9 +18458,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -18896,9 +18494,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -18912,9 +18510,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -18928,9 +18526,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -18944,9 +18542,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -18960,9 +18558,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -18976,9 +18574,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -18992,9 +18590,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -19008,9 +18606,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -19024,9 +18622,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -19040,136 +18638,179 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Uint8ClampedArray#set,i32> (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Uint8Array#set + local.get $0 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and i32.const 0 - i32.ne + i32.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.4 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.eq i32.eqz if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 call $~lib/env/abort unreachable end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - i32.const 0 - local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store8 offset=8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 - unreachable - end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set,i32> (; 315 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19182,6 +18823,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -19196,7 +18840,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -19207,189 +18851,83 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.2 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 0 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end - local.get $9 - i32.load offset=4 - i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end + block $~lib/internal/typedarray/SET_COPY|inlined.1 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + i32.const 0 local.set $9 + local.get $5 + local.set $10 + block $~lib/array/Array#get:length|inlined.4 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.7 - local.get $10 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 0 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store8 offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -19397,7 +18935,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 314 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 316 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19407,16 +18945,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -19431,7 +18959,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -19442,228 +18970,188 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_SAME|inlined.1 + local.get $3 local.set $6 - local.get $6 - i32.const 0 - i32.eq - if + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.2 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end - i32.const 0 end + ) + (func $~lib/typedarray/Uint8ClampedArray#set (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 i32.const 0 i32.ne + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.1 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.28 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.8 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_u - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 0 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store8 offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $4 - local.set $7 - local.get $7 + local.get $11 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.9 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end i32.trunc_f32_u - local.set $10 + local.set $17 + local.get $7 + local.set $16 + local.get $13 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 0 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store8 offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 315 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19679,10 +19167,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -19697,7 +19181,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -19708,229 +19192,215 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.1 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.5 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $11 + local.get $11 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + loop $repeat|0 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $6 + local.set $13 + local.get $12 local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.10 - local.get $13 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 0 + local.get $16 + i32.const 3 i32.shl i32.add - local.get $20 + local.get $17 i32.add - local.get $21 - i32.store8 offset=8 + i64.load offset=8 end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 + i32.shl + i32.add local.get $16 - i32.const 1 i32.add - local.set $16 - br $repeat|0 - unreachable + local.get $17 + i32.store8 offset=8 end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 unreachable end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.31 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort unreachable end + end + ) + (func $~lib/typedarray/Uint8ClampedArray#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.store8 offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.11 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store8 offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 316 ;) (type $_) + (func $std/typedarray/testArraySet (; 320 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -19952,9 +19422,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -19968,9 +19438,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -19984,9 +19454,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -20000,9 +19470,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -20016,9 +19486,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -20032,9 +19502,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -20048,9 +19518,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -20064,9 +19534,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -20080,9 +19550,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -20096,9 +19566,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -20132,9 +19602,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -20148,9 +19618,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -20164,9 +19634,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -20180,9 +19650,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -20196,9 +19666,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -20212,9 +19682,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -20228,9 +19698,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -20244,9 +19714,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -20260,9 +19730,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -20276,9 +19746,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -20312,9 +19782,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -20328,9 +19798,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -20344,9 +19814,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -20360,9 +19830,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -20376,9 +19846,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -20392,9 +19862,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -20408,9 +19878,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -20424,9 +19894,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -20440,9 +19910,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -20456,9 +19926,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -20492,9 +19962,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -20508,9 +19978,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -20524,9 +19994,173 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 + i32.const 8 + i32.const 487 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 10 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 11 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 12 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 7 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 1008 i32.const 8 - i32.const 485 + i32.const 500 i32.const 2 call $~lib/env/abort unreachable @@ -20536,13 +20170,13 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 10 + i32.const 1 i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 486 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -20552,13 +20186,13 @@ call $~lib/internal/typedarray/TypedArray#__get i32.const 255 i32.and - i32.const 11 + i32.const 2 i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -20572,9 +20206,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -20588,9 +20222,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -20604,9 +20238,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -20620,9 +20254,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -20636,15 +20270,15 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int16Array#set,i32> (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set,i32> (; 321 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20657,6 +20291,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -20671,7 +20308,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -20682,90 +20319,91 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.5 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) local.get $3 + i32.load offset=4 local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + local.get $4 + i32.load + local.set $8 i32.const 0 + local.set $9 + local.get $5 local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 + block $~lib/array/Array#get:length|inlined.5 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 + local.get $12 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 1 + i32.shl + i32.add + local.get $16 + i32.add + local.get $17 + i32.store16 offset=8 + end local.get $12 i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store16 offset=8 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 unreachable end - unreachable end ) - (func $~lib/typedarray/Int16Array#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20775,9 +20413,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $3 local.get $1 @@ -20792,7 +20427,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -20803,189 +20438,180 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $4 local.set $7 - local.get $6 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.3 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 1 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end + local.set $8 + block $~lib/memory/memory.copy|inlined.3 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) + local.get $6 + i32.load + local.set $9 local.get $9 - i32.load offset=4 + i32.const 8 i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $3 - local.set $6 local.get $6 - i32.load offset=8 + i32.load offset=4 + i32.add + local.get $8 i32.const 1 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end + end + ) + (func $~lib/typedarray/Int16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $10 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 1 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store16 offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -20993,7 +20619,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21009,10 +20635,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -21027,7 +20649,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -21038,228 +20660,95 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 - end - i32.const 0 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_s - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 1 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store16 offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $6 - local.get $6 + local.get $11 i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + i32.const 3 + i32.shr_u end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.trunc_f32_s - local.set $10 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 1 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store16 offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Int16Array#set (; 320 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21272,13 +20761,6 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -21293,7 +20775,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -21304,229 +20786,89 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 - end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.7 + i32.shr_u end - i32.const 0 - i32.ne + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 1 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store16 offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store16 offset=8 - end - local.get $13 - i32.const 1 - i32.sub + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get local.set $13 - br $repeat|1 - unreachable + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store16 offset=8 end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 321 ;) (type $_) + (func $std/typedarray/testArraySet (; 326 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -21550,9 +20892,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -21568,9 +20910,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -21586,9 +20928,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -21604,9 +20946,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -21622,9 +20964,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -21640,9 +20982,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -21658,9 +21000,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -21676,9 +21018,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -21694,9 +21036,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -21712,9 +21054,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -21750,9 +21092,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -21768,9 +21110,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -21786,9 +21128,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -21804,9 +21146,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -21822,9 +21164,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -21840,9 +21182,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -21858,9 +21200,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -21876,9 +21218,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -21894,9 +21236,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -21912,9 +21254,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -21950,9 +21292,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -21968,9 +21310,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -21986,9 +21328,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -22004,9 +21346,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -22022,9 +21364,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -22040,9 +21382,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -22058,9 +21400,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -22076,9 +21418,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -22094,9 +21436,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -22112,9 +21454,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -22150,9 +21492,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -22168,9 +21510,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -22186,9 +21528,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -22204,9 +21546,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -22222,9 +21564,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -22240,9 +21582,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -22258,9 +21600,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -22276,9 +21618,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -22294,9 +21636,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -22312,136 +21654,199 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Uint16Array#set,i32> (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Int16Array#set + local.get $0 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 5 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 12 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 7 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 0 - i32.ne + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 8 + i32.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.6 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 9 + i32.eq i32.eqz if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 call $~lib/env/abort unreachable end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - i32.const 0 - local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store16 offset=8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 - unreachable - end - unreachable - end ) - (func $~lib/typedarray/Uint16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set,i32> (; 327 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22454,6 +21859,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -22468,7 +21876,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -22479,189 +21887,83 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.4 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 1 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end - local.get $9 - i32.load offset=4 - i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + i32.const 0 local.set $9 + local.get $5 + local.set $10 + block $~lib/array/Array#get:length|inlined.6 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $10 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 1 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store16 offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -22669,7 +21971,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22679,16 +21981,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -22703,7 +21995,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -22714,228 +22006,188 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.4 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 1 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end - i32.const 0 end + ) + (func $~lib/typedarray/Uint16Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 i32.const 0 i32.ne + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_u - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 1 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store16 offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) - local.get $4 - local.set $7 - local.get $7 + local.get $11 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end i32.trunc_f32_u - local.set $10 + local.set $17 + local.get $7 + local.set $16 + local.get $13 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 1 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store16 offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Uint16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22951,10 +22203,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -22969,7 +22217,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -22980,229 +22228,215 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.9 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $11 + local.get $11 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 + local.set $11 + block $break|0 + local.get $11 i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load + i32.sub local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + loop $repeat|0 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 1 + local.get $16 + i32.const 3 i32.shl i32.add - local.get $20 + local.get $17 i32.add - local.get $21 - i32.store16 offset=8 + i64.load offset=8 end - local.get $16 + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 i32.const 1 + i32.shl i32.add - local.set $16 - br $repeat|0 - unreachable + local.get $16 + i32.add + local.get $17 + i32.store16 offset=8 end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 unreachable end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort unreachable end + end + ) + (func $~lib/typedarray/Uint16Array#set (; 331 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.store16 offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store16 offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 326 ;) (type $_) + (func $std/typedarray/testArraySet (; 332 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -23224,9 +22458,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -23240,9 +22474,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -23256,9 +22490,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -23272,9 +22506,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -23288,9 +22522,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -23304,9 +22538,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -23320,9 +22554,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -23336,9 +22570,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -23352,9 +22586,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -23368,9 +22602,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -23404,9 +22638,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -23420,9 +22654,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -23436,9 +22670,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -23452,9 +22686,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -23468,9 +22702,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -23484,9 +22718,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -23500,9 +22734,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -23516,9 +22750,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -23532,9 +22766,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -23548,9 +22782,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -23584,9 +22818,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -23600,9 +22834,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -23616,9 +22850,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -23632,9 +22866,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -23648,9 +22882,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -23664,9 +22898,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -23680,9 +22914,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -23696,9 +22930,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -23712,9 +22946,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -23728,9 +22962,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -23764,9 +22998,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -23780,9 +23014,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -23796,9 +23030,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -23812,9 +23046,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -23828,9 +23062,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -23844,9 +23078,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -23860,9 +23094,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -23876,9 +23110,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -23892,9 +23126,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -23908,136 +23142,179 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Int32Array#set,i32> (; 327 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Uint16Array#set + local.get $0 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 4 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 5 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 2 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 12 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 3 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 7 + i32.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 0 - i32.ne + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 8 + i32.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.7 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 65535 + i32.and + i32.const 9 + i32.eq i32.eqz if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 call $~lib/env/abort unreachable end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - i32.const 0 - local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store offset=8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 - unreachable - end - unreachable - end ) - (func $~lib/typedarray/Int32Array#set (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set,i32> (; 333 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24050,6 +23327,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -24064,7 +23344,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -24075,189 +23355,83 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.5 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 2 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end - local.get $9 - i32.load offset=4 - i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + i32.const 0 local.set $9 + local.get $5 + local.set $10 + block $~lib/array/Array#get:length|inlined.7 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $10 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 2 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -24265,7 +23439,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24275,16 +23449,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -24299,7 +23463,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -24310,228 +23474,188 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.5 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 2 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end - i32.const 0 end + ) + (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 i32.const 0 i32.ne + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_s - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 2 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) - local.get $3 - local.set $6 - local.get $6 + local.get $11 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end i32.trunc_f32_s - local.set $10 + local.set $17 + local.get $7 + local.set $16 + local.get $13 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 2 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Int32Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24547,10 +23671,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -24565,7 +23685,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -24576,229 +23696,215 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.11 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.22 (result i32) + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $11 + local.get $11 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + loop $repeat|0 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $13 + local.get $12 local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.7 - local.get $13 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 2 + local.get $16 + i32.const 3 i32.shl i32.add - local.get $20 + local.get $17 i32.add - local.get $21 - i32.store offset=8 + i64.load offset=8 end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 2 + i32.shl + i32.add local.get $16 - i32.const 1 i32.add - local.set $16 - br $repeat|0 - unreachable + local.get $17 + i32.store offset=8 end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 unreachable end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort unreachable end + end + ) + (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.store offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.8 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 331 ;) (type $_) + (func $std/typedarray/testArraySet (; 338 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -24818,9 +23924,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -24832,9 +23938,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -24846,9 +23952,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -24860,9 +23966,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -24874,9 +23980,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -24888,9 +23994,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -24902,9 +24008,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -24916,9 +24022,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -24930,9 +24036,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -24944,9 +24050,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -24978,9 +24084,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -24992,9 +24098,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -25006,9 +24112,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -25020,9 +24126,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -25034,9 +24140,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -25048,9 +24154,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -25062,9 +24168,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -25076,9 +24182,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -25090,9 +24196,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -25104,9 +24210,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -25138,9 +24244,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -25152,9 +24258,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -25166,9 +24272,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -25180,9 +24286,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -25194,9 +24300,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -25208,9 +24314,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -25222,9 +24328,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -25236,9 +24342,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -25250,9 +24356,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -25264,9 +24370,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -25298,9 +24404,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -25312,9 +24418,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -25326,9 +24432,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -25340,9 +24446,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -25354,9 +24460,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -25368,9 +24474,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -25382,9 +24488,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -25396,9 +24502,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -25410,9 +24516,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -25424,15 +24530,159 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Int32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint32Array#set,i32> (; 332 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set,i32> (; 339 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25445,6 +24695,9 @@ (local $12 i32) (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) local.get $0 local.set $3 local.get $1 @@ -25459,7 +24712,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -25470,90 +24723,91 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.8 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) local.get $3 + i32.load offset=4 local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + local.get $4 + i32.load + local.set $8 i32.const 0 + local.set $9 + local.get $5 local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - local.set $13 - local.get $9 - local.set $14 - local.get $11 + block $~lib/array/Array#get:length|inlined.8 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store offset=8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $16 + i32.add + local.get $17 + i32.store offset=8 + end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 unreachable end - unreachable end ) - (func $~lib/typedarray/Uint32Array#set (; 333 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 340 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25563,9 +24817,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $3 local.get $1 @@ -25580,7 +24831,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -25591,189 +24842,180 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $4 local.set $7 - local.get $6 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.6 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 2 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end + local.set $8 + block $~lib/memory/memory.copy|inlined.6 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) + local.get $6 + i32.load + local.set $9 local.get $9 - i32.load offset=4 + i32.const 8 i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $3 - local.set $6 local.get $6 - i32.load offset=8 + i32.load offset=4 + i32.add + local.get $8 i32.const 2 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end + end + ) + (func $~lib/typedarray/Uint32Array#set (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $10 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $11 - local.get $9 local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $17 + local.get $7 + local.set $16 local.get $13 - local.get $12 + local.get $14 i32.const 2 i32.shl i32.add - local.get $14 + local.get $16 i32.add - local.get $11 + local.get $17 i32.store offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -25781,7 +25023,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25797,10 +25039,6 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -25815,7 +25053,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -25826,228 +25064,95 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 - end - i32.const 0 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i32.trunc_f32_u - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 2 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $6 - local.get $6 + local.get $11 i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.trunc_f32_u - local.set $10 local.get $14 - local.set $9 - local.get $12 - local.get $11 i32.const 2 i32.shl i32.add - local.get $9 + local.get $16 i32.add - local.get $10 + local.get $17 i32.store offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Uint32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26060,13 +25165,6 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) local.get $0 local.set $3 local.get $1 @@ -26081,7 +25179,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -26092,229 +25190,89 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.13 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.25 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $21 - local.get $15 - local.set $20 - local.get $17 - local.get $18 - i32.const 2 - i32.shl - i32.add - local.get $20 - i32.add - local.get $21 - i32.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - i32.const 1 - i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.7 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i32.wrap_i64 - local.set $10 - local.get $14 - local.set $9 - local.get $12 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - i32.store offset=8 - end - local.get $13 - i32.const 1 - i32.sub + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get local.set $13 - br $repeat|1 - unreachable + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store offset=8 end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 336 ;) (type $_) + (func $std/typedarray/testArraySet (; 344 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -26334,9 +25292,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -26348,9 +25306,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -26362,9 +25320,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -26376,9 +25334,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -26390,9 +25348,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -26404,9 +25362,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -26418,9 +25376,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -26432,9 +25390,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -26446,9 +25404,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -26460,9 +25418,9 @@ i32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -26494,9 +25452,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -26508,9 +25466,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -26522,9 +25480,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -26536,9 +25494,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -26550,9 +25508,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -26564,9 +25522,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -26578,9 +25536,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -26592,9 +25550,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -26606,9 +25564,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -26620,9 +25578,9 @@ i32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -26654,9 +25612,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -26668,9 +25626,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -26682,9 +25640,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -26696,9 +25654,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -26710,9 +25668,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -26724,9 +25682,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -26738,9 +25696,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -26752,9 +25710,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -26766,9 +25724,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -26780,9 +25738,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -26814,9 +25772,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -26828,9 +25786,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -26842,9 +25800,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -26856,9 +25814,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -26870,9 +25828,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -26884,9 +25842,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -26898,9 +25856,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -26912,9 +25870,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -26926,9 +25884,9 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -26940,15 +25898,159 @@ i32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Uint32Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 0 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 12 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int64Array#set,i32> (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set,i32> (; 345 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26959,8 +26061,12 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) local.get $0 local.set $3 local.get $1 @@ -26972,105 +26078,106 @@ i32.ne i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/array/Array#get:length|inlined.9 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.28 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $4 + i32.const 0 + i32.ne i32.eqz if - i32.const 776 + i32.const 720 i32.const 48 - i32.const 257 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 i32.const 0 + local.set $9 + local.get $5 local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - i64.extend_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 + block $~lib/array/Array#get:length|inlined.9 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i64.store offset=8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $18 + local.get $7 + local.set $17 + local.get $13 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + local.get $18 + i64.store offset=8 + end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 unreachable end - unreachable end ) - (func $~lib/typedarray/Int64Array#set (; 338 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27080,9 +26187,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i64) local.get $0 local.set $3 local.get $1 @@ -27097,7 +26201,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -27108,189 +26212,181 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $4 local.set $7 - local.get $6 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.7 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 3 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end + local.set $8 + block $~lib/memory/memory.copy|inlined.7 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) + local.get $6 + i32.load + local.set $9 local.get $9 - i32.load offset=4 + i32.const 8 i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.31 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.32 (result i32) - local.get $3 - local.set $6 local.get $6 - i32.load offset=8 + i32.load offset=4 + i32.add + local.get $8 i32.const 3 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end + end + ) + (func $~lib/typedarray/Int64Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.33 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $10 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get local.set $14 - local.get $9 - local.set $11 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i64.trunc_f32_s + local.set $18 + local.get $7 + local.set $17 local.get $13 - local.get $12 + local.get $14 i32.const 3 i32.shl i32.add - local.get $11 + local.get $17 i32.add - local.get $14 + local.get $18 i64.store offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -27298,7 +26394,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 339 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27309,16 +26405,8 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) + (local $13 i64) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i64) local.get $0 local.set $3 local.get $1 @@ -27333,7 +26421,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -27344,228 +26432,90 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.15 - end - i32.const 0 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.28 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.34 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i64.trunc_f32_s - local.set $22 - local.get $15 - local.set $21 - local.get $17 - local.get $18 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i64.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.35 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + i64.extend_i32_s local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u + i64.store offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - i64.trunc_f32_s - local.set $22 - local.get $14 - local.set $10 - local.get $12 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - local.get $22 - i64.store offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 340 ;) (type $_) + (func $std/typedarray/testArraySet (; 349 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -27585,9 +26535,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -27599,9 +26549,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -27613,9 +26563,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -27627,9 +26577,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -27641,9 +26591,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -27655,9 +26605,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -27669,9 +26619,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -27683,9 +26633,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -27697,9 +26647,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -27711,9 +26661,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -27745,9 +26695,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -27759,9 +26709,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -27773,9 +26723,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -27787,9 +26737,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -27801,9 +26751,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -27815,9 +26765,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -27829,9 +26779,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -27843,9 +26793,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -27857,9 +26807,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -27871,9 +26821,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -27905,9 +26855,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -27919,9 +26869,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -27933,9 +26883,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -27947,9 +26897,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -27961,9 +26911,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -27975,9 +26925,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -27989,9 +26939,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -28003,9 +26953,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -28017,9 +26967,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -28031,9 +26981,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -28065,9 +27015,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -28079,9 +27029,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -28093,9 +27043,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -28107,9 +27057,153 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 + i32.const 8 + i32.const 488 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 11 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 489 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 490 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 491 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Int64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 1008 i32.const 8 - i32.const 486 + i32.const 501 i32.const 2 call $~lib/env/abort unreachable @@ -28117,13 +27211,13 @@ local.get $0 i32.const 4 call $~lib/internal/typedarray/TypedArray#__get - i64.const 11 + i64.const 2 i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 487 + i32.const 502 i32.const 2 call $~lib/env/abort unreachable @@ -28135,9 +27229,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 488 + i32.const 503 i32.const 2 call $~lib/env/abort unreachable @@ -28149,9 +27243,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 489 + i32.const 504 i32.const 2 call $~lib/env/abort unreachable @@ -28163,9 +27257,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 490 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -28177,9 +27271,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -28191,15 +27285,15 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint64Array#set,i32> (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set,i32> (; 350 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28210,8 +27304,12 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) local.get $0 local.set $3 local.get $1 @@ -28226,7 +27324,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -28237,311 +27335,84 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.10 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) local.get $3 + i32.load offset=4 local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - i32.const 0 - local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - i64.extend_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i64.store offset=8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 - unreachable - end - unreachable - end - ) - (func $~lib/typedarray/Uint64Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) local.get $4 - local.set $6 - local.get $6 + i32.load + local.set $8 i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.8 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 3 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end - local.get $9 - i32.load offset=4 - i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + local.set $10 + block $~lib/array/Array#get:length|inlined.10 (result i32) local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + local.set $11 + local.get $11 + i32.load offset=4 end - local.get $3 - i32.load - local.set $10 - local.get $3 - i32.load offset=4 - local.set $9 + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $10 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get local.set $14 - local.get $9 - local.set $11 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $18 + local.get $7 + local.set $17 local.get $13 - local.get $12 + local.get $14 i32.const 3 i32.shl i32.add - local.get $11 + local.get $17 i32.add - local.get $14 + local.get $18 i64.store offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -28549,7 +27420,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28559,17 +27430,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i64) local.get $0 local.set $3 local.get $1 @@ -28584,7 +27444,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -28595,228 +27455,189 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end - i32.const 0 end + ) + (func $~lib/typedarray/Uint64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 i32.const 0 i32.ne + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.31 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - i64.trunc_f32_u - local.set $22 - local.get $15 - local.set $21 - local.get $17 - local.get $18 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i64.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.32 (result i32) - local.get $4 - local.set $7 - local.get $7 + local.get $11 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.33 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end i64.trunc_f32_u - local.set $22 + local.set $18 + local.get $7 + local.set $17 + local.get $13 local.get $14 - local.set $10 - local.get $12 - local.get $11 i32.const 3 i32.shl i32.add - local.get $10 + local.get $17 i32.add - local.get $22 + local.get $18 i64.store offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Uint64Array#set (; 344 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28826,9 +27647,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i64) local.get $0 local.set $3 local.get $1 @@ -28843,7 +27661,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -28854,197 +27672,180 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.17 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.36 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + block $~lib/internal/typedarray/SET_SAME|inlined.1 + local.get $3 local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $4 local.set $7 - local.get $6 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.1 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 3 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end + local.set $8 + block $~lib/memory/memory.copy|inlined.9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) + local.get $6 + i32.load + local.set $9 local.get $9 - i32.load offset=4 + i32.const 8 i32.add - local.set $12 - local.get $9 - i32.load + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) + local.get $7 i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove + local.set $10 + local.get $10 + i32.const 8 + i32.add end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.37 (result i32) - local.get $4 - local.set $7 local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end + end + ) + (func $~lib/typedarray/Uint64Array#set (; 354 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i64) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + local.get $3 local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load + i32.const 1 + i32.sub local.set $10 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.38 (result i32) - local.get $4 - local.set $8 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 local.get $8 - i32.load offset=8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + i64.extend_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 i32.const 3 - i32.shr_u + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i64.store offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $8 - loop $repeat|0 - local.get $8 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $10 - local.set $13 - local.get $8 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get - local.set $14 - local.get $9 - local.set $11 - local.get $13 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $14 - i64.store offset=8 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $repeat|0 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 345 ;) (type $_) + (func $std/typedarray/testArraySet (; 355 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -29064,9 +27865,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -29078,9 +27879,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -29092,9 +27893,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -29106,9 +27907,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -29120,9 +27921,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -29134,9 +27935,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -29148,9 +27949,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -29162,9 +27963,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -29176,9 +27977,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -29190,9 +27991,9 @@ i64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -29224,9 +28025,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -29238,9 +28039,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -29252,9 +28053,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -29266,9 +28067,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -29280,9 +28081,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -29294,9 +28095,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -29308,9 +28109,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -29322,9 +28123,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -29336,9 +28137,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -29350,9 +28151,9 @@ i64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -29384,9 +28185,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -29398,9 +28199,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -29412,9 +28213,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -29426,9 +28227,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -29440,9 +28241,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -29454,9 +28255,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -29468,9 +28269,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -29482,9 +28283,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -29496,9 +28297,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -29510,9 +28311,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -29544,9 +28345,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -29558,9 +28359,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -29572,9 +28373,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -29586,9 +28387,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -29600,9 +28401,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -29614,9 +28415,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -29628,9 +28429,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -29642,9 +28443,153 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 493 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 880 + i32.const 8 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Uint64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 2 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 12 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 i32.const 2 call $~lib/env/abort unreachable @@ -29656,9 +28601,9 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 491 + i32.const 506 i32.const 2 call $~lib/env/abort unreachable @@ -29670,15 +28615,15 @@ i64.eq i32.eqz if - i32.const 952 + i32.const 1008 i32.const 8 - i32.const 492 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float32Array#set,i32> (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set,i32> (; 356 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29689,8 +28634,12 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 f32) + (local $13 i32) (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 f32) local.get $0 local.set $3 local.get $1 @@ -29705,7 +28654,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -29716,91 +28665,92 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.11 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.34 (result i32) local.get $3 + i32.load offset=4 local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + local.get $4 + i32.load + local.set $8 i32.const 0 + local.set $9 + local.get $5 local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - f32.convert_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 + block $~lib/array/Array#get:length|inlined.11 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - f32.store offset=8 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + f32.convert_i32_s + local.set $18 + local.get $7 + local.set $17 + local.get $13 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + local.get $18 + f32.store offset=8 + end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 unreachable end - unreachable end ) - (func $~lib/typedarray/Float32Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 357 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29810,9 +28760,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 f32) local.get $0 local.set $3 local.get $1 @@ -29827,7 +28774,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -29838,188 +28785,181 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 - end - i32.const 0 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.35 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.36 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $4 local.set $7 - local.get $6 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.10 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 2 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end + local.set $8 + block $~lib/memory/memory.copy|inlined.10 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) + local.get $6 + i32.load + local.set $9 local.get $9 - i32.load offset=4 + i32.const 8 i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.37 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.38 (result i32) - local.get $3 - local.set $6 local.get $6 - i32.load offset=8 + i32.load offset=4 + i32.add + local.get $8 i32.const 2 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end + end + ) + (func $~lib/typedarray/Float32Array#set (; 358 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 f32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.39 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $10 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get local.set $14 - local.get $9 - local.set $11 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + f32.convert_i64_s + local.set $18 + local.get $7 + local.set $17 local.get $13 - local.get $12 + local.get $14 i32.const 2 i32.shl i32.add - local.get $11 + local.get $17 i32.add - local.get $14 + local.get $18 f32.store offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -30027,7 +28967,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 359 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30038,16 +28978,8 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) + (local $13 f32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 f32) local.get $0 local.set $3 local.get $1 @@ -30062,7 +28994,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -30073,229 +29005,90 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.19 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.39 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.40 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - f32.convert_i64_s - local.set $22 - local.get $15 - local.set $21 - local.get $17 - local.get $18 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - f32.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.40 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $3 local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.41 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.41 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + f32.convert_i32_s local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add local.get $13 - i32.load offset=8 - i32.const 3 - i32.shr_u + f32.store offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - f32.convert_i64_s - local.set $22 - local.get $14 - local.set $10 - local.get $12 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.add - local.get $22 - f32.store offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 349 ;) (type $_) + (func $std/typedarray/testArraySet (; 360 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -30315,9 +29108,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -30329,9 +29122,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -30343,9 +29136,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -30357,9 +29150,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -30371,9 +29164,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -30385,9 +29178,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -30399,9 +29192,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -30413,9 +29206,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -30427,9 +29220,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -30441,9 +29234,9 @@ f32.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -30475,9 +29268,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -30489,9 +29282,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -30503,9 +29296,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -30517,9 +29310,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -30531,9 +29324,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -30545,9 +29338,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -30559,9 +29352,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -30573,9 +29366,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -30587,9 +29380,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -30601,9 +29394,9 @@ f32.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -30635,9 +29428,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -30649,9 +29442,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -30663,9 +29456,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -30677,9 +29470,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -30691,9 +29484,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -30705,9 +29498,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -30719,9 +29512,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -30733,9 +29526,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -30747,9 +29540,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -30761,9 +29554,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -30795,9 +29588,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -30809,9 +29602,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -30823,9 +29616,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -30837,9 +29630,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -30851,9 +29644,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -30865,9 +29658,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -30879,9 +29672,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -30893,9 +29686,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -30907,9 +29700,9 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -30921,137 +29714,159 @@ f32.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 i32.const 2 call $~lib/env/abort unreachable end - ) - (func $~lib/typedarray/Float64Array#set,i32> (; 350 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 f64) - (local $14 i32) local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Float32Array#set + local.get $0 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + f32.const 4 + f32.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 0 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 1 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 2 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 12 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 0 - i32.ne + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 7 + f32.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 248 - i32.const 4 + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 call $~lib/env/abort unreachable end - block $~lib/array/Array#get:length|inlined.12 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 8 + f32.eq i32.eqz if - i32.const 776 - i32.const 48 - i32.const 257 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 call $~lib/env/abort unreachable end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - i32.const 0 - local.set $10 - loop $repeat|0 - local.get $10 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.14 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $~lib/array/Array#__unchecked_get - f64.convert_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - f64.store offset=8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $repeat|0 - unreachable - end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f32.const 9 + f32.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float64Array#set (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set,i32> (; 361 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -31063,7 +29878,11 @@ (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 f64) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 f64) local.get $0 local.set $3 local.get $1 @@ -31078,7 +29897,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -31089,188 +29908,84 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.1 - end - i32.const 0 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/memory/memory.copy|inlined.11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) - local.get $8 - i32.load - local.set $11 - local.get $11 - i32.const 8 - i32.add - end - local.get $8 - i32.load offset=4 - i32.add - local.get $10 - i32.const 3 - i32.shl - i32.add - local.set $11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) - local.get $9 - i32.load - local.set $12 - local.get $12 - i32.const 8 - i32.add - end - local.get $9 - i32.load offset=4 - i32.add - local.set $12 - local.get $9 - i32.load - i32.load - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end + block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $3 i32.load - local.set $10 + local.set $6 local.get $3 i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + i32.const 0 local.set $9 + local.get $5 + local.set $10 + block $~lib/array/Array#get:length|inlined.12 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=4 + end + local.set $11 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $4 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $11 i32.const 1 i32.sub - local.set $8 + local.set $12 loop $repeat|0 - local.get $8 + local.get $12 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.15 - local.get $10 + block $~lib/internal/arraybuffer/STORE|inlined.14 + local.get $6 local.set $13 - local.get $8 - local.get $5 + local.get $12 + local.get $10 i32.add - local.set $12 - local.get $4 - local.get $8 - call $~lib/internal/typedarray/TypedArray#__get local.set $14 - local.get $9 - local.set $11 + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + i32.load offset=8 + end + f64.convert_i32_s + local.set $18 + local.get $7 + local.set $17 local.get $13 - local.get $12 + local.get $14 i32.const 3 i32.shl i32.add - local.get $11 + local.get $17 i32.add - local.get $14 + local.get $18 f64.store offset=8 end - local.get $8 + local.get $12 i32.const 1 i32.sub - local.set $8 + local.set $12 br $repeat|0 unreachable end @@ -31278,7 +29993,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -31288,17 +30003,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 f64) local.get $0 local.set $3 local.get $1 @@ -31313,7 +30017,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -31324,228 +30028,189 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove end - i32.const 0 end + ) + (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 f64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 i32.const 0 i32.ne + i32.eqz if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.42 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + i32.load offset=4 local.set $7 - local.get $6 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 local.set $11 - local.get $9 - i32.load - local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 - i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.16 - local.get $13 - local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - f32.load offset=8 - end - f64.promote_f32 - local.set $22 - local.get $15 - local.set $21 - local.get $17 - local.get $18 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - f64.store offset=8 - end - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $repeat|0 - unreachable - end - unreachable - end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.43 (result i32) - local.get $4 - local.set $7 - local.get $7 + local.get $11 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.44 (result i32) - local.get $4 - local.set $13 - local.get $13 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 + local.set $12 + loop $repeat|0 + local.get $12 i32.const 0 i32.ge_s i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.17 - local.get $15 - local.set $12 - local.get $13 - local.get $5 + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.15 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end f64.promote_f32 - local.set $22 + local.set $18 + local.get $7 + local.set $17 + local.get $13 local.get $14 - local.set $10 - local.get $12 - local.get $11 i32.const 3 i32.shl i32.add - local.get $10 + local.get $17 i32.add - local.get $22 + local.get $18 f64.store offset=8 end - local.get $13 + local.get $12 i32.const 1 i32.sub - local.set $13 - br $repeat|1 + local.set $12 + br $repeat|0 unreachable end unreachable end end ) - (func $~lib/typedarray/Float64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -31561,11 +30226,7 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 f64) + (local $18 f64) local.get $0 local.set $3 local.get $1 @@ -31580,7 +30241,7 @@ i32.const 664 i32.const 48 i32.const 242 - i32.const 4 + i32.const 6 call $~lib/env/abort unreachable end @@ -31591,229 +30252,216 @@ if i32.const 720 i32.const 48 - i32.const 248 - i32.const 4 + i32.const 243 + i32.const 6 call $~lib/env/abort unreachable end - block $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load local.set $6 - local.get $6 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 - end - i32.const 1 - br $~lib/arraybuffer/ArrayBuffer.isView|inlined.21 - end - i32.const 0 - i32.ne - if - block $~lib/internal/typedarray/TypedArray#get:length|inlined.42 (result i32) + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) local.get $4 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $3 - local.set $7 - local.get $7 + local.set $11 + local.get $11 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_DIFFERENT|inlined.0 - local.get $3 - local.set $8 - local.get $4 - local.set $9 - local.get $6 - local.set $10 - local.get $5 - local.set $11 - local.get $9 - i32.load + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub local.set $12 - local.get $8 - i32.load - local.set $13 - local.get $9 - i32.load offset=4 - local.set $14 - local.get $8 - i32.load offset=4 - local.set $15 - block $break|0 + loop $repeat|0 + local.get $12 i32.const 0 - local.set $16 - loop $repeat|0 - local.get $16 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.16 + local.get $6 + local.set $13 + local.get $12 local.get $10 - i32.lt_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.18 - local.get $13 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 local.set $17 - local.get $16 - local.get $11 - i32.add - local.set $18 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) - local.get $12 - local.set $19 - local.get $16 - local.set $20 - local.get $14 - local.set $21 - local.get $19 - local.get $20 - i32.const 3 - i32.shl - i32.add - local.get $21 - i32.add - i64.load offset=8 - end - f64.convert_i64_s - local.set $22 local.get $15 - local.set $21 - local.get $17 - local.get $18 + local.get $16 i32.const 3 i32.shl i32.add - local.get $21 + local.get $17 i32.add - local.get $22 - f64.store offset=8 + i64.load offset=8 end - local.get $16 - i32.const 1 + f64.convert_i64_s + local.set $18 + local.get $7 + local.set $17 + local.get $13 + local.get $14 + i32.const 3 + i32.shl i32.add - local.set $16 - br $repeat|0 - unreachable + local.get $17 + i32.add + local.get $18 + f64.store offset=8 end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 unreachable end - end - else - block $~lib/internal/typedarray/TypedArray#get:length|inlined.43 (result i32) - local.get $4 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $7 - local.get $5 - i32.add - local.get $6 - i32.le_s - i32.eqz - if - i32.const 776 - i32.const 48 - i32.const 306 - i32.const 4 - call $~lib/env/abort unreachable end + end + ) + (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 f64) + (local $14 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 429 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 i32.load - local.set $15 - local.get $3 - i32.load offset=4 - local.set $14 - block $break|1 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.44 (result i32) + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.17 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + f64.convert_i32_s local.set $13 - local.get $13 - i32.load offset=8 + local.get $9 + local.set $14 + local.get $11 + local.get $12 i32.const 3 - i32.shr_u + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + f64.store offset=8 end + local.get $10 i32.const 1 i32.sub - local.set $13 - loop $repeat|1 - local.get $13 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|1 - block $~lib/internal/arraybuffer/STORE|inlined.19 - local.get $15 - local.set $12 - local.get $13 - local.get $5 - i32.add - local.set $11 - local.get $4 - local.get $13 - call $~lib/internal/typedarray/TypedArray#__get - f64.convert_i64_s - local.set $22 - local.get $14 - local.set $10 - local.get $12 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - local.get $22 - f64.store offset=8 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - br $repeat|1 - unreachable - end + local.set $10 + br $repeat|0 unreachable end + unreachable end ) - (func $std/typedarray/testArraySet (; 354 ;) (type $_) + (func $std/typedarray/testArraySet (; 366 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -31833,9 +30481,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 429 + i32.const 431 i32.const 2 call $~lib/env/abort unreachable @@ -31847,9 +30495,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 430 + i32.const 432 i32.const 2 call $~lib/env/abort unreachable @@ -31861,9 +30509,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 431 + i32.const 433 i32.const 2 call $~lib/env/abort unreachable @@ -31875,9 +30523,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 432 + i32.const 434 i32.const 2 call $~lib/env/abort unreachable @@ -31889,9 +30537,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 433 + i32.const 435 i32.const 2 call $~lib/env/abort unreachable @@ -31903,9 +30551,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 434 + i32.const 436 i32.const 2 call $~lib/env/abort unreachable @@ -31917,9 +30565,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 435 + i32.const 437 i32.const 2 call $~lib/env/abort unreachable @@ -31931,9 +30579,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 436 + i32.const 438 i32.const 2 call $~lib/env/abort unreachable @@ -31945,9 +30593,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 437 + i32.const 439 i32.const 2 call $~lib/env/abort unreachable @@ -31959,9 +30607,9 @@ f64.eq i32.eqz if - i32.const 848 + i32.const 776 i32.const 8 - i32.const 438 + i32.const 440 i32.const 2 call $~lib/env/abort unreachable @@ -31993,9 +30641,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 447 + i32.const 449 i32.const 2 call $~lib/env/abort unreachable @@ -32007,9 +30655,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 448 + i32.const 450 i32.const 2 call $~lib/env/abort unreachable @@ -32021,9 +30669,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 449 + i32.const 451 i32.const 2 call $~lib/env/abort unreachable @@ -32035,9 +30683,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 450 + i32.const 452 i32.const 2 call $~lib/env/abort unreachable @@ -32049,9 +30697,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 451 + i32.const 453 i32.const 2 call $~lib/env/abort unreachable @@ -32063,9 +30711,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 452 + i32.const 454 i32.const 2 call $~lib/env/abort unreachable @@ -32077,9 +30725,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 453 + i32.const 455 i32.const 2 call $~lib/env/abort unreachable @@ -32091,9 +30739,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 454 + i32.const 456 i32.const 2 call $~lib/env/abort unreachable @@ -32105,9 +30753,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 455 + i32.const 457 i32.const 2 call $~lib/env/abort unreachable @@ -32119,9 +30767,9 @@ f64.eq i32.eqz if - i32.const 888 + i32.const 816 i32.const 8 - i32.const 456 + i32.const 458 i32.const 2 call $~lib/env/abort unreachable @@ -32153,9 +30801,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 465 + i32.const 467 i32.const 2 call $~lib/env/abort unreachable @@ -32167,9 +30815,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 466 + i32.const 468 i32.const 2 call $~lib/env/abort unreachable @@ -32181,9 +30829,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 467 + i32.const 469 i32.const 2 call $~lib/env/abort unreachable @@ -32195,9 +30843,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 468 + i32.const 470 i32.const 2 call $~lib/env/abort unreachable @@ -32209,9 +30857,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 469 + i32.const 471 i32.const 2 call $~lib/env/abort unreachable @@ -32223,9 +30871,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 470 + i32.const 472 i32.const 2 call $~lib/env/abort unreachable @@ -32237,9 +30885,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 471 + i32.const 473 i32.const 2 call $~lib/env/abort unreachable @@ -32251,9 +30899,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 472 + i32.const 474 i32.const 2 call $~lib/env/abort unreachable @@ -32265,9 +30913,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 473 + i32.const 475 i32.const 2 call $~lib/env/abort unreachable @@ -32279,9 +30927,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 474 + i32.const 476 i32.const 2 call $~lib/env/abort unreachable @@ -32313,9 +30961,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 483 + i32.const 485 i32.const 2 call $~lib/env/abort unreachable @@ -32327,9 +30975,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 484 + i32.const 486 i32.const 2 call $~lib/env/abort unreachable @@ -32341,9 +30989,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 485 + i32.const 487 i32.const 2 call $~lib/env/abort unreachable @@ -32355,9 +31003,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 486 + i32.const 488 i32.const 2 call $~lib/env/abort unreachable @@ -32369,9 +31017,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 487 + i32.const 489 i32.const 2 call $~lib/env/abort unreachable @@ -32383,9 +31031,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 488 + i32.const 490 i32.const 2 call $~lib/env/abort unreachable @@ -32397,9 +31045,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 489 + i32.const 491 i32.const 2 call $~lib/env/abort unreachable @@ -32411,9 +31059,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 490 + i32.const 492 i32.const 2 call $~lib/env/abort unreachable @@ -32425,9 +31073,9 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 491 + i32.const 493 i32.const 2 call $~lib/env/abort unreachable @@ -32439,15 +31087,159 @@ f64.eq i32.eqz if - i32.const 952 + i32.const 880 i32.const 8 - i32.const 492 + i32.const 494 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $std/typedarray/arrayLikeValue + i32.const 2 + call $~lib/typedarray/Float64Array#set + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 4 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 498 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 5 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 499 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 0 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 500 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 501 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 2 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 502 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 5 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 12 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 503 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 6 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 3 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 7 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 8 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + f64.const 9 + f64.eq + i32.eqz + if + i32.const 1008 + i32.const 8 + i32.const 507 i32.const 2 call $~lib/env/abort unreachable end ) - (func $start:std/typedarray (; 355 ;) (type $_) + (func $start:std/typedarray (; 367 ;) (type $_) (local $0 i32) global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 @@ -33683,6 +32475,9 @@ call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery call $std/typedarray/testArrayEvery + i32.const 0 + call $std/typedarray/ArrayLike#constructor + global.set $std/typedarray/arrayLikeValue call $std/typedarray/testArraySet call $std/typedarray/testArraySet call $std/typedarray/testArraySet @@ -33695,9 +32490,9 @@ call $std/typedarray/testArraySet call $std/typedarray/testArraySet ) - (func $start (; 356 ;) (type $_) + (func $start (; 368 ;) (type $_) call $start:std/typedarray ) - (func $null (; 357 ;) (type $_) + (func $null (; 369 ;) (type $_) ) ) From 26f4f84e543d0faf369ce6fb5af9974f864a0b9b Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 17:19:49 -0500 Subject: [PATCH 08/11] use stub to determine underlying number type --- std/assembly/index.d.ts | 2 +- std/assembly/internal/typedarray.ts | 69 +- std/assembly/typedarray.ts | 44 +- tests/compiler/std/typedarray.optimized.wat | 336 +++-- tests/compiler/std/typedarray.ts | 10 +- tests/compiler/std/typedarray.untouched.wat | 1407 +++++++++++-------- 6 files changed, 1095 insertions(+), 773 deletions(-) diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 2b2d1dc938..2a342c6bd4 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -610,7 +610,7 @@ declare abstract class TypedArray implements ArrayBufferView { /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ every(callbackfn: (value: T, index: i32, self: this) => bool): i32; /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ - set(value: SourceT, offset?: i32): void; + set(value: SourceT, offset?: i32): void; } /** An array of twos-complement 8-bit signed integers. */ diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 2436d035d4..66a7256678 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -233,7 +233,7 @@ export function EVERY, T>( } @inline -export function SET, U extends number, SourceT, SourceU extends number>( +export function SET, U extends number, SourceT>( target: T, source: SourceT, offset: i32): void { @@ -241,6 +241,8 @@ export function SET, U extends number, SourceT, SourceU if (isReference()) { assert(target != null, "TypeError: target is null."); assert(source != null, "TypeError: source is null."); + // @ts-ignore it must have a length property + if (source.length == 0) return; if (source instanceof Int8Array) { if (target instanceof Int8Array) { SET_SAME(target, source, offset); @@ -298,7 +300,7 @@ export function SET, U extends number, SourceT, SourceU } else if (target instanceof Uint16Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -313,7 +315,7 @@ export function SET, U extends number, SourceT, SourceU } else if (target instanceof Uint16Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -328,7 +330,7 @@ export function SET, U extends number, SourceT, SourceU } else if (target instanceof Uint32Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -343,7 +345,7 @@ export function SET, U extends number, SourceT, SourceU } else if (target instanceof Uint32Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -354,11 +356,11 @@ export function SET, U extends number, SourceT, SourceU } } else if (source instanceof Int64Array) { if (target instanceof Int64Array) { - SET_SAME(target, source, offset); + SET_SAME(target, source, offset); } else if (target instanceof Uint64Array) { - SET_SAME(target, source, offset); + SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -373,7 +375,7 @@ export function SET, U extends number, SourceT, SourceU } else if (target instanceof Uint64Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -386,7 +388,7 @@ export function SET, U extends number, SourceT, SourceU if (target instanceof Float32Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -399,7 +401,7 @@ export function SET, U extends number, SourceT, SourceU if (target instanceof Float64Array) { SET_SAME(target, source, offset); } else { - SET_COPY( + SET_COPY( target.buffer, target.byteOffset, source.buffer, @@ -409,16 +411,41 @@ export function SET, U extends number, SourceT, SourceU ); } } else if (isArray()) { - SET_COPY( - target.buffer, - target.byteOffset, - load(changetype(source), offsetof("buffer_")), - 0, - offset, - // @ts-ignore: this is an array, and has a length property, this is not unsafe - // tslint:disable-next-line - source.length, - ); + let targetBuffer = target.buffer; + let targetByteOffset = target.byteOffset; + let sourceBuffer = load(changetype(source), offsetof("buffer_")); + // @ts-ignore: this is an array, and has a length property, this is not unsafe + // tslint:disable-next-line + let length = source.length; + // @ts-ignore: this is an array, and has an indexed getter + // tslint:disable-next-line + var stub = source[0]; + + /** + * We must perform a get to satisfy the compiler and enable the use of instanceof to + * determine what type the stub is without ever getting a hard reference to the source type. + */ + if (stub instanceof i8) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof u8) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof i16) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof u16) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof i32) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof u32) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof i64) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof u64) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof f32) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } else if (stub instanceof f64) { + SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); + } } else { // validate the lengths are within range // @ts-ignore: source is assumed to have a length property diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 7ac7269de8..954154a301 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -65,8 +65,8 @@ export class Int8Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -115,8 +115,8 @@ export class Uint8Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -161,8 +161,8 @@ export class Uint8ClampedArray extends Uint8Array { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -211,8 +211,8 @@ export class Int16Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -261,8 +261,8 @@ export class Uint16Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -311,8 +311,8 @@ export class Int32Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -361,8 +361,8 @@ export class Uint32Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -411,8 +411,8 @@ export class Int64Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -461,8 +461,8 @@ export class Uint64Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -511,8 +511,8 @@ export class Float32Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } @@ -561,7 +561,7 @@ export class Float64Array extends TypedArray { return EVERY(this, callbackfn); } - set(source: SourceT, offset: i32 = 0): void { - SET(this, source, offset); + set(source: SourceT, offset: i32 = 0): void { + SET(this, source, offset); } } diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 3dc65dfd5b..096d812e30 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -8132,9 +8132,10 @@ unreachable end ) - (func $~lib/typedarray/Int8Array#set,i32> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if @@ -8160,12 +8161,29 @@ local.set $2 local.get $0 i32.load offset=4 - local.set $3 + local.set $0 local.get $1 i32.load - local.set $0 + local.set $3 local.get $1 i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 i32.const 1 i32.sub local.set $1 @@ -8179,12 +8197,12 @@ i32.add local.get $2 i32.add - local.get $3 + local.get $0 i32.add local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $3 i32.add i32.load offset=8 i32.store8 offset=8 @@ -9291,7 +9309,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.eqz if @@ -9331,7 +9349,7 @@ i32.load call $~lib/internal/memory/memmove ) - (func $~lib/typedarray/Int8Array#set (; 197 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set (; 197 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9404,7 +9422,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 198 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set (; 198 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9476,7 +9494,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 199 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set (; 199 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -9509,7 +9527,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -9555,7 +9573,7 @@ call $~lib/typedarray/Int8Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int8Array#set,i32> + call $~lib/typedarray/Int8Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -9709,7 +9727,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -9868,7 +9886,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10033,7 +10051,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10186,7 +10204,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10336,7 +10354,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#set (; 201 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#set (; 201 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10417,7 +10435,7 @@ call $~lib/typedarray/Int8Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int8Array#set,i32> + call $~lib/typedarray/Int8Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10571,7 +10589,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10730,7 +10748,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -10895,7 +10913,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11048,7 +11066,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11205,7 +11223,7 @@ call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int8Array#set,i32> + call $~lib/typedarray/Int8Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11358,7 +11376,7 @@ call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11517,7 +11535,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11682,7 +11700,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11835,7 +11853,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -11985,9 +12003,10 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#set,i32> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if @@ -12013,12 +12032,29 @@ local.set $2 local.get $0 i32.load offset=4 - local.set $3 + local.set $0 local.get $1 i32.load - local.set $0 + local.set $3 local.get $1 i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 i32.const 1 i32.sub local.set $1 @@ -12034,12 +12070,12 @@ i32.shl local.get $2 i32.add - local.get $3 + local.get $0 i32.add local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $3 i32.add i32.load offset=8 i32.store16 offset=8 @@ -12051,7 +12087,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12126,7 +12162,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12200,7 +12236,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -12235,7 +12271,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -12282,7 +12318,7 @@ call $~lib/typedarray/Int16Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int16Array#set,i32> + call $~lib/typedarray/Int16Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -12435,7 +12471,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -12594,7 +12630,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -12759,7 +12795,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -12912,7 +12948,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13062,7 +13098,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#set (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#set (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13144,7 +13180,7 @@ call $~lib/typedarray/Int16Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int16Array#set,i32> + call $~lib/typedarray/Int16Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13297,7 +13333,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13456,7 +13492,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Uint16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13621,7 +13657,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13774,7 +13810,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13924,9 +13960,10 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#set,i32> (; 211 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set> (; 211 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if @@ -13952,12 +13989,29 @@ local.set $2 local.get $0 i32.load offset=4 - local.set $3 + local.set $0 local.get $1 i32.load - local.set $0 + local.set $3 local.get $1 i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 i32.const 1 i32.sub local.set $1 @@ -13973,12 +14027,12 @@ i32.shl local.get $2 i32.add - local.get $3 + local.get $0 i32.add local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $3 i32.add i32.load offset=8 i32.store offset=8 @@ -13990,7 +14044,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 212 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 212 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.eqz if @@ -14034,7 +14088,7 @@ i32.load call $~lib/internal/memory/memmove ) - (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14109,7 +14163,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14183,7 +14237,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -14218,7 +14272,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -14265,7 +14319,7 @@ call $~lib/typedarray/Int32Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int32Array#set,i32> + call $~lib/typedarray/Int32Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -14399,7 +14453,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -14538,7 +14592,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -14683,7 +14737,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -14816,7 +14870,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -14946,7 +15000,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#set (; 217 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#set (; 217 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15028,7 +15082,7 @@ call $~lib/typedarray/Int32Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int32Array#set,i32> + call $~lib/typedarray/Int32Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -15162,7 +15216,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -15301,7 +15355,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint32Array#set + call $~lib/typedarray/Uint32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -15446,7 +15500,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -15579,7 +15633,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -15709,9 +15763,10 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#set,i32> (; 219 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set> (; 219 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if @@ -15737,12 +15792,29 @@ local.set $2 local.get $0 i32.load offset=4 - local.set $3 + local.set $0 local.get $1 i32.load - local.set $0 + local.set $3 local.get $1 i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 i32.const 1 i32.sub local.set $1 @@ -15758,12 +15830,12 @@ i32.shl local.get $2 i32.add - local.get $3 + local.get $0 i32.add local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $3 i32.add i32.load offset=8 i64.extend_i32_s @@ -15776,7 +15848,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 220 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 220 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.eqz if @@ -15820,7 +15892,7 @@ i32.load call $~lib/internal/memory/memmove ) - (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15895,7 +15967,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -15930,7 +16002,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -15978,7 +16050,7 @@ call $~lib/typedarray/Int64Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int64Array#set,i32> + call $~lib/typedarray/Int64Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16126,7 +16198,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16273,7 +16345,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16421,7 +16493,7 @@ local.get $0 local.get $1 i32.const 3 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16554,7 +16626,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16686,7 +16758,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#set (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#set (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16768,7 +16840,7 @@ call $~lib/typedarray/Int64Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Int64Array#set,i32> + call $~lib/typedarray/Int64Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16916,7 +16988,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17063,7 +17135,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Uint64Array#set + call $~lib/typedarray/Uint64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17211,7 +17283,7 @@ local.get $0 local.get $1 i32.const 3 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17344,7 +17416,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17476,9 +17548,10 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#set,i32> (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set> (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if @@ -17504,12 +17577,29 @@ local.set $2 local.get $0 i32.load offset=4 - local.set $3 + local.set $0 local.get $1 i32.load - local.set $0 + local.set $3 local.get $1 i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 i32.const 1 i32.sub local.set $1 @@ -17525,12 +17615,12 @@ i32.shl local.get $2 i32.add - local.get $3 + local.get $0 i32.add local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $3 i32.add i32.load offset=8 f32.convert_i32_s @@ -17543,7 +17633,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17618,7 +17708,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 228 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set (; 228 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -17653,7 +17743,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -17701,7 +17791,7 @@ call $~lib/typedarray/Int32Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Float32Array#set,i32> + call $~lib/typedarray/Float32Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17849,7 +17939,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17997,7 +18087,7 @@ local.get $0 local.get $1 i32.const 7 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18144,7 +18234,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Float32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18277,7 +18367,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Float32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18409,9 +18499,10 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#set,i32> (; 230 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set> (; 230 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 i32.eqz if @@ -18437,12 +18528,29 @@ local.set $2 local.get $0 i32.load offset=4 - local.set $3 + local.set $0 local.get $1 i32.load - local.set $0 + local.set $3 local.get $1 i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 i32.const 1 i32.sub local.set $1 @@ -18458,12 +18566,12 @@ i32.shl local.get $2 i32.add - local.get $3 + local.get $0 i32.add local.get $1 i32.const 2 i32.shl - local.get $0 + local.get $3 i32.add i32.load offset=8 f64.convert_i32_s @@ -18476,7 +18584,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18551,7 +18659,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18626,7 +18734,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 233 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 233 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -18661,7 +18769,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -18709,7 +18817,7 @@ call $~lib/typedarray/Int64Array#constructor local.tee $0 global.get $std/typedarray/setSource - call $~lib/typedarray/Float64Array#set,i32> + call $~lib/typedarray/Float64Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18857,7 +18965,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -19004,7 +19112,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -19151,7 +19259,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -19284,7 +19392,7 @@ end local.get $0 global.get $std/typedarray/arrayLikeValue - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index aa20bac9cc..3c3b217616 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -426,7 +426,7 @@ var setSource: i32[] = [1, 2, 3]; function testArraySet, U extends number>(): void { var target: T = instantiate(10); - target.set(setSource, 4); + target.set(setSource, 4); assert(target[0] == 0, "i32[] test fails"); assert(target[1] == 0, "i32[] test fails"); @@ -444,7 +444,7 @@ function testArraySet, U extends number>(): void { similarSource[1] = 5; similarSource[2] = 6; - target.set(similarSource); + target.set(similarSource); assert(target[0] == 4, "Similar TypedArray test fails."); assert(target[1] == 5, "Similar TypedArray test fails."); @@ -462,7 +462,7 @@ function testArraySet, U extends number>(): void { floatData[1] = 8; floatData[2] = 9; - target.set(floatData, 7); + target.set(floatData, 7); assert(target[0] == 4, "Float32Array test fails."); assert(target[1] == 5, "Float32Array test fails."); @@ -480,7 +480,7 @@ function testArraySet, U extends number>(): void { integerData[1] = 11; integerData[2] = 12; - target.set(integerData, 3); + target.set(integerData, 3); assert(target[0] == 4, "Float32Array test fails."); assert(target[1] == 5, "Float32Array test fails."); @@ -493,7 +493,7 @@ function testArraySet, U extends number>(): void { assert(target[8] == 8, "Float32Array test fails."); assert(target[9] == 9, "Float32Array test fails."); - target.set(arrayLikeValue, 2); + target.set(arrayLikeValue, 2); assert(target[0] == 4, "arraylike test fails."); assert(target[1] == 5, "arraylike test fails."); diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 87c5198814..8709133a26 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -14343,7 +14343,7 @@ i32.store local.get $0 ) - (func $~lib/typedarray/Int8Array#set,i32> (; 300 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set> (; 300 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14359,6 +14359,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -14389,78 +14394,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.2 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.2 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 0 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store8 offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -15896,7 +15913,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15983,7 +16000,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16112,7 +16129,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16244,7 +16261,7 @@ (func $std/typedarray/ArrayLike#__get (; 306 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 ) - (func $~lib/typedarray/Int8Array#set (; 307 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 307 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16308,7 +16325,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -16376,7 +16393,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Int8Array#set,i32> + call $~lib/typedarray/Int8Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16576,7 +16593,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16776,7 +16793,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -16976,7 +16993,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17160,7 +17177,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -17342,7 +17359,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#set,i32> (; 309 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set> (; 309 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17358,6 +17375,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -17388,78 +17410,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.3 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.3 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 0 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store8 offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -17467,7 +17501,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17554,7 +17588,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 311 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 311 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17683,7 +17717,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17812,7 +17846,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17876,7 +17910,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -17944,7 +17978,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Uint8Array#set,i32> + call $~lib/typedarray/Uint8Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18124,7 +18158,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18304,7 +18338,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18484,7 +18518,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18648,7 +18682,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Uint8Array#set + call $~lib/typedarray/Uint8Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -18810,7 +18844,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#set,i32> (; 315 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set> (; 315 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18826,6 +18860,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -18856,78 +18895,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.1 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.4 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.4 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.1 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 0 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store8 offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -18935,7 +18986,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 316 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 316 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19022,7 +19073,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19151,7 +19202,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19280,7 +19331,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19344,7 +19395,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -19412,7 +19463,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set,i32> + call $~lib/typedarray/Uint8ClampedArray#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -19592,7 +19643,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set + call $~lib/typedarray/Uint8ClampedArray#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -19772,7 +19823,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Uint8ClampedArray#set + call $~lib/typedarray/Uint8ClampedArray#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -19952,7 +20003,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#set + call $~lib/typedarray/Uint8ClampedArray#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -20116,7 +20167,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#set + call $~lib/typedarray/Uint8ClampedArray#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -20278,7 +20329,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#set,i32> (; 321 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set> (; 321 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20294,6 +20345,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -20324,78 +20380,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.5 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.5 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 1 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store16 offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -20403,7 +20471,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20490,7 +20558,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20619,7 +20687,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20748,7 +20816,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20812,7 +20880,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -20880,7 +20948,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Int16Array#set,i32> + call $~lib/typedarray/Int16Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -21080,7 +21148,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -21280,7 +21348,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -21480,7 +21548,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -21664,7 +21732,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Int16Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -21846,7 +21914,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#set,i32> (; 327 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set> (; 327 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21862,6 +21930,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -21892,78 +21965,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.6 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.6 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 1 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store16 offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -21971,7 +22056,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22058,7 +22143,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22187,7 +22272,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22316,7 +22401,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 331 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 331 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22380,7 +22465,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -22448,7 +22533,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Uint16Array#set,i32> + call $~lib/typedarray/Uint16Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -22628,7 +22713,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Uint16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -22808,7 +22893,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Uint16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -22988,7 +23073,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Uint16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -23152,7 +23237,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Uint16Array#set + call $~lib/typedarray/Uint16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -23314,7 +23399,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#set,i32> (; 333 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set> (; 333 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23330,6 +23415,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -23360,78 +23450,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.7 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.7 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 2 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -23439,7 +23541,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23526,7 +23628,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23655,7 +23757,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23784,7 +23886,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23848,7 +23950,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -23916,7 +24018,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Int32Array#set,i32> + call $~lib/typedarray/Int32Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -24076,7 +24178,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -24236,7 +24338,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -24396,7 +24498,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -24540,7 +24642,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Int32Array#set + call $~lib/typedarray/Int32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -24682,7 +24784,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#set,i32> (; 339 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set> (; 339 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24698,6 +24800,11 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) local.get $0 local.set $3 local.get $1 @@ -24728,78 +24835,90 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.8 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.8 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 + local.get $11 + local.set $18 + local.get $17 + local.get $15 + i32.add + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 2 i32.shl i32.add - local.get $16 + local.get $21 i32.add - local.get $17 + local.get $22 i32.store offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -24807,7 +24926,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 340 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 340 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24894,7 +25013,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25023,7 +25142,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25152,7 +25271,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25216,7 +25335,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -25284,7 +25403,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Uint32Array#set,i32> + call $~lib/typedarray/Uint32Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -25444,7 +25563,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Uint32Array#set + call $~lib/typedarray/Uint32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -25604,7 +25723,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Uint32Array#set + call $~lib/typedarray/Uint32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -25764,7 +25883,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Uint32Array#set + call $~lib/typedarray/Uint32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -25908,7 +26027,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Uint32Array#set + call $~lib/typedarray/Uint32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -26050,7 +26169,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#set,i32> (; 345 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set> (; 345 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26066,7 +26185,12 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i64) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i64) local.get $0 local.set $3 local.get $1 @@ -26097,79 +26221,91 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.9 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.9 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end i64.extend_i32_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 + local.set $23 + local.get $12 + local.set $22 + local.get $18 + local.get $19 i32.const 3 i32.shl i32.add - local.get $17 + local.get $22 i32.add - local.get $18 + local.get $23 i64.store offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -26177,7 +26313,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26217,7 +26353,7 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET_SAME|inlined.0 local.get $3 local.set $6 local.get $4 @@ -26264,7 +26400,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26394,7 +26530,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26458,7 +26594,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -26527,7 +26663,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Int64Array#set,i32> + call $~lib/typedarray/Int64Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -26687,7 +26823,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -26847,7 +26983,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -27007,7 +27143,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -27151,7 +27287,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Int64Array#set + call $~lib/typedarray/Int64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -27293,7 +27429,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#set,i32> (; 350 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set> (; 350 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27309,7 +27445,12 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i64) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i64) local.get $0 local.set $3 local.get $1 @@ -27340,79 +27481,91 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.10 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.10 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end i64.extend_i32_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 + local.set $23 + local.get $12 + local.set $22 + local.get $18 + local.get $19 i32.const 3 i32.shl i32.add - local.get $17 + local.get $22 i32.add - local.get $18 + local.get $23 i64.store offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -27420,7 +27573,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27507,7 +27660,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27637,7 +27790,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27677,7 +27830,7 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_SAME|inlined.1 + block $~lib/internal/typedarray/SET_SAME|inlined.1 local.get $3 local.set $6 local.get $4 @@ -27724,7 +27877,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 354 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 354 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27788,7 +27941,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -27857,7 +28010,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Uint64Array#set,i32> + call $~lib/typedarray/Uint64Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -28017,7 +28170,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Uint64Array#set + call $~lib/typedarray/Uint64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -28177,7 +28330,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Uint64Array#set + call $~lib/typedarray/Uint64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -28337,7 +28490,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Uint64Array#set + call $~lib/typedarray/Uint64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -28481,7 +28634,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Uint64Array#set + call $~lib/typedarray/Uint64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -28623,7 +28776,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#set,i32> (; 356 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set> (; 356 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28639,7 +28792,12 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 f32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 f32) local.get $0 local.set $3 local.get $1 @@ -28670,79 +28828,91 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.11 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.11 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end f32.convert_i32_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 + local.set $23 + local.get $12 + local.set $22 + local.get $18 + local.get $19 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add - local.get $18 + local.get $23 f32.store offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -28750,7 +28920,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 357 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 357 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28837,7 +29007,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 358 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 358 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28967,7 +29137,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 359 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 359 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29031,7 +29201,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -29100,7 +29270,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Float32Array#set,i32> + call $~lib/typedarray/Float32Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -29260,7 +29430,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Float32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -29420,7 +29590,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Float32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -29580,7 +29750,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Float32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -29724,7 +29894,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Float32Array#set + call $~lib/typedarray/Float32Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -29866,7 +30036,7 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#set,i32> (; 361 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set> (; 361 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29882,7 +30052,12 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 f64) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 f64) local.get $0 local.set $3 local.get $1 @@ -29913,79 +30088,91 @@ call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.12 (result i32) local.get $4 - i32.load - local.set $8 - i32.const 0 local.set $9 - local.get $5 - local.set $10 - block $~lib/array/Array#get:length|inlined.12 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=4 - end + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 block $break|0 - local.get $11 + local.get $16 i32.const 1 i32.sub - local.set $12 + local.set $17 loop $repeat|0 - local.get $12 + local.get $17 i32.const 0 i32.ge_s i32.eqz br_if $break|0 block $~lib/internal/arraybuffer/STORE|inlined.14 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.get $11 + local.set $18 + local.get $17 + local.get $15 i32.add - local.set $14 + local.set $19 block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 i32.const 2 i32.shl i32.add - local.get $17 + local.get $22 i32.add i32.load offset=8 end f64.convert_i32_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 + local.set $23 + local.get $12 + local.set $22 + local.get $18 + local.get $19 i32.const 3 i32.shl i32.add - local.get $17 + local.get $22 i32.add - local.get $18 + local.get $23 f64.store offset=8 end - local.get $12 + local.get $17 i32.const 1 i32.sub - local.set $12 + local.set $17 br $repeat|0 unreachable end @@ -29993,7 +30180,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30080,7 +30267,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30210,7 +30397,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30340,7 +30527,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30404,7 +30591,7 @@ if i32.const 936 i32.const 48 - i32.const 429 + i32.const 450 i32.const 8 call $~lib/env/abort unreachable @@ -30473,7 +30660,7 @@ local.get $0 global.get $std/typedarray/setSource i32.const 4 - call $~lib/typedarray/Float64Array#set,i32> + call $~lib/typedarray/Float64Array#set> local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -30633,7 +30820,7 @@ local.get $0 local.get $1 i32.const 0 - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -30793,7 +30980,7 @@ local.get $0 local.get $2 i32.const 7 - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -30953,7 +31140,7 @@ local.get $0 local.get $3 i32.const 3 - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -31097,7 +31284,7 @@ local.get $0 global.get $std/typedarray/arrayLikeValue i32.const 2 - call $~lib/typedarray/Float64Array#set + call $~lib/typedarray/Float64Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get From c02f3cebc4fbb79117c6e520044b35e1d2ffad24 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 17:34:20 -0500 Subject: [PATCH 09/11] add a type to prevent compiler hang, add unchecked get stub --- std/assembly/internal/typedarray.ts | 6 +- tests/compiler/std/typedarray.optimized.wat | 4236 +++---- tests/compiler/std/typedarray.untouched.wat | 10581 ++++++++++-------- 3 files changed, 7902 insertions(+), 6921 deletions(-) diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 66a7256678..6d1ed3842c 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -414,12 +414,12 @@ export function SET, U extends number, SourceT>( let targetBuffer = target.buffer; let targetByteOffset = target.byteOffset; let sourceBuffer = load(changetype(source), offsetof("buffer_")); - // @ts-ignore: this is an array, and has a length property, this is not unsafe + // @ts-ignore: this is an array, and has a length property, this is not unsafe. // tslint:disable-next-line - let length = source.length; + let length = source.length; // adding `i32` type here supresses tslint unsafe any // @ts-ignore: this is an array, and has an indexed getter // tslint:disable-next-line - var stub = source[0]; + var stub = unchecked(source[0]); /** * We must perform a get to satisfy the compiler and enable the use of instanceof to diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 096d812e30..e835b3c973 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -8136,81 +8136,88 @@ (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + local.set $3 local.get $1 + i32.load offset=4 + local.set $4 i32.const 0 - i32.ge_s + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u if local.get $1 - i32.const 4 - i32.add - local.get $2 - i32.add - local.get $0 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add i32.load offset=8 - i32.store8 offset=8 + drop + else + unreachable + end + local.get $4 + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i32.store8 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end end end ) @@ -9310,258 +9317,288 @@ end ) (func $~lib/typedarray/Int8Array#set (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove ) (func $~lib/typedarray/Int8Array#set (; 197 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $0 - i32.add - f32.load offset=8 - i32.trunc_f32_s - i32.store8 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end - ) - (func $~lib/typedarray/Int8Array#set (; 198 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + ) + (func $~lib/typedarray/Int8Array#set (; 198 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 3 - i32.add - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - i64.load offset=8 - i64.store8 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 3 + i32.add + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + i64.load offset=8 + i64.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) (func $~lib/typedarray/Int8Array#set (; 199 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + block $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.const 0 - i32.ge_s + i32.eqz if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 2 - i32.add - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - i32.store8 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) @@ -10358,72 +10395,81 @@ (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i32.trunc_f32_u - i32.store8 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store8 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) @@ -11972,346 +12018,425 @@ call $~lib/env/abort unreachable end - local.get $0 - i32.const 8 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - i32.ne - if - i32.const 1008 + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 8 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + i32.const 9 + i32.ne + if + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int16Array#set> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + local.set $3 + local.get $1 + i32.load offset=4 + local.set $4 + i32.const 0 + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u + if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i32.store16 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load i32.const 8 - i32.const 506 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 9 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 9 - i32.ne - if - i32.const 1008 + i32.add + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load i32.const 8 - i32.const 507 - i32.const 2 - call $~lib/env/abort - unreachable + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove end ) - (func $~lib/typedarray/Int16Array#set> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 i32.load offset=8 - drop - else - unreachable - end - local.get $4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 4 - i32.add - i32.const 1 - i32.shl - local.get $2 - i32.add + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - i32.store16 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int16Array#set (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 7 - i32.add - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i32.trunc_f32_s - i32.store16 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 3 + i32.add + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + i64.load offset=8 + i64.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int16Array#set (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set (; 208 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 3 - i32.add - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $0 - i32.add - i64.load offset=8 - i64.store16 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable end - end - ) - (func $~lib/typedarray/Int16Array#set (; 207 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add local.get $0 - i32.const 0 - i32.ge_s + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 2 - i32.add - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - i32.store16 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 208 ;) (type $_) + (func $std/typedarray/testArraySet (; 209 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -12471,7 +12596,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13090,90 +13215,99 @@ i32.const 9 i32.ne if - i32.const 1008 - i32.const 8 - i32.const 507 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/typedarray/Uint16Array#set (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 507 + i32.const 2 call $~lib/env/abort unreachable end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + ) + (func $~lib/typedarray/Uint16Array#set (; 210 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - i32.const 1 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i32.trunc_f32_u - i32.store16 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store16 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 210 ;) (type $_) + (func $std/typedarray/testArraySet (; 211 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -13333,7 +13467,7 @@ call $~lib/internal/typedarray/TypedArray#__set local.get $0 local.get $1 - call $~lib/typedarray/Int8Array#set + call $~lib/typedarray/Int16Array#set local.get $0 i32.const 0 call $~lib/internal/typedarray/TypedArray#__get @@ -13960,359 +14094,398 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#set> (; 211 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set> (; 212 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + local.set $3 local.get $1 + i32.load offset=4 + local.set $4 i32.const 0 - i32.ge_s + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u if local.get $1 - i32.const 4 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $0 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add i32.load offset=8 - i32.store offset=8 + drop + else + unreachable + end + local.get $4 + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int32Array#set (; 212 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove - ) - (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 213 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove + end + ) + (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i32.trunc_f32_s - i32.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int32Array#set (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - i64.load offset=8 - i64.store32 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + i64.load offset=8 + i64.store32 offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int32Array#set (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set (; 216 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + block $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.const 0 - i32.ge_s + i32.eqz if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 2 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 216 ;) (type $_) + (func $std/typedarray/testArraySet (; 217 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -15000,82 +15173,91 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#set (; 217 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#set (; 218 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i32.trunc_f32_u - i32.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 218 ;) (type $_) + (func $std/typedarray/testArraySet (; 219 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -15763,287 +15945,317 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#set> (; 219 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set> (; 220 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + local.set $3 local.get $1 + i32.load offset=4 + local.set $4 i32.const 0 - i32.ge_s + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u if local.get $1 - i32.const 4 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $0 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add i32.load offset=8 - i64.extend_i32_s - i64.store offset=8 + drop + else + unreachable + end + local.get $4 + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i64.extend_i32_s + i64.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int64Array#set (; 220 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable + (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.const 8 + i32.add + i32.add + local.get $2 + i32.const 3 + i32.shl + i32.add + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.const 8 + i32.add + i32.add + local.get $1 + i32.load + i32.load + call $~lib/internal/memory/memmove end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.const 8 - i32.add - i32.add - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.const 8 - i32.add - i32.add - local.get $1 - i32.load - i32.load - call $~lib/internal/memory/memmove ) - (func $~lib/typedarray/Int64Array#set (; 221 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $4 i32) + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i64.trunc_f32_s - i64.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i64.trunc_f32_s + i64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Int64Array#set (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set (; 223 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + block $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.const 0 - i32.ge_s + i32.eqz if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 2 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - i64.extend_i32_s - i64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i64.extend_i32_s + i64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 223 ;) (type $_) + (func $std/typedarray/testArraySet (; 224 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -16758,82 +16970,91 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#set (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#set (; 225 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 7 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - i64.trunc_f32_u - i64.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i64.trunc_f32_u + i64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 225 ;) (type $_) + (func $std/typedarray/testArraySet (; 226 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -17500,291 +17721,313 @@ call $~lib/internal/typedarray/TypedArray#__get i64.const 3 i64.ne - if - i32.const 1008 - i32.const 8 - i32.const 504 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 7 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 7 - i64.ne - if - i32.const 1008 - i32.const 8 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 8 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 8 - i64.ne - if - i32.const 1008 - i32.const 8 - i32.const 506 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 9 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 9 - i64.ne - if - i32.const 1008 - i32.const 8 - i32.const 507 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/typedarray/Float32Array#set> (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 4 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $0 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - f32.convert_i32_s - f32.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 - end - end - ) - (func $~lib/typedarray/Float32Array#set (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $0 - i32.add - i64.load offset=8 - f32.convert_i64_s - f32.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 - end + if + i32.const 1008 + i32.const 8 + i32.const 504 + i32.const 2 + call $~lib/env/abort + unreachable end - ) - (func $~lib/typedarray/Float32Array#set (; 228 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) local.get $0 - i32.eqz + i32.const 7 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 7 + i64.ne if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 505 + i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.eqz + local.get $0 + i32.const 8 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 8 + i64.ne if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 + i32.const 1008 + i32.const 8 + i32.const 506 + i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.load - i32.const 2 - i32.add local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + i32.const 9 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 9 + i64.ne if - i32.const 936 - i32.const 48 - i32.const 450 + i32.const 1008 i32.const 8 + i32.const 507 + i32.const 2 call $~lib/env/abort unreachable end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + ) + (func $~lib/typedarray/Float32Array#set> (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + local.set $3 + local.get $1 + i32.load offset=4 + local.set $4 i32.const 0 - i32.ge_s + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u if + local.get $1 + i32.load offset=8 + drop + else + unreachable + end + local.get $4 + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + f32.convert_i32_s + f32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Float32Array#set (; 228 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 2 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - f32.convert_i32_s - f32.store offset=8 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + i64.load offset=8 + f32.convert_i64_s + f32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end + end + end + ) + (func $~lib/typedarray/Float32Array#set (; 229 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + i32.const 2 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + f32.convert_i32_s + f32.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 229 ;) (type $_) + (func $std/typedarray/testArraySet (; 230 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -18499,318 +18742,349 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#set> (; 230 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set> (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + local.set $3 local.get $1 + i32.load offset=4 + local.set $4 i32.const 0 - i32.ge_s + local.get $1 + i32.load + local.tee $1 + i32.load + i32.const 2 + i32.shr_u + i32.lt_u if local.get $1 - i32.const 4 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $0 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add i32.load offset=8 - f64.convert_i32_s - f64.store offset=8 + drop + else + unreachable + end + local.get $4 + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + f64.convert_i32_s + f64.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Float64Array#set (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 7 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - f32.load offset=8 - f64.promote_f32 - f64.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + f32.load offset=8 + f64.promote_f32 + f64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Float64Array#set (; 232 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 233 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - local.set $4 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + (local $5 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $1 - i32.const 0 - i32.ge_s + i32.eqz if - local.get $1 - i32.const 3 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $1 - i32.const 3 - i32.shl - local.get $4 - i32.add + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.add - i64.load offset=8 - f64.convert_i64_s - f64.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 3 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + local.get $5 + i32.add + i64.load offset=8 + f64.convert_i64_s + f64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $~lib/typedarray/Float64Array#set (; 233 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set (; 234 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + block $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.const 0 - i32.ge_s + i32.eqz if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 - i32.const 2 - i32.add - i32.const 3 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - f64.convert_i32_s - f64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.const 2 + i32.add + i32.const 3 + i32.shl + local.get $2 + i32.add + local.get $3 + i32.add + local.get $0 + f64.convert_i32_s + f64.store offset=8 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $repeat|0 + end end end ) - (func $std/typedarray/testArraySet (; 234 ;) (type $_) + (func $std/typedarray/testArraySet (; 235 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 10 @@ -19524,7 +19798,7 @@ unreachable end ) - (func $start:std/typedarray (; 235 ;) (type $_) + (func $start:std/typedarray (; 236 ;) (type $_) (local $0 i32) (local $1 i32) i32.const 1056 @@ -20535,10 +20809,10 @@ call $std/typedarray/testArraySet call $std/typedarray/testArraySet ) - (func $start (; 236 ;) (type $_) + (func $start (; 237 ;) (type $_) call $start:std/typedarray ) - (func $null (; 237 ;) (type $_) + (func $null (; 238 ;) (type $_) nop ) ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 8709133a26..ec6a282662 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -14364,124 +14364,137 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.2 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.3 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.4 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $12 + local.set $21 + local.get $18 + local.get $19 + i32.const 0 i32.shl i32.add - local.get $22 + local.get $21 i32.add - i32.load offset=8 + local.get $22 + i32.store8 offset=8 end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 - i32.const 0 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store8 offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -15923,80 +15936,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.0 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.0 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 0 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 0 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -16016,116 +16044,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $16 i32.add - f32.load offset=8 + local.get $17 + i32.store8 offset=8 end - i32.trunc_f32_s - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store8 offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -16145,116 +16188,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 - i32.const 3 - i32.shl - i32.add - local.get $17 - i32.add - i64.load offset=8 - end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store8 offset=8 - end - local.get $12 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 i32.const 1 i32.sub local.set $12 - br $repeat|0 + loop $repeat|0 + local.get $12 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 + i32.shl + i32.add + local.get $16 + i32.add + local.get $17 + i32.store8 offset=8 + end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable + end unreachable end - unreachable end end ) @@ -16274,111 +16332,120 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store8 offset=8 - end - local.get $10 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load i32.const 1 i32.sub local.set $10 - br $repeat|0 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 308 ;) (type $_) @@ -17380,124 +17447,137 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.3 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.6 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.7 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $12 + local.set $21 + local.get $18 + local.get $19 + i32.const 0 i32.shl i32.add - local.get $22 + local.get $21 i32.add - i32.load offset=8 + local.get $22 + i32.store8 offset=8 end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 - i32.const 0 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store8 offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -17511,80 +17591,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.1 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.1 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 0 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 0 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -17604,116 +17699,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $16 i32.add - f32.load offset=8 + local.get $17 + i32.store8 offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store8 offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -17733,116 +17843,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $16 i32.add - i64.load offset=8 + local.get $17 + i32.store8 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store8 offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -17859,111 +17984,120 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store8 offset=8 - end - local.get $10 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load i32.const 1 i32.sub local.set $10 - br $repeat|0 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 314 ;) (type $_) @@ -18865,124 +18999,137 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.4 (result i32) - local.get $4 - local.set $9 - local.get $9 - i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.1 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $11 - local.set $18 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.9 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.10 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.1 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $12 + local.set $21 + local.get $18 + local.get $19 + i32.const 0 i32.shl i32.add - local.get $22 + local.get $21 i32.add - i32.load offset=8 + local.get $22 + i32.store8 offset=8 end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 - i32.const 0 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store8 offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -18996,80 +19143,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.1 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.2 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.1 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.2 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 0 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 0 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -19089,116 +19251,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.1 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.1 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $16 i32.add - f32.load offset=8 + local.get $17 + i32.store8 offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store8 offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -19218,116 +19395,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.1 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.1 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $16 i32.add - i64.load offset=8 + local.get $17 + i32.store8 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store8 offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -19344,111 +19536,120 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 i32.const 0 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.7 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store8 offset=8 - end - local.get $10 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load i32.const 1 i32.sub local.set $10 - br $repeat|0 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store8 offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 320 ;) (type $_) @@ -20350,124 +20551,137 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.5 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 - i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.12 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.13 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $12 + local.set $21 + local.get $18 + local.get $19 + i32.const 1 i32.shl i32.add - local.get $22 + local.get $21 i32.add - i32.load offset=8 + local.get $22 + i32.store16 offset=8 end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 + local.get $17 i32.const 1 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store16 offset=8 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -20481,80 +20695,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.3 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.3 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 1 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 1 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -20574,116 +20803,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $16 i32.add - f32.load offset=8 + local.get $17 + i32.store16 offset=8 end - i32.trunc_f32_s - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.get $12 i32.const 1 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store16 offset=8 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -20703,116 +20947,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $16 i32.add - i64.load offset=8 + local.get $17 + i32.store16 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.get $12 i32.const 1 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store16 offset=8 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -20829,111 +21088,120 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end local.set $7 + local.get $6 + local.get $5 + i32.add local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $8 - local.set $11 + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store16 offset=8 + end local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store16 offset=8 + i32.sub + local.set $10 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.sub - local.set $10 - br $repeat|0 unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 326 ;) (type $_) @@ -21935,124 +22203,137 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.6 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.15 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.16 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $12 + local.set $21 + local.get $18 + local.get $19 + i32.const 1 i32.shl i32.add - local.get $22 + local.get $21 i32.add - i32.load offset=8 + local.get $22 + i32.store16 offset=8 end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 + local.get $17 i32.const 1 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store16 offset=8 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -22066,80 +22347,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.4 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 1 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.4 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 1 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 1 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -22159,116 +22455,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 - i32.const 2 - i32.shl - i32.add - local.get $17 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 + local.get $12 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $6 + local.set $13 + local.get $12 + local.get $10 i32.add - f32.load offset=8 + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 1 + i32.shl + i32.add + local.get $16 + i32.add + local.get $17 + i32.store16 offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.get $12 i32.const 1 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store16 offset=8 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -22288,116 +22599,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.20 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.21 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $16 i32.add - i64.load offset=8 + local.get $17 + i32.store16 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 + local.get $12 i32.const 1 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store16 offset=8 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -22414,111 +22740,120 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.shr_u + end local.set $7 + local.get $6 + local.get $5 + i32.add local.get $7 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $8 - local.set $11 + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store16 offset=8 + end local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store16 offset=8 + i32.sub + local.set $10 + br $repeat|0 + unreachable end - local.get $10 - i32.const 1 - i32.sub - local.set $10 - br $repeat|0 unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 332 ;) (type $_) @@ -23420,261 +23755,48 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.7 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 - i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) - local.get $13 - local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 - local.get $21 - i32.const 2 - i32.shl - i32.add - local.get $22 - i32.add - i32.load offset=8 - end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store offset=8 - end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 - unreachable - end + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort unreachable end - end - ) - (func $~lib/typedarray/Int32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $6 - local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.5 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) - local.get $6 - i32.load - local.set $9 - local.get $9 - i32.const 8 - i32.add - end + block $~lib/array/Array#get:length|inlined.18 (result i32) + local.get $4 + local.set $6 local.get $6 i32.load offset=4 - i32.add - local.get $8 - i32.const 2 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) - local.get $7 - i32.load - local.set $10 - local.get $10 - i32.const 8 - i32.add - end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end - end - ) - (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end local.get $3 i32.load local.set $6 @@ -23684,80 +23806,90 @@ local.get $4 i32.load local.set $8 - local.get $4 - i32.load offset=4 + block $~lib/array/Array#get:length|inlined.19 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end local.set $9 - local.get $5 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 local.set $11 - local.get $11 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub + local.get $7 local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 + local.get $17 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $11 + local.set $18 + local.get $17 local.get $15 - local.get $16 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end + local.set $22 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 2 i32.shl i32.add - local.get $17 + local.get $21 i32.add - f32.load offset=8 + local.get $22 + i32.store offset=8 end - i32.trunc_f32_s - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 - i32.add local.get $17 - i32.store offset=8 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) - (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23767,126 +23899,243 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $4 - local.set $11 - local.get $11 - i32.load offset=8 - i32.const 3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.5 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) local.get $6 - local.set $13 - local.get $12 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 2 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) + local.get $7 + i32.load + local.set $10 local.get $10 + i32.const 8 i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) - local.get $8 - local.set $15 + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove + end + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 + local.get $12 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 2 i32.shl i32.add - local.get $17 + local.get $16 i32.add - i64.load offset=8 + local.get $17 + i32.store offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) - (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23899,111 +24148,264 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 - i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.23 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.24 (result i32) local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 + local.set $11 local.get $11 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store offset=8 + i32.load offset=8 + i32.const 3 + i32.shr_u end - local.get $10 + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 + local.get $12 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $17 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $16 + i32.add + local.get $17 + i32.store offset=8 + end + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable + end + unreachable + end + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load i32.const 1 i32.sub local.set $10 - br $repeat|0 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 338 ;) (type $_) @@ -24805,124 +25207,137 @@ (local $20 i32) (local $21 i32) (local $22 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.8 (result i32) - local.get $4 - local.set $9 - local.get $9 - i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.21 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.22 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end local.set $22 - local.get $20 - local.get $21 + local.get $12 + local.set $21 + local.get $18 + local.get $19 i32.const 2 i32.shl i32.add - local.get $22 + local.get $21 i32.add - i32.load offset=8 + local.get $22 + i32.store offset=8 end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 - i32.const 2 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -24936,80 +25351,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.6 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.6 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 2 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 2 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -25029,116 +25459,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u local.set $17 - local.get $15 - local.get $16 + local.get $7 + local.set $16 + local.get $13 + local.get $14 i32.const 2 i32.shl i32.add - local.get $17 + local.get $16 i32.add - f32.load offset=8 + local.get $17 + i32.store offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -25158,116 +25603,131 @@ (local $15 i32) (local $16 i32) (local $17 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.26 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.27 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + i32.wrap_i64 local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $7 + local.set $16 + local.get $13 + local.get $14 + i32.const 2 i32.shl i32.add - local.get $17 + local.get $16 i32.add - i64.load offset=8 + local.get $17 + i32.store offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 - local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 - i32.add - local.get $17 - i32.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -25284,111 +25744,120 @@ (local $12 i32) (local $13 i32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end local.set $7 + local.get $6 + local.get $5 + i32.add local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store offset=8 - end - local.get $10 + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load i32.const 1 i32.sub local.set $10 - br $repeat|0 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i32.store offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 344 ;) (type $_) @@ -26191,125 +26660,138 @@ (local $21 i32) (local $22 i32) (local $23 i64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.9 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 - i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.24 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.25 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $23 + local.get $12 local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $18 + local.get $19 + i32.const 3 i32.shl i32.add local.get $22 i32.add - i32.load offset=8 + local.get $23 + i64.store offset=8 end - i64.extend_i32_s - local.set $23 - local.get $12 - local.set $22 - local.get $18 - local.get $19 - i32.const 3 - i32.shl - i32.add - local.get $22 - i32.add - local.get $23 - i64.store offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -26323,80 +26805,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.7 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.7 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 3 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -26417,116 +26914,131 @@ (local $16 i32) (local $17 i32) (local $18 i64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.29 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i64.trunc_f32_s + local.set $18 + local.get $7 local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $13 + local.get $14 + i32.const 3 i32.shl i32.add local.get $17 i32.add - f32.load offset=8 + local.get $18 + i64.store offset=8 end - i64.trunc_f32_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 - i32.add - local.get $18 - i64.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -26543,166 +27055,175 @@ (local $12 i32) (local $13 i64) (local $14 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.30 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + i64.extend_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i64.store offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 349 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Int64Array#set> local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 + i32.const 776 + i32.const 8 + i32.const 431 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 0 - i32.ne + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 + i32.const 776 + i32.const 8 + i32.const 432 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s + local.get $0 + i32.const 2 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq i32.eqz if - i32.const 936 - i32.const 48 - i32.const 450 + i32.const 776 i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 - i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - i64.extend_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i64.store offset=8 - end - local.get $10 - i32.const 1 - i32.sub - local.set $10 - br $repeat|0 - unreachable - end - unreachable - end - ) - (func $std/typedarray/testArraySet (; 349 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 0 - i32.const 10 - call $~lib/typedarray/Int64Array#constructor - local.set $0 - local.get $0 - global.get $std/typedarray/setSource - i32.const 4 - call $~lib/typedarray/Int64Array#set> - local.get $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 0 - i64.eq - i32.eqz - if - i32.const 776 - i32.const 8 - i32.const 431 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 0 - i64.eq - i32.eqz - if - i32.const 776 - i32.const 8 - i32.const 432 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 0 - i64.eq - i32.eqz - if - i32.const 776 - i32.const 8 - i32.const 433 - i32.const 2 + i32.const 433 + i32.const 2 call $~lib/env/abort unreachable end @@ -27451,125 +27972,138 @@ (local $21 i32) (local $22 i32) (local $23 i64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.10 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.27 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.28 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $23 + local.get $12 local.set $22 - local.get $20 - local.get $21 - i32.const 2 + local.get $18 + local.get $19 + i32.const 3 i32.shl i32.add local.get $22 i32.add - i32.load offset=8 + local.get $23 + i64.store offset=8 end - i64.extend_i32_s - local.set $23 - local.get $12 - local.set $22 - local.get $18 - local.get $19 - i32.const 3 - i32.shl - i32.add - local.get $22 - i32.add - local.get $23 - i64.store offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -27583,80 +28117,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.8 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 3 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -27677,116 +28226,131 @@ (local $16 i32) (local $17 i32) (local $18 i64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.32 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 2 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.33 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + i64.trunc_f32_u + local.set $18 + local.get $7 local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $13 + local.get $14 + i32.const 3 i32.shl i32.add local.get $17 i32.add - f32.load offset=8 + local.get $18 + i64.store offset=8 end - i64.trunc_f32_u - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 - i32.add - local.get $18 - i64.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -27800,80 +28364,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.1 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.32 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.1 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 3 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -27890,152 +28469,161 @@ (local $12 i32) (local $13 i64) (local $14 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load + i32.const 1 + i32.sub + local.set $10 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + i64.extend_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + i64.store offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end + unreachable + end + end + ) + (func $std/typedarray/testArraySet (; 355 ;) (type $_) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint64Array#constructor + local.set $0 + local.get $0 + global.get $std/typedarray/setSource + i32.const 4 + call $~lib/typedarray/Uint64Array#set> local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 i32.const 0 - i32.ne + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq i32.eqz if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 + i32.const 776 + i32.const 8 + i32.const 431 + i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 0 - i32.ne + local.get $0 + i32.const 1 + call $~lib/internal/typedarray/TypedArray#__get + i64.const 0 + i64.eq i32.eqz if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 - i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - i64.extend_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i64.store offset=8 - end - local.get $10 - i32.const 1 - i32.sub - local.set $10 - br $repeat|0 - unreachable - end - unreachable - end - ) - (func $std/typedarray/testArraySet (; 355 ;) (type $_) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint64Array#constructor - local.set $0 - local.get $0 - global.get $std/typedarray/setSource - i32.const 4 - call $~lib/typedarray/Uint64Array#set> - local.get $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 0 - i64.eq - i32.eqz - if - i32.const 776 - i32.const 8 - i32.const 431 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 0 - i64.eq - i32.eqz - if - i32.const 776 - i32.const 8 - i32.const 432 - i32.const 2 + i32.const 776 + i32.const 8 + i32.const 432 + i32.const 2 call $~lib/env/abort unreachable end @@ -28798,125 +29386,138 @@ (local $21 i32) (local $22 i32) (local $23 f32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.11 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.30 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.31 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) - local.get $13 - local.set $20 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $18 local.get $17 - local.set $21 - local.get $14 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end + f32.convert_i32_s + local.set $23 + local.get $12 local.set $22 - local.get $20 - local.get $21 + local.get $18 + local.get $19 i32.const 2 i32.shl i32.add local.get $22 i32.add - i32.load offset=8 + local.get $23 + f32.store offset=8 end - f32.convert_i32_s - local.set $23 - local.get $12 - local.set $22 - local.get $18 - local.get $19 - i32.const 2 - i32.shl - i32.add - local.get $22 - i32.add - local.get $23 - f32.store offset=8 + local.get $17 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end ) @@ -28930,80 +29531,95 @@ (local $9 i32) (local $10 i32) (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - local.set $6 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.10 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.35 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.10 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end local.get $6 - i32.load + i32.load offset=4 + i32.add + local.get $8 + i32.const 2 + i32.shl + i32.add local.set $9 - local.get $9 - i32.const 8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 + i32.add + end + local.get $7 + i32.load offset=4 i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 2 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) + local.set $10 local.get $7 i32.load - local.set $10 + i32.load + local.set $11 + local.get $9 local.get $10 - i32.const 8 - i32.add + local.get $11 + call $~lib/internal/memory/memmove end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) @@ -29024,116 +29640,131 @@ (local $16 i32) (local $17 i32) (local $18 f32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.34 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.35 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + f32.convert_i64_s + local.set $18 + local.get $7 local.set $17 - local.get $15 - local.get $16 - i32.const 3 + local.get $13 + local.get $14 + i32.const 2 i32.shl i32.add local.get $17 i32.add - i64.load offset=8 + local.get $18 + f32.store offset=8 end - f32.convert_i64_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $17 - i32.add - local.get $18 - f32.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) @@ -29150,112 +29781,121 @@ (local $12 i32) (local $13 f32) (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.load + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + local.get $4 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.36 (result i32) + local.get $3 + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + end local.set $7 + local.get $6 + local.get $5 + i32.add local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - f32.convert_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - f32.store offset=8 - end - local.get $10 + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + block $break|0 + local.get $4 + i32.load i32.const 1 i32.sub local.set $10 - br $repeat|0 + loop $repeat|0 + local.get $10 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $8 + local.set $11 + local.get $10 + local.get $5 + i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + f32.convert_i32_s + local.set $13 + local.get $9 + local.set $14 + local.get $11 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + local.get $13 + f32.store offset=8 + end + local.get $10 + i32.const 1 + i32.sub + local.set $10 + br $repeat|0 + unreachable + end unreachable end - unreachable end ) (func $std/typedarray/testArraySet (; 360 ;) (type $_) @@ -30058,216 +30698,389 @@ (local $21 i32) (local $22 i32) (local $23 f64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.12 (result i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - local.set $9 - local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/array/Array#get:length|inlined.33 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=4 + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET>|inlined.0 + end + local.get $3 + i32.load + local.set $6 + local.get $3 i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.34 (result i32) + local.get $4 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.14 - local.get $11 - local.set $18 + call $~lib/array/Array#__get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 + local.get $5 + local.set $15 + local.get $9 + local.set $16 + block $break|0 + local.get $16 + i32.const 1 + i32.sub + local.set $17 + loop $repeat|0 + local.get $17 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.14 + local.get $11 + local.set $18 + local.get $17 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) + local.get $13 + local.set $20 + local.get $17 + local.set $21 + local.get $14 + local.set $22 + local.get $20 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $22 + i32.add + i32.load offset=8 + end + f64.convert_i32_s + local.set $23 + local.get $12 + local.set $22 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $22 + i32.add + local.get $23 + f64.store offset=8 + end local.get $17 - local.get $15 + i32.const 1 + i32.sub + local.set $17 + br $repeat|0 + unreachable + end + unreachable + end + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 + i32.add + local.get $8 + i32.const 3 + i32.shl + i32.add + local.set $9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) + local.get $7 + i32.load + local.set $10 + local.get $10 + i32.const 8 i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) + end + local.get $7 + i32.load offset=4 + i32.add + local.set $10 + local.get $7 + i32.load + i32.load + local.set $11 + local.get $9 + local.get $10 + local.get $11 + call $~lib/internal/memory/memmove + end + end + end + ) + (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 f64) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.38 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.39 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 + local.get $12 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.15 + local.get $6 + local.set $13 + local.get $12 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $17 + i32.add + f32.load offset=8 + end + f64.promote_f32 + local.set $18 + local.get $7 + local.set $17 local.get $13 - local.set $20 - local.get $17 - local.set $21 local.get $14 - local.set $22 - local.get $20 - local.get $21 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $22 + local.get $17 i32.add - i32.load offset=8 + local.get $18 + f64.store offset=8 end - f64.convert_i32_s - local.set $23 local.get $12 - local.set $22 - local.get $18 - local.get $19 - i32.const 3 - i32.shl - i32.add - local.get $22 - i32.add - local.get $23 - f64.store offset=8 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable - end - end - ) - (func $~lib/typedarray/Float64Array#set (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $6 - local.get $4 - local.set $7 - local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) - local.get $6 - i32.load - local.set $9 - local.get $9 - i32.const 8 - i32.add - end - local.get $6 - i32.load offset=4 - i32.add - local.get $8 - i32.const 3 - i32.shl - i32.add - local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) - local.get $7 - i32.load - local.set $10 - local.get $10 - i32.const 8 - i32.add - end - local.get $7 - i32.load offset=4 - i32.add - local.set $10 - local.get $7 - i32.load - i32.load - local.set $11 - local.get $9 - local.get $10 - local.get $11 - call $~lib/internal/memory/memmove end end ) - (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30284,120 +31097,135 @@ (local $16 i32) (local $17 i32) (local $18 f64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.37 (result i32) local.get $4 - local.set $11 - local.get $11 + local.set $6 + local.get $6 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u end - local.set $11 - block $break|0 - local.get $11 - i32.const 1 - i32.sub - local.set $12 - loop $repeat|0 - local.get $12 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.15 - local.get $6 - local.set $13 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + local.get $4 + i32.load offset=4 + local.set $9 + local.get $5 + local.set $10 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.38 (result i32) + local.get $4 + local.set $11 + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + end + local.set $11 + block $break|0 + local.get $11 + i32.const 1 + i32.sub + local.set $12 + loop $repeat|0 local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) - local.get $8 - local.set $15 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.16 + local.get $6 + local.set $13 local.get $12 - local.set $16 - local.get $9 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) + local.get $8 + local.set $15 + local.get $12 + local.set $16 + local.get $9 + local.set $17 + local.get $15 + local.get $16 + i32.const 3 + i32.shl + i32.add + local.get $17 + i32.add + i64.load offset=8 + end + f64.convert_i64_s + local.set $18 + local.get $7 local.set $17 - local.get $15 - local.get $16 - i32.const 2 + local.get $13 + local.get $14 + i32.const 3 i32.shl i32.add local.get $17 i32.add - f32.load offset=8 + local.get $18 + f64.store offset=8 end - f64.promote_f32 - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 - i32.add - local.get $18 - f64.store offset=8 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $repeat|0 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end ) - (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30408,118 +31236,118 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) + (local $13 f64) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 f64) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $3 - i32.load - local.set $6 + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - i32.load offset=4 - local.set $7 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 242 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end local.get $4 i32.load - local.set $8 + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end local.get $4 - i32.load offset=4 - local.set $9 - local.get $5 - local.set $10 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $4 - local.set $11 - local.get $11 + i32.load + local.set $6 + block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) + local.get $3 + local.set $7 + local.get $7 i32.load offset=8 i32.const 3 i32.shr_u end - local.set $11 + local.set $7 + local.get $6 + local.get $5 + i32.add + local.get $7 + i32.le_s + i32.eqz + if + i32.const 936 + i32.const 48 + i32.const 456 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 block $break|0 - local.get $11 + local.get $4 + i32.load i32.const 1 i32.sub - local.set $12 + local.set $10 loop $repeat|0 - local.get $12 + local.get $10 i32.const 0 i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.16 - local.get $6 - local.set $13 - local.get $12 + block $~lib/internal/arraybuffer/STORE|inlined.17 + local.get $8 + local.set $11 local.get $10 + local.get $5 i32.add + local.set $12 + local.get $4 + local.get $10 + call $std/typedarray/ArrayLike#__get + f64.convert_i32_s + local.set $13 + local.get $9 local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) - local.get $8 - local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 - local.get $16 - i32.const 3 - i32.shl - i32.add - local.get $17 - i32.add - i64.load offset=8 - end - f64.convert_i64_s - local.set $18 - local.get $7 - local.set $17 - local.get $13 - local.get $14 + local.get $11 + local.get $12 i32.const 3 i32.shl i32.add - local.get $17 + local.get $14 i32.add - local.get $18 + local.get $13 f64.store offset=8 end - local.get $12 + local.get $10 i32.const 1 i32.sub - local.set $12 + local.set $10 br $repeat|0 unreachable end @@ -30527,127 +31355,6 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 f64) - (local $14 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.load - local.set $6 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $3 - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $7 - local.get $6 - local.get $5 - i32.add - local.get $7 - i32.le_s - i32.eqz - if - i32.const 936 - i32.const 48 - i32.const 450 - i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.load - local.set $8 - local.get $3 - i32.load offset=4 - local.set $9 - block $break|0 - local.get $4 - i32.load - i32.const 1 - i32.sub - local.set $10 - loop $repeat|0 - local.get $10 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.17 - local.get $8 - local.set $11 - local.get $10 - local.get $5 - i32.add - local.set $12 - local.get $4 - local.get $10 - call $std/typedarray/ArrayLike#__get - f64.convert_i32_s - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - f64.store offset=8 - end - local.get $10 - i32.const 1 - i32.sub - local.set $10 - br $repeat|0 - unreachable - end - unreachable - end - ) (func $std/typedarray/testArraySet (; 366 ;) (type $_) (local $0 i32) (local $1 i32) From b64352d1e566427319cd3004a48b6115d9bd8204 Mon Sep 17 00:00:00 2001 From: jtenner Date: Mon, 25 Feb 2019 17:38:25 -0500 Subject: [PATCH 10/11] update test fixtures --- tests/compiler/std/typedarray.optimized.wat | 132 +++---------- tests/compiler/std/typedarray.untouched.wat | 204 +++++++++++--------- 2 files changed, 136 insertions(+), 200 deletions(-) diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index e835b3c973..815249ea12 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -8135,7 +8135,6 @@ (func $~lib/typedarray/Int8Array#set> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -8172,24 +8171,11 @@ i32.load local.set $3 local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 + i32.load offset=8 + drop + local.get $1 + i32.load offset=4 i32.const 1 i32.sub local.set $1 @@ -12052,7 +12038,6 @@ (func $~lib/typedarray/Int16Array#set> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -12089,24 +12074,11 @@ i32.load local.set $3 local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 + i32.load offset=8 + drop + local.get $1 + i32.load offset=4 i32.const 1 i32.sub local.set $1 @@ -14097,7 +14069,6 @@ (func $~lib/typedarray/Int32Array#set> (; 212 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -14134,24 +14105,11 @@ i32.load local.set $3 local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 + i32.load offset=8 + drop + local.get $1 + i32.load offset=4 i32.const 1 i32.sub local.set $1 @@ -15948,7 +15906,6 @@ (func $~lib/typedarray/Int64Array#set> (; 220 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -15985,24 +15942,11 @@ i32.load local.set $3 local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 + i32.load offset=8 + drop + local.get $1 + i32.load offset=4 i32.const 1 i32.sub local.set $1 @@ -17772,7 +17716,6 @@ (func $~lib/typedarray/Float32Array#set> (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -17809,24 +17752,11 @@ i32.load local.set $3 local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 - i32.load - local.tee $1 i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 + i32.load offset=8 + drop + local.get $1 + i32.load offset=4 i32.const 1 i32.sub local.set $1 @@ -18745,7 +18675,6 @@ (func $~lib/typedarray/Float64Array#set> (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -18782,24 +18711,11 @@ i32.load local.set $3 local.get $1 - i32.load offset=4 - local.set $4 - i32.const 0 - local.get $1 i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if - local.get $1 - i32.load offset=8 - drop - else - unreachable - end - local.get $4 + i32.load offset=8 + drop + local.get $1 + i32.load offset=4 i32.const 1 i32.sub local.set $1 diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index ec6a282662..7f656e79a2 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -14343,7 +14343,27 @@ i32.store local.get $0 ) - (func $~lib/typedarray/Int8Array#set> (; 300 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_get (; 300 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.load + local.set $2 + local.get $1 + local.set $3 + i32.const 0 + local.set $4 + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.add + i32.load offset=8 + ) + (func $~lib/typedarray/Int8Array#set> (; 301 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14424,7 +14444,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -14457,7 +14477,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) local.get $13 local.set $20 local.get $17 @@ -14498,7 +14518,7 @@ end end ) - (func $~lib/internal/memory/memcpy (; 301 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memcpy (; 302 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15699,7 +15719,7 @@ i32.store8 end ) - (func $~lib/internal/memory/memmove (; 302 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memmove (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 local.get $1 @@ -15926,7 +15946,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16028,7 +16048,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16172,7 +16192,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 305 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 306 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16316,10 +16336,10 @@ end end ) - (func $std/typedarray/ArrayLike#__get (; 306 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/ArrayLike#__get (; 307 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 ) - (func $~lib/typedarray/Int8Array#set (; 307 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set (; 308 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16448,7 +16468,7 @@ end end ) - (func $std/typedarray/testArraySet (; 308 ;) (type $_) + (func $std/typedarray/testArraySet (; 309 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17426,7 +17446,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#set> (; 309 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set> (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17507,7 +17527,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -17540,7 +17560,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) local.get $13 local.set $20 local.get $17 @@ -17581,7 +17601,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 310 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 311 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17683,7 +17703,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 311 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17827,7 +17847,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 312 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17971,7 +17991,7 @@ end end ) - (func $~lib/typedarray/Uint8Array#set (; 313 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set (; 314 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18100,7 +18120,7 @@ end end ) - (func $std/typedarray/testArraySet (; 314 ;) (type $_) + (func $std/typedarray/testArraySet (; 315 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18978,7 +18998,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#set> (; 315 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set> (; 316 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19059,7 +19079,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.1 local.get $6 @@ -19092,7 +19112,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) local.get $13 local.set $20 local.get $17 @@ -19133,7 +19153,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 316 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19235,7 +19255,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 317 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19379,7 +19399,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 318 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19523,7 +19543,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set (; 319 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set (; 320 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19652,7 +19672,7 @@ end end ) - (func $std/typedarray/testArraySet (; 320 ;) (type $_) + (func $std/typedarray/testArraySet (; 321 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20530,7 +20550,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#set> (; 321 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set> (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20611,7 +20631,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -20644,7 +20664,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) local.get $13 local.set $20 local.get $17 @@ -20685,7 +20705,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 322 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20787,7 +20807,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 323 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20931,7 +20951,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 324 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21075,7 +21095,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set (; 325 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set (; 326 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21204,7 +21224,7 @@ end end ) - (func $std/typedarray/testArraySet (; 326 ;) (type $_) + (func $std/typedarray/testArraySet (; 327 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -22182,7 +22202,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#set> (; 327 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set> (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22263,7 +22283,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -22296,7 +22316,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) local.get $13 local.set $20 local.get $17 @@ -22337,7 +22357,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 328 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22439,7 +22459,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 329 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22583,7 +22603,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 330 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 331 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22727,7 +22747,7 @@ end end ) - (func $~lib/typedarray/Uint16Array#set (; 331 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#set (; 332 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22856,7 +22876,7 @@ end end ) - (func $std/typedarray/testArraySet (; 332 ;) (type $_) + (func $std/typedarray/testArraySet (; 333 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -23734,7 +23754,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#set> (; 333 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set> (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23815,7 +23835,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -23848,7 +23868,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) local.get $13 local.set $20 local.get $17 @@ -23889,7 +23909,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 334 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23991,7 +24011,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 335 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24135,7 +24155,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 336 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24279,7 +24299,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set (; 337 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set (; 338 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24408,7 +24428,7 @@ end end ) - (func $std/typedarray/testArraySet (; 338 ;) (type $_) + (func $std/typedarray/testArraySet (; 339 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -25186,7 +25206,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#set> (; 339 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set> (; 340 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25267,7 +25287,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -25300,7 +25320,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) local.get $13 local.set $20 local.get $17 @@ -25341,7 +25361,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 340 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25443,7 +25463,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 341 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25587,7 +25607,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 342 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25731,7 +25751,7 @@ end end ) - (func $~lib/typedarray/Uint32Array#set (; 343 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#set (; 344 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25860,7 +25880,7 @@ end end ) - (func $std/typedarray/testArraySet (; 344 ;) (type $_) + (func $std/typedarray/testArraySet (; 345 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -26638,7 +26658,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#set> (; 345 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set> (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26720,7 +26740,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -26753,7 +26773,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) local.get $13 local.set $20 local.get $17 @@ -26795,7 +26815,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 346 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26897,7 +26917,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 347 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27042,7 +27062,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set (; 348 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#set (; 349 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27172,7 +27192,7 @@ end end ) - (func $std/typedarray/testArraySet (; 349 ;) (type $_) + (func $std/typedarray/testArraySet (; 350 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -27950,7 +27970,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#set> (; 350 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set> (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28032,7 +28052,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -28065,7 +28085,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) local.get $13 local.set $20 local.get $17 @@ -28107,7 +28127,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 351 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28209,7 +28229,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 352 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28354,7 +28374,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 353 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 354 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28456,7 +28476,7 @@ end end ) - (func $~lib/typedarray/Uint64Array#set (; 354 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set (; 355 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28586,7 +28606,7 @@ end end ) - (func $std/typedarray/testArraySet (; 355 ;) (type $_) + (func $std/typedarray/testArraySet (; 356 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -29364,7 +29384,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#set> (; 356 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set> (; 357 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29446,7 +29466,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -29479,7 +29499,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) local.get $13 local.set $20 local.get $17 @@ -29521,7 +29541,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 357 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 358 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29623,7 +29643,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 358 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 359 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29768,7 +29788,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set (; 359 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set (; 360 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -29898,7 +29918,7 @@ end end ) - (func $std/typedarray/testArraySet (; 360 ;) (type $_) + (func $std/typedarray/testArraySet (; 361 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -30676,7 +30696,7 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#set> (; 361 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set> (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30758,7 +30778,7 @@ local.set $9 local.get $4 i32.const 0 - call $~lib/array/Array#__get + call $~lib/array/Array#__unchecked_get local.set $10 block $~lib/internal/typedarray/SET_COPY|inlined.0 local.get $6 @@ -30791,7 +30811,7 @@ local.get $15 i32.add local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) + block $~lib/internal/arraybuffer/LOAD|inlined.22 (result i32) local.get $13 local.set $20 local.get $17 @@ -30833,7 +30853,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 362 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -30935,7 +30955,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 363 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -31080,7 +31100,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 364 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -31225,7 +31245,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set (; 365 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set (; 366 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -31355,7 +31375,7 @@ end end ) - (func $std/typedarray/testArraySet (; 366 ;) (type $_) + (func $std/typedarray/testArraySet (; 367 ;) (type $_) (local $0 i32) (local $1 i32) (local $2 i32) @@ -32133,7 +32153,7 @@ unreachable end ) - (func $start:std/typedarray (; 367 ;) (type $_) + (func $start:std/typedarray (; 368 ;) (type $_) (local $0 i32) global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 @@ -33384,9 +33404,9 @@ call $std/typedarray/testArraySet call $std/typedarray/testArraySet ) - (func $start (; 368 ;) (type $_) + (func $start (; 369 ;) (type $_) call $start:std/typedarray ) - (func $null (; 369 ;) (type $_) + (func $null (; 370 ;) (type $_) ) ) From e29c2e89103d5a2b63c706aed58a98928c298149 Mon Sep 17 00:00:00 2001 From: jtenner Date: Tue, 26 Feb 2019 09:48:25 -0500 Subject: [PATCH 11/11] update SET_COPY to account for same buffer writing --- std/assembly/internal/typedarray.ts | 53 +- tests/compiler/std/array.optimized.wat | 2 +- tests/compiler/std/array.untouched.wat | 2 +- tests/compiler/std/arraybuffer.optimized.wat | 4 +- tests/compiler/std/arraybuffer.untouched.wat | 4 +- tests/compiler/std/dataview.optimized.wat | 4 +- tests/compiler/std/dataview.untouched.wat | 4 +- tests/compiler/std/typedarray.optimized.wat | 2708 +++++--- tests/compiler/std/typedarray.untouched.wat | 5837 +++++++++++++----- 9 files changed, 6220 insertions(+), 2398 deletions(-) diff --git a/std/assembly/internal/typedarray.ts b/std/assembly/internal/typedarray.ts index 6d1ed3842c..154e9b2066 100644 --- a/std/assembly/internal/typedarray.ts +++ b/std/assembly/internal/typedarray.ts @@ -3,7 +3,8 @@ import { MAX_BLENGTH as AB_MAX_BLENGTH, allocateUnsafe, LOAD, - STORE + STORE, + HEADER_SIZE } from "./arraybuffer"; import { @@ -417,14 +418,12 @@ export function SET, U extends number, SourceT>( // @ts-ignore: this is an array, and has a length property, this is not unsafe. // tslint:disable-next-line let length = source.length; // adding `i32` type here supresses tslint unsafe any + // @ts-ignore: this is an array, and has an indexed getter // tslint:disable-next-line var stub = unchecked(source[0]); - /** - * We must perform a get to satisfy the compiler and enable the use of instanceof to - * determine what type the stub is without ever getting a hard reference to the source type. - */ + // Detect stub type using instanceof. Not ergonomic but a valid workaround if (stub instanceof i8) { SET_COPY(targetBuffer, targetByteOffset, sourceBuffer, 0, offset, length); } else if (stub instanceof u8) { @@ -484,6 +483,7 @@ export function SET, U extends number, SourceT>( } } +// SLow set copy method @inline function SET_COPY( targetBuffer: ArrayBuffer, @@ -492,19 +492,48 @@ function SET_COPY( sourceBufferOffset: i32, offset: i32, length: i32): void { - for (let i = length - 1; i >= 0; i--) { - STORE( - targetBuffer, - i + offset, - LOAD(sourceBuffer, i, sourceBufferOffset), - targetBufferOffset, + + // slowest path, a buffer writing to itself, despite the types not lining up + if (targetBuffer == sourceBuffer) { + // copy source data to a new copy to prevent data thrashing + let bytes = length << alignof(); + let sourceCopy = allocateUnsafe(bytes); + memory.copy( + sourceCopy.data, + sourceBuffer.data + sourceBufferOffset, + bytes, ); + + // copy the data to itself + for (let i = 0; i < length; i++) { + STORE( + targetBuffer, + i + offset, + LOAD(sourceCopy, i, 0), + targetBufferOffset, + ); + } + + // cleanup + if (isManaged(sourceCopy)) { + memory.free(changetype(sourceCopy)); + } + } else { + // copy the data directly + for (let i = 0; i < length; i++) { + STORE( + targetBuffer, + i + offset, + LOAD(sourceBuffer, i, sourceBufferOffset), + targetBufferOffset, + ); + } } } @inline function SET_SAME, U extends number>(target: T, source: T, offset: i32): void { - // perform a memory.copy + // perform a memcpy memory.copy( // store the data at the target pointer + byteOFfset + offset << alignOf() target.buffer.data + target.byteOffset + (offset << alignof()), diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index f8148ea0e3..e40d385cfd 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -771,7 +771,7 @@ if i32.const 0 i32.const 152 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 5ba2c885fb..d410613fb8 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -904,7 +904,7 @@ if i32.const 0 i32.const 152 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index 67e77e99d1..4702a340ed 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -1535,7 +1535,7 @@ if i32.const 0 i32.const 160 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1582,7 +1582,7 @@ if i32.const 0 i32.const 160 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index 5429c26bb0..fd8d23068b 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -2068,7 +2068,7 @@ if i32.const 0 i32.const 160 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -2149,7 +2149,7 @@ if i32.const 0 i32.const 160 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index cf6bc42ee4..f4558967fa 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -346,7 +346,7 @@ if i32.const 0 i32.const 8 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -393,7 +393,7 @@ if i32.const 0 i32.const 8 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/dataview.untouched.wat b/tests/compiler/std/dataview.untouched.wat index dcfaff5e63..83d84af727 100644 --- a/tests/compiler/std/dataview.untouched.wat +++ b/tests/compiler/std/dataview.untouched.wat @@ -433,7 +433,7 @@ if i32.const 0 i32.const 8 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -516,7 +516,7 @@ if i32.const 0 i32.const 8 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 815249ea12..f403be459f 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -428,7 +428,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -493,7 +493,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -550,7 +550,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -607,7 +607,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1099,7 +1099,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -1126,7 +1126,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -1217,7 +1217,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -1786,7 +1786,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -1810,7 +1810,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -1851,7 +1851,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -1951,7 +1951,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -2481,7 +2481,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -2771,7 +2771,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -2910,7 +2910,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -4219,7 +4219,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -4365,7 +4365,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -4692,7 +4692,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -4897,7 +4897,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -8132,82 +8132,7 @@ unreachable end ) - (func $~lib/typedarray/Int8Array#set> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - block $~lib/internal/typedarray/SET>|inlined.0 - local.get $0 - local.tee $2 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load offset=4 - i32.eqz - br_if $~lib/internal/typedarray/SET>|inlined.0 - local.get $2 - i32.load - local.set $0 - local.get $2 - i32.load offset=4 - local.set $2 - local.get $1 - i32.load - local.set $3 - local.get $1 - i32.load - i32.load offset=8 - drop - local.get $1 - i32.load offset=4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.add - local.get $2 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - i32.store8 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 - end - end - end - ) - (func $~lib/internal/memory/memcpy (; 194 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memcpy (; 193 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9104,7 +9029,7 @@ i32.store8 end ) - (func $~lib/internal/memory/memmove (; 195 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memmove (; 194 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -9302,6 +9227,127 @@ end end ) + (func $~lib/typedarray/Int8Array#set> (; 195 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/internal/typedarray/SET>|inlined.0 + local.get $0 + local.tee $2 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 244 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load offset=4 + i32.eqz + br_if $~lib/internal/typedarray/SET>|inlined.0 + local.get $2 + i32.load + local.set $0 + local.get $2 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $2 + local.get $1 + i32.load + i32.load offset=8 + drop + local.get $1 + i32.load + local.tee $5 + local.get $0 + i32.eq + if + local.get $2 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $3 + i32.const 8 + i32.add + local.get $5 + i32.const 8 + i32.add + local.get $1 + call $~lib/internal/memory/memmove + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i32.store8 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 + local.get $3 + local.get $2 + i32.lt_s + if + local.get $3 + i32.const 4 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $5 + i32.add + i32.load offset=8 + i32.store8 offset=8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end + end + end + end + ) (func $~lib/typedarray/Int8Array#set (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 @@ -9309,7 +9355,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -9319,7 +9365,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -9353,13 +9399,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -9369,7 +9416,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -9381,13 +9428,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -9396,36 +9437,89 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - local.get $2 - i32.add + local.set $1 + loop $repeat|0 + local.get $1 local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i32.trunc_f32_s - i32.store8 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store8 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 + local.get $2 + local.get $3 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store8 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -9435,13 +9529,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -9451,7 +9546,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -9463,13 +9558,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -9478,35 +9567,87 @@ i32.load offset=8 i32.const 3 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 3 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 3 - i32.add + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $2 + i32.add + i64.load offset=8 + i64.store8 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i64.load offset=8 - i64.store8 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 3 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + i64.load offset=8 + i64.store8 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -9520,7 +9661,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -9530,7 +9671,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -9549,7 +9690,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -10382,13 +10523,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -10398,7 +10540,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -10410,13 +10552,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -10425,57 +10561,110 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - local.get $2 - i32.add + local.set $1 + loop $repeat|0 + local.get $1 local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i32.trunc_f32_u - i32.store8 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store8 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end end - end - end - ) - (func $std/typedarray/testArraySet (; 202 ;) (type $_) - (local $0 i32) - (local $1 i32) - i32.const 0 - i32.const 10 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - global.get $std/typedarray/setSource - call $~lib/typedarray/Int8Array#set> - local.get $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - if - i32.const 776 - i32.const 8 + else + loop $repeat|1 + local.get $2 + local.get $3 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store8 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end + end + end + end + ) + (func $std/typedarray/testArraySet (; 202 ;) (type $_) + (local $0 i32) + (local $1 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + global.get $std/typedarray/setSource + call $~lib/typedarray/Int8Array#set> + local.get $0 + i32.const 0 + call $~lib/internal/typedarray/TypedArray#__get + i32.const 255 + i32.and + if + i32.const 776 + i32.const 8 i32.const 431 i32.const 2 call $~lib/env/abort @@ -12038,6 +12227,8 @@ (func $~lib/typedarray/Int16Array#set> (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -12045,7 +12236,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -12055,7 +12246,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -12069,45 +12260,91 @@ local.set $0 local.get $2 i32.load offset=4 - local.set $2 + local.set $4 local.get $1 - i32.load - local.set $3 + i32.load offset=4 + local.set $2 local.get $1 i32.load i32.load offset=8 drop local.get $1 - i32.load offset=4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.load + local.tee $5 + local.get $0 + i32.eq + if + local.get $2 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $3 + i32.const 8 + i32.add + local.get $5 + i32.const 8 + i32.add local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if + local.set $1 + loop $repeat|0 local.get $1 - i32.const 4 - i32.add - i32.const 1 - i32.shl - local.get $0 - i32.add local.get $2 - i32.add - local.get $1 - i32.const 2 - i32.shl + i32.lt_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i32.store16 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $3 - i32.add - i32.load offset=8 - i32.store16 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + local.get $2 + i32.lt_s + if + local.get $3 + i32.const 4 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $5 + i32.add + i32.load offset=8 + i32.store16 offset=8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end end end end @@ -12119,7 +12356,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -12129,7 +12366,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -12165,13 +12402,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -12181,7 +12419,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -12193,13 +12431,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -12208,38 +12440,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 1 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store16 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i32.trunc_f32_s - i32.store16 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store16 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -12249,13 +12536,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -12265,7 +12553,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -12277,13 +12565,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -12292,37 +12574,91 @@ i32.load offset=8 i32.const 3 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 3 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 3 - i32.add - i32.const 1 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $2 + i32.add + i64.load offset=8 + i64.store16 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i64.load offset=8 - i64.store16 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 3 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + i64.load offset=8 + i64.store16 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -12336,7 +12672,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -12346,7 +12682,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -12367,7 +12703,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -13200,13 +13536,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -13216,7 +13553,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -13228,13 +13565,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -13243,38 +13574,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 1 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store16 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i32.trunc_f32_u - i32.store16 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store16 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -14069,6 +14455,8 @@ (func $~lib/typedarray/Int32Array#set> (; 212 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -14076,7 +14464,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -14086,7 +14474,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -14100,45 +14488,91 @@ local.set $0 local.get $2 i32.load offset=4 - local.set $2 + local.set $4 local.get $1 - i32.load - local.set $3 + i32.load offset=4 + local.set $2 local.get $1 i32.load i32.load offset=8 drop local.get $1 - i32.load offset=4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.load + local.tee $5 + local.get $0 + i32.eq + if + local.get $2 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $3 + i32.const 8 + i32.add + local.get $5 + i32.const 8 + i32.add local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if + local.set $1 + loop $repeat|0 local.get $1 - i32.const 4 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add local.get $2 - i32.add - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - i32.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + i32.lt_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 + local.get $3 + local.get $2 + i32.lt_s + if + local.get $3 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $5 + i32.add + i32.load offset=8 + i32.store offset=8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end end end end @@ -14150,7 +14584,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -14160,7 +14594,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -14200,13 +14634,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -14216,7 +14651,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -14228,13 +14663,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -14243,38 +14672,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 2 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i32.trunc_f32_s - i32.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_s + i32.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -14284,13 +14768,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -14300,7 +14785,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -14312,13 +14797,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -14327,98 +14806,152 @@ i32.load offset=8 i32.const 3 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 3 - i32.add - i32.const 2 - i32.shl - local.get $2 - i32.add - local.get $3 - i32.add - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i64.load offset=8 - i64.store32 offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 - end - end - end - ) - (func $~lib/typedarray/Int32Array#set (; 216 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - block $~lib/internal/typedarray/SET|inlined.0 + local.set $3 local.get $0 - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 i32.load - i32.eqz - br_if $~lib/internal/typedarray/SET|inlined.0 + local.tee $0 local.get $1 i32.load - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + local.tee $6 + i32.eq if - i32.const 936 - i32.const 48 - i32.const 456 + local.get $3 + i32.const 3 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 i32.const 8 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load - local.set $2 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $2 + i32.add + i64.load offset=8 + i64.store32 offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 + local.get $2 + local.get $3 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + i64.load offset=8 + i64.store32 offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end + end + end + end + ) + (func $~lib/typedarray/Int32Array#set (; 216 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 244 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.eqz + br_if $~lib/internal/typedarray/SET|inlined.0 + local.get $1 + i32.load + i32.const 2 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 936 + i32.const 48 + i32.const 455 + i32.const 8 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load + i32.const 1 + i32.sub + local.set $0 + loop $repeat|0 local.get $0 i32.const 0 i32.ge_s @@ -15136,13 +15669,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -15152,7 +15686,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -15164,13 +15698,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -15179,38 +15707,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 2 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i32.trunc_f32_u - i32.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i32.trunc_f32_u + i32.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -15906,6 +16489,8 @@ (func $~lib/typedarray/Int64Array#set> (; 220 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -15913,7 +16498,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -15923,7 +16508,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -15937,46 +16522,93 @@ local.set $0 local.get $2 i32.load offset=4 - local.set $2 + local.set $4 local.get $1 - i32.load - local.set $3 + i32.load offset=4 + local.set $2 local.get $1 i32.load i32.load offset=8 drop local.get $1 - i32.load offset=4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.load + local.tee $5 + local.get $0 + i32.eq + if + local.get $2 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $3 + i32.const 8 + i32.add + local.get $5 + i32.const 8 + i32.add local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if + local.set $1 + loop $repeat|0 local.get $1 - i32.const 4 - i32.add - i32.const 3 - i32.shl - local.get $0 - i32.add local.get $2 - i32.add - local.get $1 - i32.const 2 - i32.shl + i32.lt_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + i64.extend_i32_s + i64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $3 - i32.add - i32.load offset=8 - i64.extend_i32_s - i64.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + local.get $2 + i32.lt_s + if + local.get $3 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $5 + i32.add + i32.load offset=8 + i64.extend_i32_s + i64.store offset=8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end end end end @@ -15988,7 +16620,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -15998,7 +16630,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16038,13 +16670,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -16054,7 +16687,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16066,13 +16699,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -16081,38 +16708,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 3 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i64.trunc_f32_s + i64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i64.trunc_f32_s - i64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i64.trunc_f32_s + i64.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -16126,7 +16808,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -16136,7 +16818,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16157,7 +16839,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -16919,13 +17601,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -16935,7 +17618,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16947,13 +17630,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -16962,38 +17639,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 3 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + i64.trunc_f32_u + i64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - i64.trunc_f32_u - i64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + i64.trunc_f32_u + i64.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -17716,6 +18448,8 @@ (func $~lib/typedarray/Float32Array#set> (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -17723,7 +18457,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17733,7 +18467,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17747,46 +18481,93 @@ local.set $0 local.get $2 i32.load offset=4 - local.set $2 + local.set $4 local.get $1 - i32.load - local.set $3 + i32.load offset=4 + local.set $2 local.get $1 i32.load i32.load offset=8 drop local.get $1 - i32.load offset=4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 + i32.load + local.tee $5 + local.get $0 + i32.eq + if + local.get $2 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $3 + i32.const 8 + i32.add + local.get $5 + i32.const 8 + i32.add local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if + local.set $1 + loop $repeat|0 local.get $1 - i32.const 4 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add local.get $2 - i32.add - local.get $1 - i32.const 2 - i32.shl + i32.lt_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + f32.convert_i32_s + f32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $3 - i32.add - i32.load offset=8 - f32.convert_i32_s - f32.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + local.get $2 + i32.lt_s + if + local.get $3 + i32.const 4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $5 + i32.add + i32.load offset=8 + f32.convert_i32_s + f32.store offset=8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end end end end @@ -17796,13 +18577,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17812,7 +18594,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17824,13 +18606,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -17839,38 +18615,93 @@ i32.load offset=8 i32.const 3 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 3 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 3 - i32.add - i32.const 2 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $2 + i32.add + i64.load offset=8 + f32.convert_i64_s + f32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i64.load offset=8 - f32.convert_i64_s - f32.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 3 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + i64.load offset=8 + f32.convert_i64_s + f32.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -17884,7 +18715,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17894,7 +18725,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17915,7 +18746,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -18675,6 +19506,8 @@ (func $~lib/typedarray/Float64Array#set> (; 231 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.tee $2 @@ -18682,7 +19515,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -18692,7 +19525,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -18706,46 +19539,93 @@ local.set $0 local.get $2 i32.load offset=4 - local.set $2 + local.set $4 local.get $1 - i32.load - local.set $3 + i32.load offset=4 + local.set $2 local.get $1 i32.load i32.load offset=8 drop local.get $1 - i32.load offset=4 - i32.const 1 - i32.sub - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - i32.const 4 - i32.add - i32.const 3 - i32.shl - local.get $0 - i32.add - local.get $2 - i32.add + i32.load + local.tee $5 + local.get $0 + i32.eq + if + local.get $2 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $3 + i32.const 8 + i32.add + local.get $5 + i32.const 8 + i32.add + local.get $1 + call $~lib/internal/memory/memmove + i32.const 0 + local.set $1 + loop $repeat|0 local.get $1 - i32.const 2 - i32.shl + local.get $2 + i32.lt_s + if + local.get $1 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load offset=8 + f64.convert_i32_s + f64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $3 - i32.add - i32.load offset=8 - f64.convert_i32_s - f64.store offset=8 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $repeat|0 + local.get $2 + i32.lt_s + if + local.get $3 + i32.const 4 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $5 + i32.add + i32.load offset=8 + f64.convert_i32_s + f64.store offset=8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end end end end @@ -18755,13 +19635,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -18771,7 +19652,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -18783,13 +19664,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -18798,38 +19673,93 @@ i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 2 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 7 - i32.add - i32.const 3 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load offset=8 + f64.promote_f32 + f64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - f64.promote_f32 - f64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 7 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + f32.load offset=8 + f64.promote_f32 + f64.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -18839,13 +19769,14 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 i32.eqz if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -18855,7 +19786,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -18867,13 +19798,7 @@ i32.eqz br_if $~lib/internal/typedarray/SET|inlined.0 local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 - local.set $3 - local.get $1 - i32.load local.set $4 local.get $1 i32.load offset=4 @@ -18882,38 +19807,93 @@ i32.load offset=8 i32.const 3 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $repeat|0 - local.get $0 + local.set $3 + local.get $0 + i32.load + local.tee $0 + local.get $1 + i32.load + local.tee $6 + i32.eq + if + local.get $3 + i32.const 3 + i32.shl + local.tee $1 + call $~lib/internal/arraybuffer/allocateUnsafe + local.tee $2 + i32.const 8 + i32.add + local.get $6 + i32.const 8 + i32.add + local.get $5 + i32.add + local.get $1 + call $~lib/internal/memory/memmove i32.const 0 - i32.ge_s - if - local.get $0 - i32.const 3 - i32.add - i32.const 3 - i32.shl + local.set $1 + loop $repeat|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + i32.const 3 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $1 + i32.const 3 + i32.shl + local.get $2 + i32.add + i64.load offset=8 + f64.convert_i64_s + f64.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + else + loop $repeat|1 local.get $2 - i32.add local.get $3 - i32.add - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i64.load offset=8 - f64.convert_i64_s - f64.store offset=8 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $repeat|0 + i32.ge_s + i32.eqz + if + local.get $2 + i32.const 3 + i32.add + i32.const 3 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.add + local.get $2 + i32.const 3 + i32.shl + local.get $6 + i32.add + local.get $5 + i32.add + i64.load offset=8 + f64.convert_i64_s + f64.store offset=8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $repeat|1 + end end end end @@ -18927,7 +19907,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -18937,7 +19917,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -18958,7 +19938,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 7f656e79a2..6c9609d82f 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -508,7 +508,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -589,7 +589,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -684,7 +684,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -765,7 +765,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -846,7 +846,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -927,7 +927,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1008,7 +1008,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1089,7 +1089,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1170,7 +1170,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1251,7 +1251,7 @@ if i32.const 0 i32.const 48 - i32.const 23 + i32.const 24 i32.const 34 call $~lib/env/abort unreachable @@ -1909,7 +1909,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -1949,7 +1949,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -2097,7 +2097,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -3133,7 +3133,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -3186,7 +3186,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -3233,7 +3233,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -3271,7 +3271,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -3420,7 +3420,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -4230,7 +4230,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -4395,7 +4395,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -4678,7 +4678,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -4839,7 +4839,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -5000,7 +5000,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -5161,7 +5161,7 @@ if i32.const 0 i32.const 48 - i32.const 50 + i32.const 51 i32.const 63 call $~lib/env/abort unreachable @@ -7349,7 +7349,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -7573,7 +7573,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -7962,7 +7962,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -8173,7 +8173,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -8384,7 +8384,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -8595,7 +8595,7 @@ if i32.const 0 i32.const 48 - i32.const 39 + i32.const 40 i32.const 63 call $~lib/env/abort unreachable @@ -14363,162 +14363,7 @@ i32.add i32.load offset=8 ) - (func $~lib/typedarray/Int8Array#set> (; 301 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i32) - block $~lib/internal/typedarray/SET>|inlined.0 - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $3 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 664 - i32.const 48 - i32.const 242 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $4 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 720 - i32.const 48 - i32.const 243 - i32.const 6 - call $~lib/env/abort - unreachable - end - block $~lib/array/Array#get:length|inlined.3 (result i32) - local.get $4 - local.set $6 - local.get $6 - i32.load offset=4 - end - i32.const 0 - i32.eq - if - br $~lib/internal/typedarray/SET>|inlined.0 - end - local.get $3 - i32.load - local.set $6 - local.get $3 - i32.load offset=4 - local.set $7 - local.get $4 - i32.load - local.set $8 - block $~lib/array/Array#get:length|inlined.4 (result i32) - local.get $4 - local.set $9 - local.get $9 - i32.load offset=4 - end - local.set $9 - local.get $4 - i32.const 0 - call $~lib/array/Array#__unchecked_get - local.set $10 - block $~lib/internal/typedarray/SET_COPY|inlined.0 - local.get $6 - local.set $11 - local.get $7 - local.set $12 - local.get $8 - local.set $13 - i32.const 0 - local.set $14 - local.get $5 - local.set $15 - local.get $9 - local.set $16 - block $break|0 - local.get $16 - i32.const 1 - i32.sub - local.set $17 - loop $repeat|0 - local.get $17 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $13 - local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 - local.get $21 - i32.const 2 - i32.shl - i32.add - local.get $22 - i32.add - i32.load offset=8 - end - local.set $22 - local.get $12 - local.set $21 - local.get $18 - local.get $19 - i32.const 0 - i32.shl - i32.add - local.get $21 - i32.add - local.get $22 - i32.store8 offset=8 - end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 - unreachable - end - unreachable - end - end - end - ) - (func $~lib/internal/memory/memcpy (; 302 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memcpy (; 301 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15719,7 +15564,7 @@ i32.store8 end ) - (func $~lib/internal/memory/memmove (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memmove (; 302 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 local.get $1 @@ -15946,7 +15791,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set> (; 303 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15956,7 +15801,20 @@ (local $9 i32) (local $10 i32) (local $11 i32) - block $~lib/internal/typedarray/SET|inlined.0 + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) + block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 local.get $1 @@ -15970,7 +15828,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -15982,49 +15840,284 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + block $~lib/array/Array#get:length|inlined.3 (result i32) local.get $4 local.set $6 local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u + i32.load offset=4 end i32.const 0 i32.eq if - br $~lib/internal/typedarray/SET|inlined.0 + br $~lib/internal/typedarray/SET>|inlined.0 end - block $~lib/internal/typedarray/SET_SAME|inlined.0 - local.get $3 - local.set $6 + local.get $3 + i32.load + local.set $6 + local.get $3 + i32.load offset=4 + local.set $7 + local.get $4 + i32.load + local.set $8 + block $~lib/array/Array#get:length|inlined.4 (result i32) local.get $4 - local.set $7 + local.set $9 + local.get $9 + i32.load offset=4 + end + local.set $9 + local.get $4 + i32.const 0 + call $~lib/array/Array#__unchecked_get + local.set $10 + block $~lib/internal/typedarray/SET_COPY|inlined.0 + local.get $6 + local.set $11 + local.get $7 + local.set $12 + local.get $8 + local.set $13 + i32.const 0 + local.set $14 local.get $5 - local.set $8 - block $~lib/memory/memory.copy|inlined.0 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) - local.get $6 - i32.load - local.set $9 - local.get $9 - i32.const 8 - i32.add - end - local.get $6 - i32.load offset=4 + local.set $15 + local.get $9 + local.set $16 + local.get $11 + local.get $13 + i32.eq + if + local.get $16 + i32.const 2 + i32.shl + local.set $17 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.0 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.0 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 + local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 + i32.const 0 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 + local.set $20 + local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 + i32.const 0 + i32.shl + i32.add + local.get $23 + i32.add + local.get $24 + i32.store8 offset=8 + end + local.get $21 + i32.const 1 + i32.add + local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 + local.get $17 + local.get $21 + i32.const 0 + i32.shl + i32.add + local.get $24 + i32.add + local.get $19 + i32.store8 offset=8 + end + local.get $18 + i32.const 1 + i32.add + local.set $18 + br $repeat|1 + unreachable + end + unreachable + end + end + end + end + ) + (func $~lib/typedarray/Int8Array#set (; 304 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + block $~lib/internal/typedarray/SET|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 664 + i32.const 48 + i32.const 243 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $4 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 720 + i32.const 48 + i32.const 244 + i32.const 6 + call $~lib/env/abort + unreachable + end + block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) + local.get $4 + local.set $6 + local.get $6 + i32.load offset=8 + i32.const 0 + i32.shr_u + end + i32.const 0 + i32.eq + if + br $~lib/internal/typedarray/SET|inlined.0 + end + block $~lib/internal/typedarray/SET_SAME|inlined.0 + local.get $3 + local.set $6 + local.get $4 + local.set $7 + local.get $5 + local.set $8 + block $~lib/memory/memory.copy|inlined.1 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) + local.get $6 + i32.load + local.set $9 + local.get $9 + i32.const 8 + i32.add + end + local.get $6 + i32.load offset=4 i32.add local.get $8 i32.const 0 i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) local.get $7 i32.load local.set $10 @@ -16064,6 +16157,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -16078,7 +16173,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -16090,7 +16185,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16132,62 +16227,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.2 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $18 i32.add - f32.load offset=8 + local.get $19 + i32.store8 offset=8 end - i32.trunc_f32_s - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 0 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store8 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -16208,6 +16395,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -16222,7 +16411,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -16234,7 +16423,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16276,62 +16465,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.3 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 0 + i32.shl + i32.add + local.get $18 + i32.add + local.get $19 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $19 i32.add - i64.load offset=8 + local.get $14 + i32.store8 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 + i32.const 1 i32.add - local.get $17 - i32.store8 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -16366,7 +16647,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -16378,7 +16659,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -16411,7 +16692,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -16434,7 +16715,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -17467,6 +17748,8 @@ (local $20 i32) (local $21 i32) (local $22 i32) + (local $23 i32) + (local $24 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -17481,7 +17764,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17493,7 +17776,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17542,61 +17825,152 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.4 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) - local.get $13 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 + i32.const 0 i32.shl i32.add - local.get $22 + local.get $23 i32.add - i32.load offset=8 + local.get $24 + i32.store8 offset=8 end - local.set $22 - local.get $12 + local.get $21 + i32.const 1 + i32.add local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 local.get $18 - local.get $19 - i32.const 0 - i32.shl - i32.add - local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 + local.get $17 + local.get $21 + i32.const 0 + i32.shl + i32.add + local.get $24 + i32.add + local.get $19 + i32.store8 offset=8 + end + local.get $18 + i32.const 1 i32.add - local.get $22 - i32.store8 offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -17625,7 +17999,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17637,7 +18011,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17662,8 +18036,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.1 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.2 (result i32) + block $~lib/memory/memory.copy|inlined.5 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) local.get $6 i32.load local.set $9 @@ -17679,7 +18053,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.3 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) local.get $7 i32.load local.set $10 @@ -17719,6 +18093,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -17733,7 +18109,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17745,7 +18121,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17787,62 +18163,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.6 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $18 i32.add - f32.load offset=8 + local.get $19 + i32.store8 offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 0 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store8 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -17863,6 +18331,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -17877,7 +18347,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -17889,7 +18359,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -17931,62 +18401,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.7 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $18 i32.add - i64.load offset=8 + local.get $19 + i32.store8 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 0 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store8 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -18018,7 +18580,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -18030,7 +18592,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -18063,7 +18625,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -18086,7 +18648,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -19019,6 +19581,8 @@ (local $20 i32) (local $21 i32) (local $22 i32) + (local $23 i32) + (local $24 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -19033,7 +19597,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -19045,7 +19609,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -19094,61 +19658,152 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.8 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) - local.get $13 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $11 local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 + i32.const 0 i32.shl i32.add - local.get $22 + local.get $23 i32.add - i32.load offset=8 + local.get $24 + i32.store8 offset=8 end - local.set $22 - local.get $12 + local.get $21 + i32.const 1 + i32.add local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 local.get $18 - local.get $19 - i32.const 0 - i32.shl - i32.add - local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.8 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 + local.get $17 + local.get $21 + i32.const 0 + i32.shl + i32.add + local.get $24 + i32.add + local.get $19 + i32.store8 offset=8 + end + local.get $18 + i32.const 1 i32.add - local.get $22 - i32.store8 offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -19177,7 +19832,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -19189,7 +19844,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -19214,8 +19869,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.2 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.4 (result i32) + block $~lib/memory/memory.copy|inlined.9 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) local.get $6 i32.load local.set $9 @@ -19231,7 +19886,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.5 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) local.get $7 i32.load local.set $10 @@ -19271,6 +19926,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -19285,7 +19942,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -19297,7 +19954,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -19339,62 +19996,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.10 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.9 + local.get $6 local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 0 + i32.shl + i32.add + local.get $18 + i32.add + local.get $19 + i32.store8 offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.10 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $14 + local.get $7 + local.set $19 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $19 i32.add - f32.load offset=8 + local.get $14 + i32.store8 offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 - local.set $16 local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 + i32.const 1 i32.add - local.get $17 - i32.store8 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -19415,6 +20164,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -19429,7 +20180,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -19441,7 +20192,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -19483,62 +20234,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.11 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.11 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 0 i32.shl i32.add - local.get $17 + local.get $18 i32.add - i64.load offset=8 + local.get $19 + i32.store8 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 0 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.12 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 0 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store8 offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store8 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -19570,7 +20413,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -19582,7 +20425,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -19615,7 +20458,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -19638,7 +20481,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.7 + block $~lib/internal/arraybuffer/STORE|inlined.13 local.get $8 local.set $11 local.get $10 @@ -20571,6 +21414,8 @@ (local $20 i32) (local $21 i32) (local $22 i32) + (local $23 i32) + (local $24 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -20585,7 +21430,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -20597,7 +21442,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -20646,61 +21491,152 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.12 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.24 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.25 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i32) - local.get $13 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 + i32.const 1 i32.shl i32.add - local.get $22 + local.get $23 i32.add - i32.load offset=8 + local.get $24 + i32.store16 offset=8 end - local.set $22 - local.get $12 + local.get $21 + i32.const 1 + i32.add local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 + local.get $17 + local.get $21 + i32.const 1 + i32.shl + i32.add + local.get $24 + i32.add + local.get $19 + i32.store16 offset=8 + end local.get $18 - local.get $19 i32.const 1 - i32.shl - i32.add - local.get $21 i32.add - local.get $22 - i32.store16 offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -20729,7 +21665,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -20741,7 +21677,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -20766,8 +21702,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.3 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.6 (result i32) + block $~lib/memory/memory.copy|inlined.13 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.26 (result i32) local.get $6 i32.load local.set $9 @@ -20783,7 +21719,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.7 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.27 (result i32) local.get $7 i32.load local.set $10 @@ -20823,6 +21759,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -20837,7 +21775,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -20849,7 +21787,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -20891,62 +21829,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.28 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.29 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $18 i32.add - f32.load offset=8 + local.get $19 + i32.store16 offset=8 end - i32.trunc_f32_s - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 1 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store16 offset=8 + end local.get $13 - local.get $14 i32.const 1 - i32.shl - i32.add - local.get $16 i32.add - local.get $17 - i32.store16 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -20967,6 +21997,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -20981,7 +22013,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -20993,7 +22025,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -21035,62 +22067,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.15 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.30 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.31 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $18 i32.add - i64.load offset=8 + local.get $19 + i32.store16 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 1 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store16 offset=8 + end local.get $13 - local.get $14 i32.const 1 - i32.shl - i32.add - local.get $16 i32.add - local.get $17 - i32.store16 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -21122,7 +22246,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -21134,7 +22258,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -21167,7 +22291,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -21190,7 +22314,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -22223,6 +23347,8 @@ (local $20 i32) (local $21 i32) (local $22 i32) + (local $23 i32) + (local $24 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -22237,7 +23363,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -22249,7 +23375,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -22298,61 +23424,152 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.16 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.32 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.33 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) - local.get $13 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.0 + local.get $11 local.set $20 + local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 + i32.const 1 + i32.shl + i32.add + local.get $23 + i32.add + local.get $24 + i32.store16 offset=8 + end + local.get $21 + i32.const 1 + i32.add + local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + i32.const 1 i32.shl i32.add - local.get $22 + local.get $24 i32.add - i32.load offset=8 + local.get $19 + i32.store16 offset=8 end - local.set $22 - local.get $12 - local.set $21 local.get $18 - local.get $19 i32.const 1 - i32.shl - i32.add - local.get $21 i32.add - local.get $22 - i32.store16 offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -22381,7 +23598,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -22393,7 +23610,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -22418,8 +23635,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.4 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.8 (result i32) + block $~lib/memory/memory.copy|inlined.17 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.34 (result i32) local.get $6 i32.load local.set $9 @@ -22435,7 +23652,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.9 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.35 (result i32) local.get $7 i32.load local.set $10 @@ -22475,6 +23692,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -22489,7 +23708,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -22501,7 +23720,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -22543,62 +23762,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.18 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.36 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.37 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $18 i32.add - f32.load offset=8 + local.get $19 + i32.store16 offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 1 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store16 offset=8 + end local.get $13 - local.get $14 i32.const 1 - i32.shl - i32.add - local.get $16 i32.add - local.get $17 - i32.store16 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -22619,6 +23930,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -22633,7 +23946,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -22645,7 +23958,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -22687,62 +24000,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.38 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.39 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 1 i32.shl i32.add - local.get $17 + local.get $18 i32.add - i64.load offset=8 + local.get $19 + i32.store16 offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 1 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store16 offset=8 + end local.get $13 - local.get $14 i32.const 1 - i32.shl i32.add - local.get $16 - i32.add - local.get $17 - i32.store16 offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -22774,7 +24179,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -22786,7 +24191,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -22819,7 +24224,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -22842,7 +24247,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -23775,6 +25180,8 @@ (local $20 i32) (local $21 i32) (local $22 i32) + (local $23 i32) + (local $24 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -23789,7 +25196,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -23801,7 +25208,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -23850,61 +25257,152 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.20 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.40 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.41 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i32) - local.get $13 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $11 local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.22 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 i32.const 2 i32.shl i32.add - local.get $22 + local.get $23 i32.add - i32.load offset=8 + local.get $24 + i32.store offset=8 end - local.set $22 - local.get $12 + local.get $21 + i32.const 1 + i32.add local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 local.get $18 - local.get $19 - i32.const 2 - i32.shl - i32.add - local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.23 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 + local.get $17 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + local.get $19 + i32.store offset=8 + end + local.get $18 + i32.const 1 i32.add - local.get $22 - i32.store offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -23933,7 +25431,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -23945,7 +25443,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -23970,8 +25468,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.5 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.10 (result i32) + block $~lib/memory/memory.copy|inlined.21 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.42 (result i32) local.get $6 i32.load local.set $9 @@ -23987,7 +25485,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.11 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.43 (result i32) local.get $7 i32.load local.set $10 @@ -24027,6 +25525,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -24041,7 +25541,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -24053,7 +25553,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -24095,62 +25595,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.22 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.44 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.45 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.20 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 i32.const 2 i32.shl i32.add - local.get $17 + local.get $18 i32.add - f32.load offset=8 + local.get $19 + i32.store offset=8 end - i32.trunc_f32_s - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_s + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -24171,6 +25763,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -24185,7 +25779,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -24197,7 +25791,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -24239,62 +25833,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.23 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.46 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.47 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $6 local.set $15 - local.get $12 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $18 + i32.add + local.get $19 + i32.store offset=8 + end + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.8 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add local.set $16 - local.get $9 - local.set $17 - local.get $15 + block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 + local.get $12 local.get $16 - i32.const 3 + i32.const 2 i32.shl i32.add - local.get $17 + local.get $19 i32.add - i64.load offset=8 + local.get $14 + i32.store offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 - local.set $16 local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 + i32.const 1 i32.add - local.get $17 - i32.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -24326,7 +26012,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -24338,7 +26024,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -24371,7 +26057,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -24394,7 +26080,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.6 + block $~lib/internal/arraybuffer/STORE|inlined.9 local.get $8 local.set $11 local.get $10 @@ -25227,6 +26913,8 @@ (local $20 i32) (local $21 i32) (local $22 i32) + (local $23 i32) + (local $24 i32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -25241,7 +26929,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -25253,7 +26941,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -25302,61 +26990,152 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.24 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.48 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.49 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 - local.get $17 - local.get $15 - i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) - local.get $13 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 local.set $20 - local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.24 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + local.set $24 + local.get $12 + local.set $23 + local.get $20 + local.get $19 i32.const 2 i32.shl i32.add - local.get $22 + local.get $23 i32.add - i32.load offset=8 + local.get $24 + i32.store offset=8 end - local.set $22 - local.get $12 + local.get $21 + i32.const 1 + i32.add local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 local.get $18 - local.get $19 - i32.const 2 - i32.shl - i32.add - local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.25 (result i32) + local.get $13 + local.set $23 + local.get $18 + local.set $24 + local.get $14 + local.set $19 + local.get $23 + local.get $24 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + i32.load offset=8 + end + local.set $19 + local.get $12 + local.set $24 + local.get $17 + local.get $21 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + local.get $19 + i32.store offset=8 + end + local.get $18 + i32.const 1 i32.add - local.get $22 - i32.store offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -25385,7 +27164,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -25397,7 +27176,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -25422,8 +27201,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.6 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.12 (result i32) + block $~lib/memory/memory.copy|inlined.25 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.50 (result i32) local.get $6 i32.load local.set $9 @@ -25439,7 +27218,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.13 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.51 (result i32) local.get $7 i32.load local.set $10 @@ -25479,6 +27258,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -25493,7 +27274,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -25505,7 +27286,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -25547,62 +27328,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.26 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.52 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.53 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result f32) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.22 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 i32.const 2 i32.shl i32.add - local.get $17 + local.get $18 i32.add - f32.load offset=8 + local.get $19 + i32.store offset=8 end - i32.trunc_f32_u - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.23 (result f32) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $14 + i32.add + f32.load offset=8 + end + i32.trunc_f32_u + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -25623,6 +27496,8 @@ (local $15 i32) (local $16 i32) (local $17 i32) + (local $18 i32) + (local $19 i32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -25637,7 +27512,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -25649,7 +27524,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -25691,62 +27566,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.27 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.54 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.55 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $6 - local.set $13 - local.get $12 - local.get $10 - i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i64) - local.get $8 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.6 + local.get $6 local.set $15 - local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.22 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $19 + local.get $7 + local.set $18 + local.get $15 + local.get $14 + i32.const 2 i32.shl i32.add - local.get $17 + local.get $18 i32.add - i64.load offset=8 + local.get $19 + i32.store offset=8 end - i32.wrap_i64 - local.set $17 - local.get $7 + local.get $16 + i32.const 1 + i32.add local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.7 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.23 (result i64) + local.get $8 + local.set $18 + local.get $13 + local.set $19 + local.get $9 + local.set $14 + local.get $18 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $14 + i32.add + i64.load offset=8 + end + i32.wrap_i64 + local.set $14 + local.get $7 + local.set $19 + local.get $12 + local.get $16 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + local.get $14 + i32.store offset=8 + end + local.get $13 + i32.const 1 i32.add - local.get $17 - i32.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -25778,7 +27745,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -25790,7 +27757,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -25823,7 +27790,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -25846,7 +27813,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.5 + block $~lib/internal/arraybuffer/STORE|inlined.8 local.get $8 local.set $11 local.get $10 @@ -26679,7 +28646,9 @@ (local $20 i32) (local $21 i32) (local $22 i32) - (local $23 i64) + (local $23 i32) + (local $24 i32) + (local $25 i64) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -26694,7 +28663,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -26706,7 +28675,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -26755,62 +28724,154 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.28 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.56 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.57 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 - local.get $17 - local.get $15 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $20 + local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.26 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $25 + local.get $12 + local.set $24 + local.get $20 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $24 + i32.add + local.get $25 + i64.store offset=8 + end + local.get $21 + i32.const 1 i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) - local.get $13 + local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.27 (result i32) + local.get $13 + local.set $24 + local.get $18 + local.set $19 + local.get $14 + local.set $20 + local.get $24 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $25 + local.get $12 local.set $20 local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $22 + local.get $20 i32.add - i32.load offset=8 + local.get $25 + i64.store offset=8 end - i64.extend_i32_s - local.set $23 - local.get $12 - local.set $22 local.get $18 - local.get $19 - i32.const 3 - i32.shl - i32.add - local.get $22 + i32.const 1 i32.add - local.get $23 - i64.store offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -26839,7 +28900,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -26851,7 +28912,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -26876,8 +28937,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.7 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.14 (result i32) + block $~lib/memory/memory.copy|inlined.29 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.58 (result i32) local.get $6 i32.load local.set $9 @@ -26893,7 +28954,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.15 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.59 (result i32) local.get $7 i32.load local.set $10 @@ -26933,7 +28994,9 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i64) + (local $18 i32) + (local $19 i32) + (local $20 i64) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -26948,7 +29011,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -26960,7 +29023,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -27002,62 +29065,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.30 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.60 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.61 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.24 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i64.trunc_f32_s + local.set $20 + local.get $7 + local.set $19 + local.get $15 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + local.get $20 + i64.store offset=8 + end + local.get $16 + i32.const 1 i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f32) - local.get $8 + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.25 (result f32) + local.get $8 + local.set $19 + local.get $13 + local.set $14 + local.get $9 + local.set $15 + local.get $19 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $15 + i32.add + f32.load offset=8 + end + i64.trunc_f32_s + local.set $20 + local.get $7 local.set $15 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $17 + local.get $15 i32.add - f32.load offset=8 + local.get $20 + i64.store offset=8 end - i64.trunc_f32_s - local.set $18 - local.get $7 - local.set $17 local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 + i32.const 1 i32.add - local.get $18 - i64.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -27089,7 +29244,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -27101,7 +29256,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -27134,7 +29289,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -27157,7 +29312,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -27991,7 +30146,9 @@ (local $20 i32) (local $21 i32) (local $22 i32) - (local $23 i64) + (local $23 i32) + (local $24 i32) + (local $25 i64) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -28006,7 +30163,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -28018,7 +30175,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -28067,62 +30224,154 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.31 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.62 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.63 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 - local.get $17 - local.get $15 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $20 + local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.28 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $25 + local.get $12 + local.set $24 + local.get $20 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $24 + i32.add + local.get $25 + i64.store offset=8 + end + local.get $21 + i32.const 1 i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) - local.get $13 + local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.29 (result i32) + local.get $13 + local.set $24 + local.get $18 + local.set $19 + local.get $14 + local.set $20 + local.get $24 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + i32.load offset=8 + end + i64.extend_i32_s + local.set $25 + local.get $12 local.set $20 local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $22 + local.get $20 i32.add - i32.load offset=8 + local.get $25 + i64.store offset=8 end - i64.extend_i32_s - local.set $23 - local.get $12 - local.set $22 local.get $18 - local.get $19 - i32.const 3 - i32.shl - i32.add - local.get $22 + i32.const 1 i32.add - local.get $23 - i64.store offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -28151,7 +30400,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -28163,7 +30412,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -28188,8 +30437,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.8 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.16 (result i32) + block $~lib/memory/memory.copy|inlined.32 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.64 (result i32) local.get $6 i32.load local.set $9 @@ -28205,7 +30454,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.17 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.65 (result i32) local.get $7 i32.load local.set $10 @@ -28245,7 +30494,9 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 i64) + (local $18 i32) + (local $19 i32) + (local $20 i64) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -28260,7 +30511,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -28272,7 +30523,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -28314,62 +30565,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.33 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.66 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.67 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.26 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + i64.trunc_f32_u + local.set $20 + local.get $7 + local.set $19 + local.get $15 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + local.get $20 + i64.store offset=8 + end + local.get $16 + i32.const 1 i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result f32) - local.get $8 + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.27 (result f32) + local.get $8 + local.set $19 + local.get $13 + local.set $14 + local.get $9 + local.set $15 + local.get $19 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $15 + i32.add + f32.load offset=8 + end + i64.trunc_f32_u + local.set $20 + local.get $7 local.set $15 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $17 + local.get $15 i32.add - f32.load offset=8 + local.get $20 + i64.store offset=8 end - i64.trunc_f32_u - local.set $18 - local.get $7 - local.set $17 local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 + i32.const 1 i32.add - local.get $18 - i64.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -28398,7 +30741,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -28410,7 +30753,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -28435,8 +30778,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.18 (result i32) + block $~lib/memory/memory.copy|inlined.34 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.68 (result i32) local.get $6 i32.load local.set $9 @@ -28452,7 +30795,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.19 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.69 (result i32) local.get $7 i32.load local.set $10 @@ -28503,7 +30846,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -28515,7 +30858,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -28548,7 +30891,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -28571,7 +30914,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -29405,7 +31748,9 @@ (local $20 i32) (local $21 i32) (local $22 i32) - (local $23 f32) + (local $23 i32) + (local $24 i32) + (local $25 f32) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -29420,7 +31765,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -29432,7 +31777,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -29481,62 +31826,154 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.35 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.70 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.71 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $11 - local.set $18 - local.get $17 - local.get $15 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $11 + local.set $20 + local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.30 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + f32.convert_i32_s + local.set $25 + local.get $12 + local.set $24 + local.get $20 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + local.get $25 + f32.store offset=8 + end + local.get $21 + i32.const 1 i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) - local.get $13 + local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.3 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.31 (result i32) + local.get $13 + local.set $24 + local.get $18 + local.set $19 + local.get $14 + local.set $20 + local.get $24 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + i32.load offset=8 + end + f32.convert_i32_s + local.set $25 + local.get $12 local.set $20 local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 i32.const 2 i32.shl i32.add - local.get $22 + local.get $20 i32.add - i32.load offset=8 + local.get $25 + f32.store offset=8 end - f32.convert_i32_s - local.set $23 - local.get $12 - local.set $22 local.get $18 - local.get $19 - i32.const 2 - i32.shl - i32.add - local.get $22 + i32.const 1 i32.add - local.get $23 - f32.store offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -29565,7 +32002,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -29577,7 +32014,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -29602,8 +32039,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.10 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.20 (result i32) + block $~lib/memory/memory.copy|inlined.36 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.72 (result i32) local.get $6 i32.load local.set $9 @@ -29619,7 +32056,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.21 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.73 (result i32) local.get $7 i32.load local.set $10 @@ -29659,7 +32096,9 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 f32) + (local $18 i32) + (local $19 i32) + (local $20 f32) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -29674,7 +32113,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -29686,7 +32125,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -29728,62 +32167,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.37 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.74 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.75 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.4 + local.get $6 + local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.24 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + f32.convert_i64_s + local.set $20 + local.get $7 + local.set $19 + local.get $15 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + local.get $20 + f32.store offset=8 + end + local.get $16 + i32.const 1 i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result i64) - local.get $8 + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.5 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.25 (result i64) + local.get $8 + local.set $19 + local.get $13 + local.set $14 + local.get $9 + local.set $15 + local.get $19 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $15 + i32.add + i64.load offset=8 + end + f32.convert_i64_s + local.set $20 + local.get $7 local.set $15 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 3 + i32.const 2 i32.shl i32.add - local.get $17 + local.get $15 i32.add - i64.load offset=8 + local.get $20 + f32.store offset=8 end - f32.convert_i64_s - local.set $18 - local.get $7 - local.set $17 local.get $13 - local.get $14 - i32.const 2 - i32.shl - i32.add - local.get $17 + i32.const 1 i32.add - local.get $18 - f32.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -29815,7 +32346,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -29827,7 +32358,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -29860,7 +32391,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -29883,7 +32414,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.4 + block $~lib/internal/arraybuffer/STORE|inlined.6 local.get $8 local.set $11 local.get $10 @@ -30717,7 +33248,9 @@ (local $20 i32) (local $21 i32) (local $22 i32) - (local $23 f64) + (local $23 i32) + (local $24 i32) + (local $25 f64) block $~lib/internal/typedarray/SET>|inlined.0 local.get $0 local.set $3 @@ -30732,7 +33265,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -30744,7 +33277,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -30793,62 +33326,154 @@ local.set $15 local.get $9 local.set $16 - block $break|0 + local.get $11 + local.get $13 + i32.eq + if local.get $16 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $17 - loop $repeat|0 + local.get $17 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $18 + block $~lib/memory/memory.copy|inlined.38 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.76 (result i32) + local.get $18 + local.set $19 + local.get $19 + i32.const 8 + i32.add + end + local.set $19 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.77 (result i32) + local.get $13 + local.set $20 + local.get $20 + i32.const 8 + i32.add + end + local.get $14 + i32.add + local.set $20 local.get $17 + local.set $21 + local.get $19 + local.get $20 + local.get $21 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.14 - local.get $11 - local.set $18 - local.get $17 - local.get $15 + local.set $21 + loop $repeat|0 + local.get $21 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.14 + local.get $11 + local.set $20 + local.get $21 + local.get $15 + i32.add + local.set $19 + block $~lib/internal/arraybuffer/LOAD|inlined.32 (result i32) + local.get $18 + local.set $22 + local.get $21 + local.set $23 + i32.const 0 + local.set $24 + local.get $22 + local.get $23 + i32.const 2 + i32.shl + i32.add + local.get $24 + i32.add + i32.load offset=8 + end + f64.convert_i32_s + local.set $25 + local.get $12 + local.set $24 + local.get $20 + local.get $19 + i32.const 3 + i32.shl + i32.add + local.get $24 + i32.add + local.get $25 + f64.store offset=8 + end + local.get $21 + i32.const 1 i32.add - local.set $19 - block $~lib/internal/arraybuffer/LOAD|inlined.22 (result i32) - local.get $13 + local.set $21 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $18 + loop $repeat|1 + local.get $18 + local.get $16 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.15 + local.get $11 + local.set $17 + local.get $18 + local.get $15 + i32.add + local.set $21 + block $~lib/internal/arraybuffer/LOAD|inlined.33 (result i32) + local.get $13 + local.set $24 + local.get $18 + local.set $19 + local.get $14 + local.set $20 + local.get $24 + local.get $19 + i32.const 2 + i32.shl + i32.add + local.get $20 + i32.add + i32.load offset=8 + end + f64.convert_i32_s + local.set $25 + local.get $12 local.set $20 local.get $17 - local.set $21 - local.get $14 - local.set $22 - local.get $20 local.get $21 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $22 + local.get $20 i32.add - i32.load offset=8 + local.get $25 + f64.store offset=8 end - f64.convert_i32_s - local.set $23 - local.get $12 - local.set $22 local.get $18 - local.get $19 - i32.const 3 - i32.shl - i32.add - local.get $22 + i32.const 1 i32.add - local.get $23 - f64.store offset=8 + local.set $18 + br $repeat|1 + unreachable end - local.get $17 - i32.const 1 - i32.sub - local.set $17 - br $repeat|0 unreachable end - unreachable end end end @@ -30877,7 +33502,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -30889,7 +33514,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -30914,8 +33539,8 @@ local.set $7 local.get $5 local.set $8 - block $~lib/memory/memory.copy|inlined.11 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.22 (result i32) + block $~lib/memory/memory.copy|inlined.39 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.78 (result i32) local.get $6 i32.load local.set $9 @@ -30931,7 +33556,7 @@ i32.shl i32.add local.set $9 - block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.23 (result i32) + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.79 (result i32) local.get $7 i32.load local.set $10 @@ -30971,7 +33596,9 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 f64) + (local $18 i32) + (local $19 i32) + (local $20 f64) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -30986,7 +33613,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -30998,7 +33625,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -31040,62 +33667,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 2 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.40 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.80 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.81 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.15 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.16 + local.get $6 + local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.28 (result f32) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 2 + i32.shl + i32.add + local.get $19 + i32.add + f32.load offset=8 + end + f64.promote_f32 + local.set $20 + local.get $7 + local.set $19 + local.get $15 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + local.get $20 + f64.store offset=8 + end + local.get $16 + i32.const 1 i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f32) - local.get $8 + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.17 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.29 (result f32) + local.get $8 + local.set $19 + local.get $13 + local.set $14 + local.get $9 + local.set $15 + local.get $19 + local.get $14 + i32.const 2 + i32.shl + i32.add + local.get $15 + i32.add + f32.load offset=8 + end + f64.promote_f32 + local.set $20 + local.get $7 local.set $15 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $17 + local.get $15 i32.add - f32.load offset=8 + local.get $20 + f64.store offset=8 end - f64.promote_f32 - local.set $18 - local.get $7 - local.set $17 local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 + i32.const 1 i32.add - local.get $18 - f64.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -31116,7 +33835,9 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (local $18 f64) + (local $18 i32) + (local $19 i32) + (local $20 f64) block $~lib/internal/typedarray/SET|inlined.0 local.get $0 local.set $3 @@ -31131,7 +33852,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -31143,7 +33864,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -31185,62 +33906,154 @@ i32.shr_u end local.set $11 - block $break|0 + local.get $6 + local.get $8 + i32.eq + if local.get $11 - i32.const 1 - i32.sub + i32.const 3 + i32.shl local.set $12 - loop $repeat|0 + local.get $12 + call $~lib/internal/arraybuffer/allocateUnsafe + local.set $13 + block $~lib/memory/memory.copy|inlined.41 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.82 (result i32) + local.get $13 + local.set $14 + local.get $14 + i32.const 8 + i32.add + end + local.set $14 + block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.83 (result i32) + local.get $8 + local.set $15 + local.get $15 + i32.const 8 + i32.add + end + local.get $9 + i32.add + local.set $15 local.get $12 + local.set $16 + local.get $14 + local.get $15 + local.get $16 + call $~lib/internal/memory/memmove + end + block $break|0 i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.16 - local.get $6 - local.set $13 - local.get $12 - local.get $10 + local.set $16 + loop $repeat|0 + local.get $16 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|0 + block $~lib/internal/arraybuffer/STORE|inlined.18 + local.get $6 + local.set $15 + local.get $16 + local.get $10 + i32.add + local.set $14 + block $~lib/internal/arraybuffer/LOAD|inlined.26 (result i64) + local.get $13 + local.set $17 + local.get $16 + local.set $18 + i32.const 0 + local.set $19 + local.get $17 + local.get $18 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + i64.load offset=8 + end + f64.convert_i64_s + local.set $20 + local.get $7 + local.set $19 + local.get $15 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $19 + i32.add + local.get $20 + f64.store offset=8 + end + local.get $16 + i32.const 1 i32.add - local.set $14 - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i64) - local.get $8 + local.set $16 + br $repeat|0 + unreachable + end + unreachable + end + else + block $break|1 + i32.const 0 + local.set $13 + loop $repeat|1 + local.get $13 + local.get $11 + i32.lt_s + i32.eqz + br_if $break|1 + block $~lib/internal/arraybuffer/STORE|inlined.19 + local.get $6 + local.set $12 + local.get $13 + local.get $10 + i32.add + local.set $16 + block $~lib/internal/arraybuffer/LOAD|inlined.27 (result i64) + local.get $8 + local.set $19 + local.get $13 + local.set $14 + local.get $9 + local.set $15 + local.get $19 + local.get $14 + i32.const 3 + i32.shl + i32.add + local.get $15 + i32.add + i64.load offset=8 + end + f64.convert_i64_s + local.set $20 + local.get $7 local.set $15 local.get $12 - local.set $16 - local.get $9 - local.set $17 - local.get $15 local.get $16 i32.const 3 i32.shl i32.add - local.get $17 + local.get $15 i32.add - i64.load offset=8 + local.get $20 + f64.store offset=8 end - f64.convert_i64_s - local.set $18 - local.get $7 - local.set $17 local.get $13 - local.get $14 - i32.const 3 - i32.shl - i32.add - local.get $17 + i32.const 1 i32.add - local.get $18 - f64.store offset=8 + local.set $13 + br $repeat|1 + unreachable end - local.get $12 - i32.const 1 - i32.sub - local.set $12 - br $repeat|0 unreachable end - unreachable end end end @@ -31272,7 +34085,7 @@ if i32.const 664 i32.const 48 - i32.const 242 + i32.const 243 i32.const 6 call $~lib/env/abort unreachable @@ -31284,7 +34097,7 @@ if i32.const 720 i32.const 48 - i32.const 243 + i32.const 244 i32.const 6 call $~lib/env/abort unreachable @@ -31317,7 +34130,7 @@ if i32.const 936 i32.const 48 - i32.const 456 + i32.const 455 i32.const 8 call $~lib/env/abort unreachable @@ -31340,7 +34153,7 @@ i32.ge_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.17 + block $~lib/internal/arraybuffer/STORE|inlined.20 local.get $8 local.set $11 local.get $10