From 6014c52e9efdc896b1b3e6cb3be500795e55d02c Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 27 Jul 2022 22:23:33 +0300 Subject: [PATCH 1/5] init --- std/assembly/index.d.ts | 6 +- std/assembly/typedarray.ts | 150 +- tests/compiler/std/typedarray.debug.wat | 2416 +++++++++++---------- tests/compiler/std/typedarray.release.wat | 940 ++++---- 4 files changed, 1728 insertions(+), 1784 deletions(-) diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 4ce37925f2..43b085d82f 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -1349,9 +1349,9 @@ declare abstract class i31 { /** Macro type evaluating to the underlying native WebAssembly type. */ declare type native = T; /** Special type evaluating the indexed access index type. */ -declare type indexof = keyof T; +declare type indexof> = keyof T; /** Special type evaluating the indexed access value type. */ -declare type valueof = T[0]; +declare type valueof> = T[0]; /** A special type evaluated to the return type of T if T is a callable function. */ declare type ReturnType any> = T extends (...args: any) => infer R ? R : any; /** A special type evaluated to the return type of T if T is a callable function. */ @@ -1666,7 +1666,7 @@ declare abstract class TypedArray implements ArrayBufferView { /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */ join(separator?: string): string; /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ - set(source: U, offset?: i32): void + set>(source: U, offset?: i32): void /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */ toString(): string; } diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index eae32f5db3..3459e4db6b 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -82,14 +82,14 @@ export class Int8Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, initialValue: T, ): T { @@ -137,7 +137,7 @@ export class Int8Array extends ArrayBufferView { return this.join(); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -223,14 +223,14 @@ export class Uint8Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, initialValue: T, ): T { @@ -274,7 +274,7 @@ export class Uint8Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -364,14 +364,14 @@ export class Uint8ClampedArray extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, initialValue: T, ): T { @@ -415,7 +415,7 @@ export class Uint8ClampedArray extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -505,14 +505,14 @@ export class Int16Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, initialValue: T, ): T { @@ -556,7 +556,7 @@ export class Int16Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -646,14 +646,14 @@ export class Uint16Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, initialValue: T, ): T { @@ -697,7 +697,7 @@ export class Uint16Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -787,14 +787,14 @@ export class Int32Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, initialValue: T, ): T { @@ -838,7 +838,7 @@ export class Int32Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -928,14 +928,14 @@ export class Uint32Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, initialValue: T, ): T { @@ -979,7 +979,7 @@ export class Uint32Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -1069,14 +1069,14 @@ export class Int64Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, initialValue: T, ): T { @@ -1120,7 +1120,7 @@ export class Int64Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -1210,14 +1210,14 @@ export class Uint64Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, initialValue: T, ): T { @@ -1261,7 +1261,7 @@ export class Uint64Array extends ArrayBufferView { return joinIntegerArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -1351,14 +1351,14 @@ export class Float32Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, initialValue: T, ): T { @@ -1402,7 +1402,7 @@ export class Float32Array extends ArrayBufferView { return joinFloatArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -1492,14 +1492,14 @@ export class Float64Array extends ArrayBufferView { return COPY_WITHIN(this, target, start, end); } - reduce( + reduce( fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, initialValue: T, ): T { return REDUCE(this, fn, initialValue); } - reduceRight( + reduceRight( fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, initialValue: T, ): T { @@ -1543,7 +1543,7 @@ export class Float64Array extends ArrayBufferView { return joinFloatArray(this.dataStart, this.length, separator); } - set(source: U, offset: i32 = 0): void { + set>(source: U, offset: i32 = 0): void { SET>(this, source, offset); } @@ -1608,7 +1608,7 @@ function FILL( // @ts-ignore: decorator @inline -function SLICE( +function SLICE( array: TArray, start: i32, end: i32 @@ -1628,7 +1628,7 @@ function SLICE( // @ts-ignore: decorator @inline -function SUBARRAY( +function SUBARRAY( array: TArray, begin: i32, end: i32 @@ -1649,7 +1649,7 @@ function SUBARRAY( // @ts-ignore: decorator @inline -function COPY_WITHIN( +function COPY_WITHIN( array: TArray, target: i32, start: i32, @@ -1674,7 +1674,7 @@ function COPY_WITHIN( // @ts-ignore: decorator @inline -function REDUCE( +function REDUCE( array: TArray, fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, initialValue: TRet @@ -1688,7 +1688,7 @@ function REDUCE( // @ts-ignore: decorator @inline -function REDUCE_RIGHT( +function REDUCE_RIGHT( array: TArray, fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, initialValue: TRet @@ -1702,7 +1702,7 @@ function REDUCE_RIGHT( // @ts-ignore: decorator @inline -function MAP( +function MAP( array: TArray, fn: (value: T, index: i32, self: TArray) => T, ): TArray { @@ -1727,7 +1727,7 @@ function MAP( // @ts-ignore: decorator @inline -function FILTER( +function FILTER( array: TArray, fn: (value: T, index: i32, self: TArray) => bool, ): TArray { @@ -1757,7 +1757,7 @@ function FILTER( // @ts-ignore: decorator @inline -function FIND_INDEX( +function FIND_INDEX( array: TArray, fn: (value: T, index: i32, array: TArray) => bool, ): i32 { @@ -1770,7 +1770,7 @@ function FIND_INDEX( // @ts-ignore: decorator @inline -function FIND_LAST_INDEX( +function FIND_LAST_INDEX( array: TArray, fn: (value: T, index: i32, array: TArray) => bool, ): i32 { @@ -1783,7 +1783,7 @@ function FIND_LAST_INDEX( // @ts-ignore: decorator @inline -function INCLUDES( +function INCLUDES( array: TArray, searchElement: T, fromIndex: i32, @@ -1808,7 +1808,7 @@ function INCLUDES( // @ts-ignore: decorator @inline -function INDEX_OF( +function INDEX_OF( array: TArray, searchElement: T, fromIndex: i32, @@ -1827,7 +1827,7 @@ function INDEX_OF( // @ts-ignore: decorator @inline -function LAST_INDEX_OF( +function LAST_INDEX_OF( array: TArray, searchElement: T, fromIndex: i32, @@ -1847,7 +1847,7 @@ function LAST_INDEX_OF( // @ts-ignore: decorator @inline -function SOME( +function SOME( array: TArray, fn: (value: T, index: i32, array: TArray) => bool, ): bool { @@ -1860,7 +1860,7 @@ function SOME( // @ts-ignore: decorator @inline -function EVERY( +function EVERY( array: TArray, fn: (value: T, index: i32, array: TArray) => bool, ): bool { @@ -1874,7 +1874,7 @@ function EVERY( // @ts-ignore: decorator @inline -function FOREACH( +function FOREACH( array: TArray, fn: (value: T, index: i32, array: TArray) => void, ): void { @@ -1922,7 +1922,12 @@ function WRAP( // @ts-ignore: decorator @inline -function SET( +function SET< + TArray extends ArrayLike, + T extends number, + UArray extends ArrayLike, + U extends number +>( target: TArray, source: UArray, offset: i32 = 0 @@ -1932,48 +1937,51 @@ function SET target.length) throw new RangeError(E_INDEXOUTOFRANGE); + if (sourceLen + offset > target.length) throw new RangeError(E_INDEXOUTOFRANGE); + + // @ts-ignore: dataStart + var targetStart = target.dataStart + (offset << alignof()); + // @ts-ignore: dataStart + var sourceStart = source.dataStart; // if the types align and match, use memory.copy() instead of manual loop - if (isInteger() == isInteger() && alignof() == alignof() && - !(target instanceof Uint8ClampedArray && isSigned())) { - memory.copy( - target.dataStart + (offset << alignof()), - source.dataStart, - source.byteLength - ); + if ( + isInteger() == isInteger() && + alignof() == alignof() && + !(target instanceof Uint8ClampedArray && isSigned()) + ) { + memory.copy(targetStart, sourceStart, sourceLen << alignof()); } else { - let targetDataStart = target.dataStart + (offset << alignof()); - let sourceDataStart = source.dataStart; - let count = source.length; - for (let i = 0; i < count; i++) { + for (let i = 0; i < sourceLen; i++) { // if TArray is Uint8ClampedArray, then values must be clamped if (target instanceof Uint8ClampedArray) { if (isFloat()) { - let value = load(sourceDataStart + (i << alignof())); + let value = load(sourceStart + (i << alignof())); store( - targetDataStart + (i << alignof()), + targetStart + (i << alignof()), isFinite(value) ? max(0, min(255, value)) : 0 ); } else { - let value = load(sourceDataStart + (i << alignof())); + let value = load(sourceStart + (i << alignof())); if (!isSigned()) { store( - targetDataStart + (i << alignof()), + targetStart + (i << alignof()), // @ts-ignore: cast to T is valid for numeric types here min(255, value) ); } else if (sizeof() <= 4) { store( - targetDataStart + (i << alignof()), + targetStart + (i << alignof()), // @ts-ignore: cast to T is valid for numeric types here ~(value >> 31) & (((255 - value) >> 31) | value) ); } else { store( - targetDataStart + (i << alignof()), + targetStart + (i << alignof()), // @ts-ignore: cast to T is valid for numeric types here ~(value >> 63) & (((255 - value) >> 63) | value) ); @@ -1981,14 +1989,14 @@ function SET() && !isFloat()) { - let value = load(sourceDataStart + (i << alignof())); + let value = load(sourceStart + (i << alignof())); // @ts-ignore: cast to T is valid for numeric types here - store(targetDataStart + (i << alignof()), isFinite(value) ? value : 0); + store(targetStart + (i << alignof()), isFinite(value) ? value : 0); } else if (isFloat() && !isFloat()) { // @ts-ignore: In this case the conversion is required - store(targetDataStart + (i << alignof()), load(sourceDataStart + (i << alignof()))); + store(targetStart + (i << alignof()), load(sourceStart + (i << alignof()))); } else { - store(targetDataStart + (i << alignof()), load(sourceDataStart + (i << alignof()))); + store(targetStart + (i << alignof()), load(sourceStart + (i << alignof()))); } } } diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 103567e5ee..5c25261803 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -23233,19 +23233,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23254,33 +23256,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 2 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -23291,12 +23290,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -23349,19 +23348,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23370,33 +23371,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -23406,14 +23404,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -23455,19 +23453,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23476,33 +23476,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 3 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -23513,12 +23510,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -23555,19 +23552,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23576,33 +23575,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -23612,14 +23608,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -23648,6 +23644,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -23656,19 +23655,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23677,24 +23678,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 0 + i32.shl memory.copy ) (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -23714,19 +23720,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23735,33 +23743,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -23772,12 +23777,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -23796,6 +23801,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -23804,19 +23812,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23825,24 +23835,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 0 + i32.shl memory.copy ) (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -23862,19 +23877,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23883,33 +23900,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 2 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -23920,12 +23934,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -23978,19 +23992,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -23999,33 +24015,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24035,14 +24048,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -24084,19 +24097,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24105,33 +24120,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 3 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24142,12 +24154,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -24180,19 +24192,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24201,33 +24215,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24237,14 +24248,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -24273,6 +24284,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -24281,19 +24295,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24302,24 +24318,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 0 + i32.shl memory.copy ) (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -24339,19 +24360,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24360,33 +24383,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24397,12 +24417,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -24421,6 +24441,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -24429,19 +24452,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24450,24 +24475,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 0 + i32.shl memory.copy ) (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -24488,19 +24518,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24509,33 +24541,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 2 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24544,7 +24573,7 @@ drop i32.const 0 drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -24558,7 +24587,7 @@ i32.const 4 i32.le_u drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -24610,19 +24639,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24631,33 +24662,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24666,14 +24694,14 @@ drop i32.const 1 drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -24720,19 +24748,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24741,33 +24771,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 3 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24776,7 +24803,7 @@ drop i32.const 0 drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -24790,7 +24817,7 @@ i32.const 4 i32.le_u drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -24839,19 +24866,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24860,33 +24889,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -24895,14 +24921,14 @@ drop i32.const 1 drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -24935,6 +24961,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -24943,19 +24972,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -24964,24 +24995,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 0 + i32.shl memory.copy ) (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -25002,19 +25038,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25023,33 +25061,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25058,7 +25093,7 @@ drop i32.const 0 drop - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -25072,7 +25107,7 @@ i32.const 4 i32.le_u drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -25117,19 +25152,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25138,32 +25175,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.eqz + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25172,7 +25206,7 @@ drop i32.const 0 drop - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -25186,7 +25220,7 @@ i32.const 4 i32.le_u drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -25230,19 +25264,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25251,33 +25287,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 2 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25288,12 +25321,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -25348,19 +25381,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25369,33 +25404,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25405,14 +25437,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl @@ -25454,19 +25486,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25475,33 +25509,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 3 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25512,12 +25543,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -25550,19 +25581,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25571,33 +25604,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25607,14 +25637,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl @@ -25656,19 +25686,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25677,33 +25709,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25714,12 +25743,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -25738,6 +25767,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -25746,19 +25778,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25767,24 +25801,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 1 + i32.shl memory.copy ) (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -25804,19 +25843,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25825,33 +25866,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25862,12 +25900,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -25899,19 +25937,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -25920,33 +25960,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 + i32.const 1 + i32.const 2 + i32.eq + drop + i32.const 0 + local.set $9 + loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -25957,12 +25994,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -26017,19 +26054,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26038,33 +26077,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26074,14 +26110,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl @@ -26123,19 +26159,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26144,33 +26182,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 3 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26181,12 +26216,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -26219,19 +26254,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26240,33 +26277,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26276,14 +26310,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl @@ -26325,19 +26359,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26346,33 +26382,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26383,12 +26416,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -26407,6 +26440,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -26415,19 +26451,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26436,24 +26474,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 1 + i32.shl memory.copy ) (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -26473,19 +26516,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26494,33 +26539,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26531,12 +26573,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 1 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -26555,6 +26597,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -26563,19 +26608,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26584,24 +26631,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 2 + i32.shl memory.copy ) (func $~lib/typedarray/Int32Array#__uget (param $0 i32) (param $1 i32) (result i32) @@ -26640,19 +26692,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26661,33 +26715,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26697,14 +26748,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl @@ -26746,19 +26797,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26767,33 +26820,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 3 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26804,12 +26854,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -26842,19 +26892,21 @@ local.set $3 i32.const 0 drop - local.get $3 - i32.const 0 + local.get $4 + call $~lib/array/Array#get:length + local.set $6 + local.get $3 + i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26863,33 +26915,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -26899,14 +26948,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl @@ -26948,19 +26997,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -26969,33 +27020,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27006,12 +27054,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -27043,19 +27091,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27064,33 +27114,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 1 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27101,12 +27148,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -27138,19 +27185,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27159,33 +27208,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27196,12 +27242,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -27220,6 +27266,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -27228,19 +27277,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27249,24 +27300,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 2 + i32.shl memory.copy ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) @@ -27309,19 +27365,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27330,33 +27388,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27366,14 +27421,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl @@ -27415,19 +27470,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27436,33 +27493,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 3 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 3 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27473,12 +27527,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -27511,19 +27565,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27532,33 +27588,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27568,14 +27621,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl @@ -27617,19 +27670,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27638,33 +27693,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27675,12 +27727,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -27712,19 +27764,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27733,33 +27787,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 1 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27770,12 +27821,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -27807,19 +27858,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27828,33 +27881,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 2 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27865,12 +27915,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -27902,19 +27952,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -27923,33 +27975,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 2 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -27960,12 +28009,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -28020,19 +28069,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28041,33 +28092,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28077,14 +28125,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl @@ -28113,6 +28161,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -28121,19 +28172,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28142,24 +28195,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 3 + i32.shl memory.copy ) (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -28180,19 +28238,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28201,33 +28261,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28237,14 +28294,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl @@ -28286,19 +28343,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28307,33 +28366,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28344,12 +28400,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -28381,19 +28437,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28402,33 +28460,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 1 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28439,12 +28494,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -28476,19 +28531,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28497,33 +28554,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28534,12 +28588,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -28571,19 +28625,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28592,33 +28648,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 2 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28629,12 +28682,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -28689,19 +28742,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28710,33 +28765,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28746,14 +28798,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl @@ -28782,6 +28834,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -28790,19 +28845,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28811,24 +28868,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 3 + i32.shl memory.copy ) (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -28849,19 +28911,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28870,33 +28934,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -28906,14 +28967,14 @@ i32.const 0 i32.eqz drop - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl @@ -28955,19 +29016,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -28976,33 +29039,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29013,12 +29073,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -29050,19 +29110,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29071,33 +29133,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 1 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29108,12 +29167,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -29145,19 +29204,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29166,33 +29227,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29203,12 +29261,12 @@ drop i32.const 0 drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -29240,19 +29298,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29261,33 +29321,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29299,12 +29356,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -29342,6 +29399,9 @@ (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 local.set $5 local.get $1 @@ -29350,19 +29410,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29371,24 +29433,29 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.eqz - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add + local.set $7 local.get $4 i32.load offset=4 - local.get $4 - i32.load offset=8 + local.set $8 + i32.const 0 + i32.eqz + drop + local.get $7 + local.get $8 + local.get $6 + i32.const 2 + i32.shl memory.copy ) (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) @@ -29408,19 +29475,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29429,33 +29498,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29467,12 +29533,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -29505,19 +29571,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29526,33 +29594,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29564,12 +29629,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -29602,19 +29667,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29623,33 +29690,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29661,12 +29725,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -29699,19 +29763,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29720,33 +29786,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 2 i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 + i32.add local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29758,12 +29821,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -29796,19 +29859,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29817,33 +29882,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29855,12 +29917,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -29911,19 +29973,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -29932,33 +29996,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 + i32.const 3 + i32.const 2 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -29971,12 +30032,12 @@ i32.const 1 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -30009,19 +30070,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int64Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30030,33 +30093,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int64Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30068,12 +30128,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl @@ -30106,19 +30166,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30127,33 +30189,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint8Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30165,12 +30224,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -30203,19 +30262,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int16Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30224,33 +30285,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int16Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30262,12 +30320,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 1 i32.shl @@ -30300,19 +30358,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/array/Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/array/Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30321,33 +30381,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/array/Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30359,12 +30416,12 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - local.get $7 + local.get $8 local.get $9 i32.const 0 i32.shl @@ -30398,19 +30455,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Float32Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Float32Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30419,33 +30478,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Float32Array#get:length + i32.load offset=4 local.set $8 + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30454,14 +30510,14 @@ drop i32.const 1 drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load local.set $11 - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -30508,19 +30564,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Int32Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30529,33 +30587,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Int32Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 2 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30564,7 +30619,7 @@ drop i32.const 0 drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -30578,7 +30633,7 @@ i32.const 4 i32.le_u drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl @@ -30625,19 +30680,21 @@ local.set $3 i32.const 0 drop + local.get $4 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 local.get $3 i32.const 0 i32.lt_s if i32.const 336 i32.const 608 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/typedarray/Uint32Array#get:length + local.get $6 local.get $3 i32.add local.get $5 @@ -30646,33 +30703,30 @@ if i32.const 336 i32.const 608 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - i32.eq - drop local.get $5 i32.load offset=4 local.get $3 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 local.set $7 local.get $4 - call $~lib/typedarray/Uint32Array#get:length + i32.load offset=4 local.set $8 i32.const 0 + i32.const 2 + i32.eq + drop + i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $6 i32.lt_s local.set $10 local.get $10 @@ -30681,7 +30735,7 @@ drop i32.const 0 drop - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl @@ -30691,7 +30745,7 @@ i32.const 0 i32.eqz drop - local.get $6 + local.get $7 local.get $9 i32.const 0 i32.shl diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 8dfa871504..66de1f5195 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -26464,33 +26464,31 @@ (local $3 i32) i32.const 11020 i32.load + local.tee $2 local.get $0 i32.load offset=8 i32.gt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 - local.set $2 + local.set $0 i32.const 11012 i32.load local.set $3 - i32.const 11020 - i32.load - local.set $0 loop $for-loop|0 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if + local.get $0 local.get $1 - local.get $2 i32.add local.get $3 local.get $1 @@ -26516,14 +26514,15 @@ i32.load offset=8 i32.const 3 i32.shr_u + local.tee $3 i32.const 6 i32.add i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26534,21 +26533,16 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.add - local.get $3 + local.get $1 local.get $2 i32.const 3 i32.shl @@ -26564,16 +26558,18 @@ end ) (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (local $2 i32) local.get $1 i32.load offset=8 + local.tee $2 local.get $0 i32.load offset=8 i32.gt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26581,8 +26577,7 @@ i32.load offset=4 local.get $1 i32.load offset=4 - local.get $1 - i32.load offset=8 + local.get $2 memory.copy ) (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) @@ -26594,14 +26589,15 @@ i32.load offset=8 i32.const 1 i32.shr_u + local.tee $3 i32.const 4 i32.add i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26612,21 +26608,16 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.add - local.get $3 + local.get $1 local.get $2 i32.const 1 i32.shl @@ -26642,18 +26633,20 @@ end ) (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) + (local $1 i32) local.get $0 i32.load offset=8 i32.const 11276 i32.load + local.tee $1 i32.const 7 i32.add i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26663,39 +26656,40 @@ i32.add i32.const 11268 i32.load - i32.const 11272 - i32.load + local.get $1 memory.copy ) (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) + (local $4 i32) + (local $5 i64) + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $4 local.get $2 i32.const 0 i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u local.get $2 + local.get $4 i32.add i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26703,44 +26697,39 @@ i32.load offset=4 local.get $2 i32.add - local.set $2 + local.set $0 local.get $1 i32.load offset=4 - local.set $5 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $3 - i32.gt_s + local.get $4 + i32.lt_s if - local.get $2 + local.get $0 local.get $3 i32.add - local.get $5 + local.get $1 local.get $3 i32.const 3 i32.shl i32.add i64.load - local.tee $4 + local.tee $5 i32.wrap_i64 - local.tee $0 + local.tee $2 i32.const 31 i32.shr_s i32.const -1 i32.xor i64.extend_i32_s i32.const 255 - local.get $0 + local.get $2 i32.sub i32.const 31 i32.shr_s i64.extend_i32_s - local.get $4 + local.get $5 i64.or i64.and i64.store8 @@ -26755,31 +26744,33 @@ (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 local.get $2 i32.const 0 i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u local.get $2 + local.get $4 i32.add i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26787,37 +26778,32 @@ i32.load offset=4 local.get $2 i32.add - local.set $2 + local.set $0 local.get $1 i32.load offset=4 - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $3 - i32.gt_s + local.get $4 + i32.lt_s if - local.get $2 + local.get $0 local.get $3 i32.add - local.get $4 + local.get $1 local.get $3 i32.const 1 i32.shl i32.add i32.load16_s - local.tee $0 + local.tee $2 i32.const 255 - local.get $0 + local.get $2 i32.sub i32.const 31 i32.shr_s i32.or - local.get $0 + local.get $2 i32.const 31 i32.shr_s i32.const -1 @@ -26838,6 +26824,7 @@ (local $3 i32) i32.const 11020 i32.load + local.tee $2 local.get $0 i32.load offset=8 i32.const 1 @@ -26846,26 +26833,23 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 - local.set $2 + local.set $0 i32.const 11012 i32.load local.set $3 - i32.const 11020 - i32.load - local.set $0 loop $for-loop|0 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $2 + local.get $0 local.get $1 i32.const 1 i32.shl @@ -26892,6 +26876,7 @@ i32.load offset=8 i32.const 3 i32.shr_u + local.tee $3 i32.const 6 i32.add local.get $0 @@ -26902,8 +26887,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26914,23 +26899,18 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $3 + local.get $1 local.get $2 i32.const 3 i32.shl @@ -26950,6 +26930,7 @@ (local $3 i32) local.get $1 i32.load offset=8 + local.tee $3 local.get $0 i32.load offset=8 i32.const 1 @@ -26958,8 +26939,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -26968,22 +26949,19 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 1 i32.shl i32.add + local.get $1 local.get $2 - local.get $3 i32.add i32.load8_u i32.store16 @@ -26996,10 +26974,12 @@ end ) (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (local $2 i32) local.get $1 i32.load offset=8 i32.const 1 i32.shr_u + local.tee $2 i32.const 4 i32.add local.get $0 @@ -27010,8 +26990,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27021,8 +27001,9 @@ i32.add local.get $1 i32.load offset=4 - local.get $1 - i32.load offset=8 + local.get $2 + i32.const 1 + i32.shl memory.copy ) (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) @@ -27031,6 +27012,7 @@ (local $3 i32) i32.const 11276 i32.load + local.tee $2 i32.const 7 i32.add local.get $0 @@ -27041,8 +27023,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27050,19 +27032,16 @@ i32.load offset=4 i32.const 14 i32.add - local.set $2 + local.set $0 i32.const 11268 i32.load local.set $3 - i32.const 11276 - i32.load - local.set $0 loop $for-loop|0 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $2 + local.get $0 local.get $1 i32.const 1 i32.shl @@ -27081,20 +27060,23 @@ end ) (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=12 + local.set $3 local.get $2 i32.const 0 i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1936 + i32.const 1943 i32.const 19 call $~lib/builtins/abort unreachable end - local.get $1 - i32.load offset=12 local.get $2 + local.get $3 i32.add local.get $0 i32.load offset=8 @@ -27104,8 +27086,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27117,8 +27099,9 @@ i32.add local.get $1 i32.load offset=4 - local.get $1 - i32.load offset=8 + local.get $3 + i32.const 2 + i32.shl memory.copy ) (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) @@ -27128,6 +27111,7 @@ i32.load offset=8 i32.const 3 i32.shr_u + local.tee $3 i32.const 6 i32.add local.get $0 @@ -27138,8 +27122,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27150,23 +27134,18 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 2 i32.shl i32.add - local.get $3 + local.get $1 local.get $2 i32.const 3 i32.shl @@ -27186,6 +27165,7 @@ (local $3 i32) local.get $1 i32.load offset=8 + local.tee $3 local.get $0 i32.load offset=8 i32.const 2 @@ -27194,8 +27174,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27204,22 +27184,19 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 2 i32.shl i32.add + local.get $1 local.get $2 - local.get $3 i32.add i32.load8_u i32.store @@ -27238,6 +27215,7 @@ i32.load offset=8 i32.const 1 i32.shr_u + local.tee $3 i32.const 4 i32.add local.get $0 @@ -27248,8 +27226,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27260,23 +27238,18 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 2 i32.shl i32.add - local.get $3 + local.get $1 local.get $2 i32.const 1 i32.shl @@ -27297,6 +27270,7 @@ (local $3 i32) i32.const 11276 i32.load + local.tee $2 i32.const 7 i32.add local.get $0 @@ -27307,8 +27281,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27316,19 +27290,16 @@ i32.load offset=4 i32.const 28 i32.add - local.set $2 + local.set $0 i32.const 11268 i32.load local.set $3 - i32.const 11276 - i32.load - local.set $0 loop $for-loop|0 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $2 + local.get $0 local.get $1 i32.const 2 i32.shl @@ -27352,6 +27323,7 @@ (local $3 i32) i32.const 11020 i32.load + local.tee $2 local.get $0 i32.load offset=8 i32.const 3 @@ -27360,26 +27332,23 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 - local.set $2 + local.set $0 i32.const 11012 i32.load local.set $3 - i32.const 11020 - i32.load - local.set $0 loop $for-loop|0 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $2 + local.get $0 local.get $1 i32.const 3 i32.shl @@ -27400,10 +27369,12 @@ end ) (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + (local $2 i32) local.get $1 i32.load offset=8 i32.const 3 i32.shr_u + local.tee $2 i32.const 6 i32.add local.get $0 @@ -27414,8 +27385,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27425,8 +27396,9 @@ i32.add local.get $1 i32.load offset=4 - local.get $1 - i32.load offset=8 + local.get $2 + i32.const 3 + i32.shl memory.copy ) (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) @@ -27434,6 +27406,7 @@ (local $3 i32) local.get $1 i32.load offset=8 + local.tee $3 local.get $0 i32.load offset=8 i32.const 3 @@ -27442,8 +27415,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27452,22 +27425,19 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 3 i32.shl i32.add + local.get $1 local.get $2 - local.get $3 i32.add i64.load8_u i64.store @@ -27486,6 +27456,7 @@ i32.load offset=8 i32.const 1 i32.shr_u + local.tee $3 i32.const 4 i32.add local.get $0 @@ -27496,8 +27467,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27508,23 +27479,18 @@ local.set $0 local.get $1 i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u local.set $1 loop $for-loop|0 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s if local.get $0 local.get $2 i32.const 3 i32.shl i32.add - local.get $3 + local.get $1 local.get $2 i32.const 1 i32.shl @@ -27545,6 +27511,7 @@ (local $3 i32) i32.const 11276 i32.load + local.tee $2 i32.const 7 i32.add local.get $0 @@ -27555,8 +27522,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end @@ -27564,19 +27531,16 @@ i32.load offset=4 i32.const 56 i32.add - local.set $2 + local.set $0 i32.const 11268 i32.load local.set $3 - i32.const 11276 - i32.load - local.set $0 loop $for-loop|0 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $2 + local.get $0 local.get $1 i32.const 3 i32.shl @@ -38205,6 +38169,7 @@ i32.load offset=8 i32.const 11100 i32.load + local.tee $8 i32.const 3 i32.add i32.lt_s @@ -38213,22 +38178,19 @@ i32.load offset=4 i32.const 3 i32.add - local.set $8 - i32.const 11092 - i32.load local.set $5 - i32.const 11100 + i32.const 11092 i32.load local.set $9 loop $for-loop|0 local.get $0 - local.get $9 + local.get $8 i32.lt_s if local.get $0 - local.get $8 - i32.add local.get $5 + i32.add + local.get $9 local.get $0 i32.const 2 i32.shl @@ -38285,6 +38247,7 @@ i32.load offset=8 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add i32.lt_s @@ -38293,24 +38256,21 @@ i32.load offset=4 i32.const 2 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $6 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $8 + local.get $5 i32.lt_s if local.get $0 - local.get $5 - i32.add local.get $6 + i32.add + local.get $8 local.get $0 i32.const 3 i32.shl @@ -38330,7 +38290,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -38376,8 +38336,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -38586,6 +38546,7 @@ i32.load offset=8 i32.const 11100 i32.load + local.tee $8 i32.const 3 i32.add i32.lt_s @@ -38594,22 +38555,19 @@ i32.load offset=4 i32.const 3 i32.add - local.set $8 - i32.const 11092 - i32.load local.set $5 - i32.const 11100 + i32.const 11092 i32.load local.set $9 loop $for-loop|0 local.get $0 - local.get $9 + local.get $8 i32.lt_s if local.get $0 - local.get $8 - i32.add local.get $5 + i32.add + local.get $9 local.get $0 i32.const 2 i32.shl @@ -38666,6 +38624,7 @@ i32.load offset=8 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add i32.lt_s @@ -38674,24 +38633,21 @@ i32.load offset=4 i32.const 2 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $6 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $8 + local.get $5 i32.lt_s if local.get $0 - local.get $5 - i32.add local.get $6 + i32.add + local.get $8 local.get $0 i32.const 3 i32.shl @@ -38711,7 +38667,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -38757,8 +38713,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -38947,31 +38903,29 @@ i32.const 11008 i32.store offset=16 block $folding-inner1 - local.get $7 - i32.load offset=8 i32.const 11020 i32.load - i32.lt_s + local.tee $8 + local.get $7 + i32.load offset=8 + i32.gt_s br_if $folding-inner1 local.get $7 i32.load offset=4 - local.set $8 - i32.const 11012 - i32.load local.set $9 - i32.const 11020 + i32.const 11012 i32.load local.set $10 loop $for-loop|0 local.get $0 - local.get $10 + local.get $8 i32.lt_s if local.get $0 - local.get $8 + local.get $9 i32.add i32.const 255 - local.get $9 + local.get $10 local.get $0 i32.const 2 i32.shl @@ -39016,6 +38970,7 @@ i32.load offset=8 i32.const 11100 i32.load + local.tee $3 i32.const 3 i32.add i32.lt_s @@ -39024,26 +38979,23 @@ i32.load offset=4 i32.const 3 i32.add - local.set $3 - i32.const 11092 - i32.load local.set $8 - i32.const 11100 + i32.const 11092 i32.load local.set $9 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $9 + local.get $3 i32.lt_s if local.get $0 - local.get $3 + local.get $8 i32.add f32.const 0 f32.const 255 - local.get $8 + local.get $9 local.get $0 i32.const 2 i32.shl @@ -39065,7 +39017,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -39103,6 +39055,7 @@ i32.load offset=8 i32.const 11196 i32.load + local.tee $3 i32.const 2 i32.add i32.lt_s @@ -39111,26 +39064,23 @@ i32.load offset=4 i32.const 2 i32.add - local.set $3 - i32.const 11188 - i32.load local.set $4 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|011 + loop $for-loop|08 local.get $0 - local.get $8 + local.get $3 i32.lt_s if local.get $0 - local.get $3 + local.get $4 i32.add f64.const 0 f64.const 255 - local.get $4 + local.get $8 local.get $0 i32.const 3 i32.shl @@ -39152,7 +39102,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|011 + br $for-loop|08 end end i32.const 10 @@ -39181,6 +39131,7 @@ i32.load offset=8 i32.const 11276 i32.load + local.tee $3 i32.const 7 i32.add i32.lt_s @@ -39189,26 +39140,23 @@ i32.load offset=4 i32.const 7 i32.add - local.set $3 - i32.const 11268 - i32.load local.set $4 - i32.const 11276 + i32.const 11268 i32.load local.set $5 i32.const 0 local.set $0 - loop $for-loop|017 + loop $for-loop|013 local.get $0 - local.get $5 + local.get $3 i32.lt_s if local.get $0 - local.get $3 + local.get $4 i32.add i32.const 255 local.get $0 - local.get $4 + local.get $5 i32.add i32.load8_s local.tee $6 @@ -39228,7 +39176,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|013 end end i32.const 10 @@ -39251,8 +39199,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -39464,6 +39412,7 @@ block $folding-inner1 i32.const 11100 i32.load + local.tee $8 i32.const 3 i32.add local.get $4 @@ -39476,24 +39425,21 @@ i32.load offset=4 i32.const 6 i32.add - local.set $8 - i32.const 11092 - i32.load local.set $5 - i32.const 11100 + i32.const 11092 i32.load local.set $9 loop $for-loop|0 local.get $0 - local.get $9 + local.get $8 i32.lt_s if - local.get $8 + local.get $5 local.get $0 i32.const 1 i32.shl i32.add - local.get $5 + local.get $9 local.get $0 i32.const 2 i32.shl @@ -39548,6 +39494,7 @@ i32.store offset=16 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add local.get $4 @@ -39560,26 +39507,23 @@ i32.load offset=4 i32.const 4 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $6 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $8 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 1 i32.shl i32.add - local.get $6 + local.get $8 local.get $0 i32.const 3 i32.shl @@ -39599,7 +39543,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -39645,8 +39589,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -39858,6 +39802,7 @@ block $folding-inner1 i32.const 11100 i32.load + local.tee $8 i32.const 3 i32.add local.get $4 @@ -39870,24 +39815,21 @@ i32.load offset=4 i32.const 6 i32.add - local.set $8 - i32.const 11092 - i32.load local.set $5 - i32.const 11100 + i32.const 11092 i32.load local.set $9 loop $for-loop|0 local.get $0 - local.get $9 + local.get $8 i32.lt_s if - local.get $8 + local.get $5 local.get $0 i32.const 1 i32.shl i32.add - local.get $5 + local.get $9 local.get $0 i32.const 2 i32.shl @@ -39942,6 +39884,7 @@ i32.store offset=16 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add local.get $4 @@ -39954,26 +39897,23 @@ i32.load offset=4 i32.const 4 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $6 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $8 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 1 i32.shl i32.add - local.get $6 + local.get $8 local.get $0 i32.const 3 i32.shl @@ -39993,7 +39933,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -40039,8 +39979,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -40255,6 +40195,7 @@ block $folding-inner1 i32.const 11100 i32.load + local.tee $5 i32.const 3 i32.add local.get $4 @@ -40267,19 +40208,16 @@ i32.load offset=4 i32.const 12 i32.add - local.set $5 - i32.const 11092 - i32.load local.set $9 - i32.const 11100 + i32.const 11092 i32.load local.set $10 loop $for-loop|0 local.get $0 - local.get $10 + local.get $5 i32.lt_s if - local.get $9 + local.get $10 local.get $0 i32.const 2 i32.shl @@ -40287,8 +40225,8 @@ i32.add f32.load local.set $2 - local.get $5 local.get $6 + local.get $9 i32.add local.get $2 i32.trunc_sat_f32_s @@ -40339,6 +40277,7 @@ i32.store offset=16 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add local.get $4 @@ -40351,26 +40290,23 @@ i32.load offset=4 i32.const 8 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $6 - i32.const 11196 + i32.const 11188 i32.load local.set $7 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $7 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 2 i32.shl i32.add - local.get $6 + local.get $7 local.get $0 i32.const 3 i32.shl @@ -40390,7 +40326,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -40436,8 +40372,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -40652,6 +40588,7 @@ block $folding-inner1 i32.const 11100 i32.load + local.tee $5 i32.const 3 i32.add local.get $4 @@ -40664,19 +40601,16 @@ i32.load offset=4 i32.const 12 i32.add - local.set $5 - i32.const 11092 - i32.load local.set $9 - i32.const 11100 + i32.const 11092 i32.load local.set $10 loop $for-loop|0 local.get $0 - local.get $10 + local.get $5 i32.lt_s if - local.get $9 + local.get $10 local.get $0 i32.const 2 i32.shl @@ -40684,8 +40618,8 @@ i32.add f32.load local.set $2 - local.get $5 local.get $6 + local.get $9 i32.add local.get $2 i32.trunc_sat_f32_u @@ -40736,6 +40670,7 @@ i32.store offset=16 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add local.get $4 @@ -40748,26 +40683,23 @@ i32.load offset=4 i32.const 8 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $6 - i32.const 11196 + i32.const 11188 i32.load local.set $7 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $7 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 2 i32.shl i32.add - local.get $6 + local.get $7 local.get $0 i32.const 3 i32.shl @@ -40787,7 +40719,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -40833,8 +40765,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -41047,6 +40979,7 @@ block $folding-inner1 i32.const 11100 i32.load + local.tee $7 i32.const 3 i32.add local.get $4 @@ -41059,24 +40992,21 @@ i32.load offset=4 i32.const 24 i32.add - local.set $7 - i32.const 11092 - i32.load local.set $8 - i32.const 11100 + i32.const 11092 i32.load local.set $9 loop $for-loop|0 local.get $0 - local.get $9 + local.get $7 i32.lt_s if - local.get $7 + local.get $8 local.get $0 i32.const 3 i32.shl i32.add - local.get $8 + local.get $9 local.get $0 i32.const 2 i32.shl @@ -41131,6 +41061,7 @@ i32.store offset=16 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add local.get $4 @@ -41143,21 +41074,18 @@ i32.load offset=4 i32.const 16 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $7 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $8 + local.get $5 i32.lt_s if - local.get $7 + local.get $8 local.get $0 i32.const 3 i32.shl @@ -41165,7 +41093,7 @@ i32.add f64.load local.set $2 - local.get $5 + local.get $7 local.get $9 i32.add local.get $2 @@ -41182,7 +41110,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -41228,8 +41156,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -41442,6 +41370,7 @@ block $folding-inner1 i32.const 11100 i32.load + local.tee $7 i32.const 3 i32.add local.get $4 @@ -41454,24 +41383,21 @@ i32.load offset=4 i32.const 24 i32.add - local.set $7 - i32.const 11092 - i32.load local.set $8 - i32.const 11100 + i32.const 11092 i32.load local.set $9 loop $for-loop|0 local.get $0 - local.get $9 + local.get $7 i32.lt_s if - local.get $7 + local.get $8 local.get $0 i32.const 3 i32.shl i32.add - local.get $8 + local.get $9 local.get $0 i32.const 2 i32.shl @@ -41526,6 +41452,7 @@ i32.store offset=16 i32.const 11196 i32.load + local.tee $5 i32.const 2 i32.add local.get $4 @@ -41538,21 +41465,18 @@ i32.load offset=4 i32.const 16 i32.add - local.set $5 - i32.const 11188 - i32.load local.set $7 - i32.const 11196 + i32.const 11188 i32.load local.set $8 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $8 + local.get $5 i32.lt_s if - local.get $7 + local.get $8 local.get $0 i32.const 3 i32.shl @@ -41560,7 +41484,7 @@ i32.add f64.load local.set $2 - local.get $5 + local.get $7 local.get $9 i32.add local.get $2 @@ -41577,7 +41501,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -41623,8 +41547,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -41821,6 +41745,7 @@ block $folding-inner1 i32.const 11020 i32.load + local.tee $6 local.get $8 i32.load offset=8 i32.const 2 @@ -41829,26 +41754,23 @@ br_if $folding-inner1 local.get $8 i32.load offset=4 - local.set $6 - i32.const 11012 - i32.load local.set $9 - i32.const 11020 + i32.const 11012 i32.load local.set $10 loop $for-loop|0 local.get $2 - local.get $10 + local.get $6 i32.lt_s if - local.get $6 + local.get $9 local.get $2 i32.const 2 i32.shl local.tee $7 i32.add local.get $7 - local.get $9 + local.get $10 i32.add i32.load f32.convert_i32_s @@ -41895,6 +41817,7 @@ i32.load offset=8 i32.const 3 i32.shr_u + local.tee $2 i32.const 6 i32.add local.get $8 @@ -41907,26 +41830,21 @@ i32.load offset=4 i32.const 24 i32.add - local.set $2 - local.get $3 - i32.load offset=4 local.set $6 local.get $3 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.load offset=4 local.set $3 loop $for-loop|02 local.get $1 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $6 local.get $1 i32.const 2 i32.shl i32.add - local.get $6 + local.get $3 local.get $1 i32.const 3 i32.shl @@ -41955,6 +41873,7 @@ call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> local.get $4 i32.load offset=8 + local.tee $1 local.get $8 i32.load offset=8 i32.const 2 @@ -41963,25 +41882,22 @@ br_if $folding-inner1 local.get $8 i32.load offset=4 - local.set $1 - local.get $4 - i32.load offset=4 local.set $2 local.get $4 - i32.load offset=8 + i32.load offset=4 local.set $3 loop $for-loop|06 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add local.get $0 - local.get $2 + local.get $3 i32.add i32.load8_u f32.convert_i32_u @@ -41997,6 +41913,7 @@ i32.load offset=8 i32.const 1 i32.shr_u + local.tee $1 i32.const 4 i32.add local.get $8 @@ -42009,28 +41926,23 @@ i32.load offset=4 i32.const 16 i32.add - local.set $1 - local.get $5 - i32.load offset=4 local.set $2 local.get $5 - i32.load offset=8 - i32.const 1 - i32.shr_u + i32.load offset=4 local.set $3 i32.const 0 local.set $0 loop $for-loop|010 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add - local.get $2 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -42050,6 +41962,7 @@ i32.store offset=16 i32.const 11276 i32.load + local.tee $1 i32.const 7 i32.add local.get $8 @@ -42062,27 +41975,24 @@ i32.load offset=4 i32.const 28 i32.add - local.set $1 - i32.const 11268 - i32.load local.set $2 - i32.const 11276 + i32.const 11268 i32.load local.set $3 i32.const 0 local.set $0 - loop $for-loop|016 + loop $for-loop|015 local.get $0 - local.get $3 + local.get $1 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add local.get $0 - local.get $2 + local.get $3 i32.add i32.load8_s f32.convert_i32_s @@ -42091,7 +42001,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|016 + br $for-loop|015 end end i32.const 10 @@ -42114,8 +42024,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -42307,6 +42217,7 @@ block $folding-inner1 i32.const 11020 i32.load + local.tee $5 local.get $1 i32.load offset=8 i32.const 3 @@ -42315,24 +42226,21 @@ br_if $folding-inner1 local.get $1 i32.load offset=4 - local.set $5 - i32.const 11012 - i32.load local.set $6 - i32.const 11020 + i32.const 11012 i32.load local.set $7 loop $for-loop|0 local.get $0 - local.get $7 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 3 i32.shl i32.add - local.get $6 + local.get $7 local.get $0 i32.const 2 i32.shl @@ -42364,6 +42272,7 @@ i32.store offset=16 i32.const 11100 i32.load + local.tee $5 i32.const 3 i32.add local.get $1 @@ -42376,26 +42285,23 @@ i32.load offset=4 i32.const 24 i32.add - local.set $5 - i32.const 11092 - i32.load local.set $6 - i32.const 11100 + i32.const 11092 i32.load local.set $7 i32.const 0 local.set $0 - loop $for-loop|05 + loop $for-loop|03 local.get $0 - local.get $7 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 3 i32.shl i32.add - local.get $6 + local.get $7 local.get $0 i32.const 2 i32.shl @@ -42407,7 +42313,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|05 + br $for-loop|03 end end i32.const 10 @@ -42426,6 +42332,7 @@ i32.load offset=8 i32.const 3 i32.shr_u + local.tee $5 i32.const 6 i32.add local.get $1 @@ -42438,29 +42345,24 @@ i32.load offset=4 i32.const 48 i32.add - local.set $5 - local.get $2 - i32.load offset=4 local.set $6 local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.load offset=4 local.set $2 i32.const 0 local.set $0 - loop $for-loop|09 + loop $for-loop|07 local.get $0 - local.get $2 + local.get $5 i32.lt_s if - local.get $5 + local.get $6 local.get $0 i32.const 3 i32.shl local.tee $7 i32.add - local.get $6 + local.get $2 local.get $7 i32.add i64.load @@ -42470,7 +42372,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|09 + br $for-loop|07 end end i32.const 10 @@ -42487,6 +42389,7 @@ call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $3 i32.load offset=8 + local.tee $2 local.get $1 i32.load offset=8 i32.const 3 @@ -42495,27 +42398,24 @@ br_if $folding-inner1 local.get $1 i32.load offset=4 - local.set $2 - local.get $3 - i32.load offset=4 local.set $5 local.get $3 - i32.load offset=8 + i32.load offset=4 local.set $3 i32.const 0 local.set $0 - loop $for-loop|013 + loop $for-loop|011 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $5 local.get $0 i32.const 3 i32.shl i32.add local.get $0 - local.get $5 + local.get $3 i32.add i32.load8_u f64.convert_i32_u @@ -42524,13 +42424,14 @@ i32.const 1 i32.add local.set $0 - br $for-loop|013 + br $for-loop|011 end end local.get $4 i32.load offset=8 i32.const 1 i32.shr_u + local.tee $2 i32.const 4 i32.add local.get $1 @@ -42543,28 +42444,23 @@ i32.load offset=4 i32.const 32 i32.add - local.set $2 - local.get $4 - i32.load offset=4 local.set $3 local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u + i32.load offset=4 local.set $4 i32.const 0 local.set $0 - loop $for-loop|017 + loop $for-loop|015 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 3 i32.shl i32.add - local.get $3 + local.get $4 local.get $0 i32.const 1 i32.shl @@ -42576,7 +42472,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|015 end end global.get $~lib/memory/__stack_pointer @@ -42584,6 +42480,7 @@ i32.store offset=16 i32.const 11276 i32.load + local.tee $2 i32.const 7 i32.add local.get $1 @@ -42596,27 +42493,24 @@ i32.load offset=4 i32.const 56 i32.add - local.set $2 - i32.const 11268 - i32.load local.set $3 - i32.const 11276 + i32.const 11268 i32.load local.set $4 i32.const 0 local.set $0 - loop $for-loop|023 + loop $for-loop|020 local.get $0 - local.get $4 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 3 i32.shl i32.add local.get $0 - local.get $3 + local.get $4 i32.add i32.load8_s f64.convert_i32_s @@ -42625,7 +42519,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|023 + br $for-loop|020 end end i32.const 10 @@ -42648,8 +42542,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable ) @@ -60146,6 +60040,7 @@ i32.load offset=8 i32.const 2 i32.shr_u + local.tee $3 i32.const 1 i32.add i32.lt_s @@ -60154,28 +60049,23 @@ i32.load offset=4 i32.const 1 i32.add - local.set $3 - local.get $0 - i32.load offset=4 local.set $2 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u + i32.load offset=4 local.set $0 i32.const 0 local.set $1 - loop $for-loop|0193 - local.get $0 + loop $for-loop|0192 local.get $1 - i32.gt_s + local.get $3 + i32.lt_s if local.get $1 - local.get $3 + local.get $2 i32.add f32.const 0 f32.const 255 - local.get $2 + local.get $0 local.get $1 i32.const 2 i32.shl @@ -60197,7 +60087,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|0193 + br $for-loop|0192 end end local.get $7 @@ -60210,6 +60100,7 @@ i32.load offset=8 i32.const 2 i32.shr_u + local.tee $4 i32.const 8 i32.add i32.lt_s @@ -60218,27 +60109,22 @@ i32.load offset=4 i32.const 8 i32.add - local.set $4 - local.get $5 - i32.load offset=4 local.set $3 local.get $5 - i32.load offset=8 - i32.const 2 - i32.shr_u + i32.load offset=4 local.set $2 i32.const 0 local.set $1 - loop $for-loop|0199 + loop $for-loop|0197 local.get $1 - local.get $2 + local.get $4 i32.lt_s if local.get $1 - local.get $4 + local.get $3 i32.add i32.const 255 - local.get $3 + local.get $2 local.get $1 i32.const 2 i32.shl @@ -60261,7 +60147,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|0199 + br $for-loop|0197 end end i32.const 10 @@ -60318,37 +60204,33 @@ i32.const 3 i32.const 300 call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.load offset=8 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - i32.lt_s + local.tee $4 + local.get $7 + i32.load offset=8 + i32.gt_s br_if $folding-inner22 local.get $7 i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=4 local.set $3 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u + i32.load offset=4 local.set $2 i32.const 0 local.set $1 - loop $for-loop|0205 + loop $for-loop|0202 local.get $1 - local.get $2 + local.get $4 i32.lt_s if local.get $1 - local.get $4 + local.get $3 i32.add i32.const 255 - local.get $3 + local.get $2 local.get $1 i32.const 2 i32.shl @@ -60364,7 +60246,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|0205 + br $for-loop|0202 end end local.get $7 @@ -61737,12 +61619,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|0209 + loop $while-continue|0206 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|0209 + br $while-continue|0206 end end end @@ -61858,8 +61740,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1937 - i32.const 47 + i32.const 1944 + i32.const 43 call $~lib/builtins/abort unreachable end From 21e3f6815e0bf31cfcfa313c1e467aa7997c4b6f Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 27 Jul 2022 22:33:03 +0300 Subject: [PATCH 2/5] more --- std/assembly/typedarray.ts | 9 +- tests/compiler/std/typedarray.debug.wat | 2036 +++++++++------------ tests/compiler/std/typedarray.release.wat | 668 ++++--- 3 files changed, 1193 insertions(+), 1520 deletions(-) diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 3459e4db6b..95e5803362 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -1936,18 +1936,15 @@ function SET< if (isReference()) { ERROR(E_NOTIMPLEMENTED); } - let sourceLen = source.length; - // Uncaught RangeError: offset is out of bounds - if (offset < 0) throw new RangeError(E_INDEXOUTOFRANGE); - if (sourceLen + offset > target.length) throw new RangeError(E_INDEXOUTOFRANGE); - + if (offset < 0 || sourceLen + offset > target.length) { + throw new RangeError(E_INDEXOUTOFRANGE); + } // @ts-ignore: dataStart var targetStart = target.dataStart + (offset << alignof()); // @ts-ignore: dataStart var sourceStart = source.dataStart; - // if the types align and match, use memory.copy() instead of manual loop if ( isInteger() == isInteger() && diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 5c25261803..558bdcd324 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -23239,25 +23239,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23354,25 +23350,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23459,25 +23451,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23558,25 +23546,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23661,25 +23645,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23726,25 +23706,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23818,25 +23794,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23883,25 +23855,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -23998,25 +23966,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24103,25 +24067,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24198,25 +24158,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24301,25 +24257,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24366,25 +24318,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24458,25 +24406,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24524,25 +24468,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24645,25 +24585,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24754,25 +24690,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24872,25 +24804,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -24978,25 +24906,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25044,25 +24968,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25158,25 +25078,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25270,25 +25186,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25387,25 +25299,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25492,25 +25400,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25587,25 +25491,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25692,25 +25592,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25784,25 +25680,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25849,25 +25741,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -25943,25 +25831,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26060,25 +25944,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26165,25 +26045,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26260,25 +26136,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26365,25 +26237,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26457,25 +26325,21 @@ local.get $3 i32.const 0 i32.lt_s + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if i32.const 336 i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26522,25 +26386,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26614,25 +26474,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26698,25 +26554,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26803,25 +26655,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26898,25 +26746,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27003,25 +26847,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27097,25 +26937,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27191,25 +27027,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27283,25 +27115,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27371,25 +27199,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27476,25 +27300,21 @@ local.get $3 i32.const 0 i32.lt_s + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + end if i32.const 336 i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27571,25 +27391,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27676,25 +27492,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27770,25 +27582,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27864,25 +27672,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27958,25 +27762,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28075,25 +27875,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28178,25 +27974,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28244,25 +28036,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28349,25 +28137,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28443,25 +28227,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28537,25 +28317,21 @@ local.get $3 i32.const 0 i32.lt_s + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end if i32.const 336 i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28631,25 +28407,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28748,25 +28520,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28851,25 +28619,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -28917,25 +28681,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29022,25 +28782,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29116,25 +28872,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29210,25 +28962,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29304,25 +29052,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29416,25 +29160,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29481,25 +29221,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29577,25 +29313,21 @@ local.get $3 i32.const 0 i32.lt_s + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end if i32.const 336 i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29673,25 +29405,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29769,25 +29497,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29865,25 +29589,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -29979,25 +29699,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30076,25 +29792,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30172,25 +29884,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30268,25 +29976,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30364,25 +30068,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30461,25 +30161,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30570,25 +30266,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -30686,25 +30378,21 @@ local.get $3 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $6 + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s end - local.get $6 - local.get $3 - i32.add - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s if i32.const 336 i32.const 608 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 66de1f5195..298f5ac073 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -26471,8 +26471,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26521,8 +26521,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26568,8 +26568,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26596,8 +26596,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26645,8 +26645,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26671,25 +26671,21 @@ local.get $2 i32.const 0 i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $0 + i32.load offset=8 + local.get $2 + local.get $4 + i32.add + i32.lt_s end - local.get $0 - i32.load offset=8 - local.get $2 - local.get $4 - i32.add - i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26752,25 +26748,21 @@ local.get $2 i32.const 0 i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $0 + i32.load offset=8 + local.get $2 + local.get $4 + i32.add + i32.lt_s end - local.get $0 - i32.load offset=8 - local.get $2 - local.get $4 - i32.add - i32.lt_s if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26833,8 +26825,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26887,8 +26879,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26939,8 +26931,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -26990,8 +26982,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27023,8 +27015,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27067,27 +27059,23 @@ local.get $2 i32.const 0 i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1943 - i32.const 19 - call $~lib/builtins/abort - unreachable + if (result i32) + i32.const 1 + else + local.get $2 + local.get $3 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s end - local.get $2 - local.get $3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27122,8 +27110,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27174,8 +27162,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27226,8 +27214,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27281,8 +27269,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27332,8 +27320,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27385,8 +27373,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27415,8 +27403,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27467,8 +27455,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -27522,8 +27510,8 @@ if i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end @@ -38164,7 +38152,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 local.get $4 i32.load offset=8 i32.const 11100 @@ -38173,7 +38161,7 @@ i32.const 3 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 3 @@ -38251,7 +38239,7 @@ i32.const 2 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 2 @@ -38336,8 +38324,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -38541,7 +38529,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 local.get $4 i32.load offset=8 i32.const 11100 @@ -38550,7 +38538,7 @@ i32.const 3 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 3 @@ -38628,7 +38616,7 @@ i32.const 2 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 2 @@ -38713,8 +38701,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -38902,14 +38890,14 @@ global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11020 i32.load local.tee $8 local.get $7 i32.load offset=8 i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $7 i32.load offset=4 local.set $9 @@ -38974,7 +38962,7 @@ i32.const 3 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $7 i32.load offset=4 i32.const 3 @@ -39059,7 +39047,7 @@ i32.const 2 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $7 i32.load offset=4 i32.const 2 @@ -39135,7 +39123,7 @@ i32.const 7 i32.add i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $7 i32.load offset=4 i32.const 7 @@ -39199,8 +39187,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -39409,7 +39397,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11100 i32.load local.tee $8 @@ -39420,7 +39408,7 @@ i32.const 1 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 6 @@ -39502,7 +39490,7 @@ i32.const 1 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 4 @@ -39589,8 +39577,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -39799,7 +39787,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11100 i32.load local.tee $8 @@ -39810,7 +39798,7 @@ i32.const 1 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 6 @@ -39892,7 +39880,7 @@ i32.const 1 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 4 @@ -39979,8 +39967,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -40192,7 +40180,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11100 i32.load local.tee $5 @@ -40203,7 +40191,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 12 @@ -40285,7 +40273,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 8 @@ -40372,8 +40360,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -40585,7 +40573,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11100 i32.load local.tee $5 @@ -40596,7 +40584,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 12 @@ -40678,7 +40666,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 8 @@ -40765,8 +40753,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -40976,7 +40964,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11100 i32.load local.tee $7 @@ -40987,7 +40975,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 24 @@ -41069,7 +41057,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 16 @@ -41156,8 +41144,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -41367,7 +41355,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11088 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11100 i32.load local.tee $7 @@ -41378,7 +41366,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 24 @@ -41460,7 +41448,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $4 i32.load offset=4 i32.const 16 @@ -41547,8 +41535,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -41742,7 +41730,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11020 i32.load local.tee $6 @@ -41751,7 +41739,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $8 i32.load offset=4 local.set $9 @@ -41825,7 +41813,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $8 i32.load offset=4 i32.const 24 @@ -41879,7 +41867,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $8 i32.load offset=4 local.set $2 @@ -41921,7 +41909,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $8 i32.load offset=4 i32.const 16 @@ -41970,7 +41958,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $8 i32.load offset=4 i32.const 28 @@ -42024,8 +42012,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -42214,7 +42202,7 @@ global.get $~lib/memory/__stack_pointer i32.const 11008 i32.store offset=16 - block $folding-inner1 + block $folding-inner0 i32.const 11020 i32.load local.tee $5 @@ -42223,7 +42211,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $1 i32.load offset=4 local.set $6 @@ -42280,7 +42268,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $1 i32.load offset=4 i32.const 24 @@ -42340,7 +42328,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $1 i32.load offset=4 i32.const 48 @@ -42395,7 +42383,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $1 i32.load offset=4 local.set $5 @@ -42439,7 +42427,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $1 i32.load offset=4 i32.const 32 @@ -42488,7 +42476,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner1 + br_if $folding-inner0 local.get $1 i32.load offset=4 i32.const 56 @@ -42542,8 +42530,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -42588,11 +42576,11 @@ block $folding-inner25 block $folding-inner24 block $folding-inner23 - block $folding-inner21 + block $folding-inner22 block $folding-inner18 block $folding-inner17 block $folding-inner16 - block $folding-inner22 + block $folding-inner21 block $folding-inner20 block $folding-inner19 block $folding-inner15 @@ -42608,7 +42596,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 32 @@ -44579,7 +44567,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $2 i64.const 0 @@ -44654,7 +44642,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -44733,7 +44721,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -44812,7 +44800,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -44895,7 +44883,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -44978,7 +44966,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -45059,7 +45047,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -45140,7 +45128,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -45219,7 +45207,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -45300,7 +45288,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -45379,7 +45367,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -45458,7 +45446,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45509,7 +45497,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45560,7 +45548,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45611,7 +45599,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45662,7 +45650,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45713,7 +45701,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45764,7 +45752,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45815,7 +45803,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45866,7 +45854,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45917,7 +45905,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -45968,7 +45956,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -46019,7 +46007,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46098,7 +46086,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46177,7 +46165,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46256,7 +46244,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46339,7 +46327,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46422,7 +46410,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46503,7 +46491,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46584,7 +46572,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46665,7 +46653,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46746,7 +46734,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46827,7 +46815,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46908,7 +46896,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -46944,7 +46932,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47048,7 +47036,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47084,7 +47072,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47188,7 +47176,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47224,7 +47212,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47328,7 +47316,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47364,7 +47352,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47476,7 +47464,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47512,7 +47500,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47624,7 +47612,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47660,7 +47648,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47772,7 +47760,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47808,7 +47796,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47920,7 +47908,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -47956,7 +47944,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48068,7 +48056,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48104,7 +48092,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48216,7 +48204,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48252,7 +48240,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48364,7 +48352,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48400,7 +48388,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48521,7 +48509,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48641,7 +48629,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48761,7 +48749,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -48881,7 +48869,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49009,7 +48997,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49137,7 +49125,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49265,7 +49253,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49393,7 +49381,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49521,7 +49509,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49649,7 +49637,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49777,7 +49765,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -49905,7 +49893,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50024,7 +50012,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50143,7 +50131,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50262,7 +50250,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50389,7 +50377,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50516,7 +50504,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50643,7 +50631,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50770,7 +50758,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -50897,7 +50885,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51024,7 +51012,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51151,7 +51139,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51278,7 +51266,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51397,7 +51385,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51516,7 +51504,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51635,7 +51623,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51762,7 +51750,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -51889,7 +51877,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52016,7 +52004,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52143,7 +52131,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52270,7 +52258,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52397,7 +52385,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52524,7 +52512,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52651,7 +52639,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52773,7 +52761,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -52895,7 +52883,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53017,7 +53005,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53147,7 +53135,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53277,7 +53265,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53407,7 +53395,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53537,7 +53525,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53667,7 +53655,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53797,7 +53785,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -53927,7 +53915,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54057,7 +54045,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54153,7 +54141,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54252,7 +54240,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54351,7 +54339,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54451,7 +54439,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54554,7 +54542,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54651,7 +54639,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54748,7 +54736,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54848,7 +54836,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -54948,7 +54936,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -55048,7 +55036,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -55150,7 +55138,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -55282,7 +55270,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -55416,7 +55404,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -55548,7 +55536,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -55674,7 +55662,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -55803,7 +55791,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 @@ -56032,7 +56020,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56262,7 +56250,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56495,7 +56483,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56728,7 +56716,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56961,7 +56949,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57434,7 +57422,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57491,7 +57479,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57528,7 +57516,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57604,7 +57592,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57680,7 +57668,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57737,7 +57725,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57774,7 +57762,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57831,7 +57819,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57868,7 +57856,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57925,7 +57913,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57962,7 +57950,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58019,7 +58007,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58056,7 +58044,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58113,7 +58101,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58150,7 +58138,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58207,7 +58195,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58244,7 +58232,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58301,7 +58289,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58338,7 +58326,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58395,7 +58383,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58478,7 +58466,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58546,7 +58534,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58616,7 +58604,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58716,7 +58704,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58785,7 +58773,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58855,7 +58843,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58923,7 +58911,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -58995,7 +58983,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59064,7 +59052,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -59136,7 +59124,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59203,7 +59191,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -59275,7 +59263,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59342,7 +59330,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -59414,7 +59402,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59482,7 +59470,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -59554,7 +59542,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59622,7 +59610,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -59694,7 +59682,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59762,7 +59750,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -59834,7 +59822,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59902,7 +59890,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60044,7 +60032,7 @@ i32.const 1 i32.add i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 local.get $7 i32.load offset=4 i32.const 1 @@ -60104,7 +60092,7 @@ i32.const 8 i32.add i32.lt_s - br_if $folding-inner22 + br_if $folding-inner21 local.get $7 i32.load offset=4 i32.const 8 @@ -60212,7 +60200,7 @@ local.get $7 i32.load offset=8 i32.gt_s - br_if $folding-inner22 + br_if $folding-inner21 local.get $7 i32.load offset=4 local.set $3 @@ -60274,7 +60262,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -60309,7 +60297,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60397,7 +60385,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -60432,7 +60420,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60520,7 +60508,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -60555,7 +60543,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60643,7 +60631,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -60678,7 +60666,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60770,7 +60758,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -60805,7 +60793,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -60897,7 +60885,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -60932,7 +60920,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61024,7 +61012,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -61059,7 +61047,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61151,7 +61139,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -61186,7 +61174,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61278,7 +61266,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -61313,7 +61301,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61405,7 +61393,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $1 i64.const 0 @@ -61440,7 +61428,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -61530,7 +61518,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16628 i32.lt_s - br_if $folding-inner21 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61740,8 +61728,8 @@ end i32.const 1360 i32.const 1632 - i32.const 1944 - i32.const 43 + i32.const 1942 + i32.const 5 call $~lib/builtins/abort unreachable end From 98468656c17a11ecfb050c66ea93eb5b178f6ef7 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 27 Jul 2022 22:41:55 +0300 Subject: [PATCH 3/5] more --- std/assembly/typedarray.ts | 22 +- tests/compiler/std/typedarray.debug.wat | 1461 ++++++++++++++--------- 2 files changed, 906 insertions(+), 577 deletions(-) diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 95e5803362..6c49c80fff 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -1949,36 +1949,37 @@ function SET< if ( isInteger() == isInteger() && alignof() == alignof() && - !(target instanceof Uint8ClampedArray && isSigned()) + !(isSigned() && target instanceof Uint8ClampedArray) ) { memory.copy(targetStart, sourceStart, sourceLen << alignof()); } else { for (let i = 0; i < sourceLen; i++) { + let ptr = targetStart + (i << alignof()); + let value = load(sourceStart + (i << alignof())); // if TArray is Uint8ClampedArray, then values must be clamped if (target instanceof Uint8ClampedArray) { if (isFloat()) { - let value = load(sourceStart + (i << alignof())); store( - targetStart + (i << alignof()), + ptr, + // @ts-ignore: cast to T is valid for numeric types here isFinite(value) ? max(0, min(255, value)) : 0 ); } else { - let value = load(sourceStart + (i << alignof())); if (!isSigned()) { store( - targetStart + (i << alignof()), + ptr, // @ts-ignore: cast to T is valid for numeric types here min(255, value) ); } else if (sizeof() <= 4) { store( - targetStart + (i << alignof()), + ptr, // @ts-ignore: cast to T is valid for numeric types here ~(value >> 31) & (((255 - value) >> 31) | value) ); } else { store( - targetStart + (i << alignof()), + ptr, // @ts-ignore: cast to T is valid for numeric types here ~(value >> 63) & (((255 - value) >> 63) | value) ); @@ -1986,14 +1987,13 @@ function SET< } // if U is a float, then casting float to int must include a finite check } else if (isFloat() && !isFloat()) { - let value = load(sourceStart + (i << alignof())); // @ts-ignore: cast to T is valid for numeric types here - store(targetStart + (i << alignof()), isFinite(value) ? value : 0); + store(ptr, isFinite(value) ? value : 0); } else if (isFloat() && !isFloat()) { // @ts-ignore: In this case the conversion is required - store(targetStart + (i << alignof()), load(sourceStart + (i << alignof()))); + store(ptr, value); } else { - store(targetStart + (i << alignof()), load(sourceStart + (i << alignof()))); + store(ptr, value); } } } diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 558bdcd324..5eb255d4b3 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -23225,6 +23225,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -23280,23 +23282,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 0 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store8 local.get $9 i32.const 1 @@ -23335,7 +23341,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -23391,30 +23398,32 @@ local.set $10 local.get $10 if + local.get $7 + local.get $9 i32.const 0 - drop - i32.const 0 - i32.eqz - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load - local.set $11 - local.get $7 - local.get $9 + local.set $12 i32.const 0 - i32.shl - i32.add - local.get $11 + drop + i32.const 0 + i32.eqz + drop local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f32_s else i32.const 0 @@ -23437,6 +23446,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -23492,23 +23503,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 0 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i64.store8 local.get $9 i32.const 1 @@ -23531,7 +23546,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -23587,30 +23603,32 @@ local.set $10 local.get $10 if + local.get $7 + local.get $9 i32.const 0 - drop - i32.const 0 - i32.eqz - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load - local.set $11 - local.get $7 - local.get $9 + local.set $12 i32.const 0 - i32.shl - i32.add - local.get $11 + drop + i32.const 0 + i32.eqz + drop local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f64_s else i32.const 0 @@ -23692,6 +23710,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -23747,23 +23767,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 0 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store8 local.get $9 i32.const 1 @@ -23841,6 +23865,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -23896,23 +23922,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 0 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store8 local.get $9 i32.const 1 @@ -23951,7 +23981,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -24007,30 +24038,32 @@ local.set $10 local.get $10 if + local.get $7 + local.get $9 i32.const 0 - drop - i32.const 0 - i32.eqz - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load - local.set $11 - local.get $7 - local.get $9 + local.set $12 i32.const 0 - i32.shl - i32.add - local.get $11 + drop + i32.const 0 + i32.eqz + drop local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f32_u else i32.const 0 @@ -24053,6 +24086,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -24108,23 +24143,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 0 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i64.store8 local.get $9 i32.const 1 @@ -24143,7 +24182,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -24199,30 +24239,32 @@ local.set $10 local.get $10 if + local.get $7 + local.get $9 i32.const 0 - drop - i32.const 0 - i32.eqz - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add f64.load - local.set $11 - local.get $7 - local.get $9 + local.set $12 i32.const 0 - i32.shl - i32.add - local.get $11 + drop + i32.const 0 + i32.eqz + drop local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f64_u else i32.const 0 @@ -24304,6 +24346,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -24359,23 +24403,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 0 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store8 local.get $9 i32.const 1 @@ -24454,6 +24502,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -24509,17 +24558,23 @@ local.set $10 local.get $10 if - i32.const 1 - drop + local.get $7 + local.get $9 i32.const 0 - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load - local.set $11 + local.set $12 + i32.const 1 + drop + i32.const 0 + drop i32.const 1 i32.eqz drop @@ -24527,22 +24582,18 @@ i32.const 4 i32.le_u drop - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add local.get $11 + local.get $12 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.const 255 - local.get $11 + local.get $12 i32.sub i32.const 31 i32.shr_s - local.get $11 + local.get $12 i32.or i32.and i32.store8 @@ -24570,7 +24621,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -24626,31 +24678,33 @@ local.set $10 local.get $10 if - i32.const 1 - drop - i32.const 1 - drop + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load - local.set $11 - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 + local.set $12 + i32.const 1 + drop + i32.const 1 + drop local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) f32.const 0 f32.const 255 - local.get $11 + local.get $12 f32.min f32.max i32.trunc_sat_f32_u @@ -24675,7 +24729,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i64) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -24731,17 +24786,23 @@ local.set $10 local.get $10 if - i32.const 1 - drop + local.get $7 + local.get $9 i32.const 0 - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load - local.set $11 + local.set $12 + i32.const 1 + drop + i32.const 0 + drop i32.const 1 i32.eqz drop @@ -24749,12 +24810,8 @@ i32.const 4 i32.le_u drop - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add local.get $11 + local.get $12 i32.wrap_i64 i32.const 31 i32.shr_s @@ -24762,13 +24819,13 @@ i32.xor i64.extend_i32_s i32.const 255 - local.get $11 + local.get $12 i32.wrap_i64 i32.sub i32.const 31 i32.shr_s i64.extend_i32_s - local.get $11 + local.get $12 i64.or i64.and i64.store8 @@ -24789,7 +24846,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -24845,31 +24903,33 @@ local.set $10 local.get $10 if - i32.const 1 - drop - i32.const 1 - drop - local.get $8 + local.get $7 local.get $9 - i32.const 3 + i32.const 0 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 0 + i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 1 + drop + i32.const 1 + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) f64.const 0 f64.const 255 - local.get $11 + local.get $12 f64.min f64.max i32.trunc_sat_f64_u @@ -24954,6 +25014,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -25009,17 +25070,23 @@ local.set $10 local.get $10 if - i32.const 1 - drop + local.get $7 + local.get $9 i32.const 0 - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s - local.set $11 + local.set $12 + i32.const 1 + drop + i32.const 0 + drop i32.const 1 i32.eqz drop @@ -25027,22 +25094,18 @@ i32.const 4 i32.le_u drop - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add local.get $11 + local.get $12 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.const 255 - local.get $11 + local.get $12 i32.sub i32.const 31 i32.shr_s - local.get $11 + local.get $12 i32.or i32.and i32.store8 @@ -25064,6 +25127,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -25118,17 +25182,23 @@ local.set $10 local.get $10 if - i32.const 1 - drop + local.get $7 + local.get $9 i32.const 0 - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s - local.set $11 + local.set $12 + i32.const 1 + drop + i32.const 0 + drop i32.const 1 i32.eqz drop @@ -25136,22 +25206,18 @@ i32.const 4 i32.le_u drop - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add local.get $11 + local.get $12 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.const 255 - local.get $11 + local.get $12 i32.sub i32.const 31 i32.shr_s - local.get $11 + local.get $12 i32.or i32.and i32.store8 @@ -25172,6 +25238,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -25227,23 +25295,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store16 local.get $9 i32.const 1 @@ -25284,7 +25356,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -25340,30 +25413,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 2 + i32.const 1 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 1 + i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f32_s else i32.const 0 @@ -25386,6 +25461,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -25441,23 +25518,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i64.store16 local.get $9 i32.const 1 @@ -25476,7 +25557,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -25532,30 +25614,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 3 + i32.const 1 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 1 + i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f64_s else i32.const 0 @@ -25578,6 +25662,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -25633,23 +25719,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store16 local.get $9 i32.const 1 @@ -25727,6 +25817,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -25782,23 +25874,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store16 local.get $9 i32.const 1 @@ -25817,6 +25913,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -25872,23 +25970,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store16 local.get $9 i32.const 1 @@ -25929,7 +26031,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -25985,30 +26088,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 2 + i32.const 1 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 1 + i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f32_u else i32.const 0 @@ -26031,6 +26136,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -26086,23 +26193,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i64.store16 local.get $9 i32.const 1 @@ -26121,7 +26232,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -26177,30 +26289,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 3 + i32.const 1 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 1 + i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f64_u else i32.const 0 @@ -26223,6 +26337,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -26278,23 +26394,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store16 local.get $9 i32.const 1 @@ -26372,6 +26492,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -26427,23 +26549,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 1 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store16 local.get $9 i32.const 1 @@ -26539,7 +26665,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -26595,30 +26722,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f32_s else i32.const 0 @@ -26641,6 +26770,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -26696,23 +26827,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i64.store32 local.get $9 i32.const 1 @@ -26731,7 +26866,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -26787,30 +26923,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 2 + i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f64_s else i32.const 0 @@ -26833,6 +26971,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -26888,23 +27028,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store local.get $9 i32.const 1 @@ -26923,6 +27067,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -26978,23 +27124,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store local.get $9 i32.const 1 @@ -27013,6 +27163,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -27068,23 +27220,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store local.get $9 i32.const 1 @@ -27184,7 +27340,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -27240,30 +27397,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 i32.const 2 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f32_u else i32.const 0 @@ -27286,6 +27445,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -27341,23 +27502,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i64.store32 local.get $9 i32.const 1 @@ -27376,7 +27541,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -27432,30 +27598,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 2 + i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i32) - local.get $11 + local.get $12 i32.trunc_sat_f64_u else i32.const 0 @@ -27478,6 +27646,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -27533,23 +27703,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store local.get $9 i32.const 1 @@ -27568,6 +27742,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -27623,23 +27799,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store local.get $9 i32.const 1 @@ -27658,6 +27838,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -27713,23 +27895,27 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 i32.store local.get $9 i32.const 1 @@ -27748,6 +27934,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -27803,23 +27991,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add - i64.load32_s + i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_s i64.store local.get $9 i32.const 1 @@ -27860,7 +28053,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -27916,30 +28110,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 2 + i32.const 3 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 3 + i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i64) - local.get $11 + local.get $12 i64.trunc_sat_f32_s else i64.const 0 @@ -28021,7 +28217,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -28077,30 +28274,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i64) - local.get $11 + local.get $12 i64.trunc_sat_f64_s else i64.const 0 @@ -28123,6 +28322,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -28178,23 +28379,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add - i64.load8_u + i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_u i64.store local.get $9 i32.const 1 @@ -28213,6 +28419,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -28268,23 +28476,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add - i64.load16_s + i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_s i64.store local.get $9 i32.const 1 @@ -28303,6 +28516,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -28358,23 +28573,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add - i64.load8_s + i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_s i64.store local.get $9 i32.const 1 @@ -28393,6 +28613,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -28448,23 +28670,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add - i64.load32_s + i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_s i64.store local.get $9 i32.const 1 @@ -28505,7 +28732,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -28561,30 +28789,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 - i32.const 2 + i32.const 3 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 3 + i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i64) - local.get $11 + local.get $12 i64.trunc_sat_f32_u else i64.const 0 @@ -28666,7 +28896,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f64) + (local $11 i32) + (local $12 f64) local.get $0 local.set $5 local.get $1 @@ -28722,30 +28953,32 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $8 + local.get $7 local.get $9 i32.const 3 i32.shl i32.add - f64.load local.set $11 - local.get $7 + local.get $8 local.get $9 i32.const 3 i32.shl i32.add + f64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + i32.eqz + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f64.sub f64.const 0 f64.eq if (result i64) - local.get $11 + local.get $12 i64.trunc_sat_f64_u else i64.const 0 @@ -28768,6 +29001,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -28823,23 +29058,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add - i64.load8_u + i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_u i64.store local.get $9 i32.const 1 @@ -28858,6 +29098,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -28913,23 +29155,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add - i64.load16_s + i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_s i64.store local.get $9 i32.const 1 @@ -28948,6 +29195,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29003,23 +29252,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add - i64.load8_s + i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + local.get $11 + local.get $12 + i64.extend_i32_s i64.store local.get $9 i32.const 1 @@ -29038,6 +29292,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29093,24 +29349,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f32.convert_i32_s f32.store local.get $9 @@ -29207,6 +29467,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -29262,24 +29524,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f32.convert_i64_s f32.store local.get $9 @@ -29299,6 +29565,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29354,24 +29622,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f32.convert_i32_u f32.store local.get $9 @@ -29391,6 +29663,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29446,24 +29720,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f32.convert_i32_s f32.store local.get $9 @@ -29483,6 +29761,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29538,24 +29818,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 2 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f32.convert_i32_s f32.store local.get $9 @@ -29575,6 +29859,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29630,24 +29916,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f64.convert_i32_s f64.store local.get $9 @@ -29685,6 +29975,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -29740,25 +30032,29 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.eqz - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add f32.load + local.set $12 + i32.const 0 + drop + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.eqz + drop + local.get $11 + local.get $12 f64.promote_f32 f64.store local.get $9 @@ -29778,6 +30074,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i64) local.get $0 local.set $5 local.get $1 @@ -29833,24 +30131,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f64.convert_i64_s f64.store local.get $9 @@ -29870,6 +30172,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -29925,24 +30229,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f64.convert_i32_u f64.store local.get $9 @@ -29962,6 +30270,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -30017,24 +30327,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f64.convert_i32_s f64.store local.get $9 @@ -30054,6 +30368,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -30109,24 +30425,28 @@ local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop local.get $7 local.get $9 i32.const 3 i32.shl i32.add + local.set $11 local.get $8 local.get $9 i32.const 0 i32.shl i32.add i32.load8_s + local.set $12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $11 + local.get $12 f64.convert_i32_s f64.store local.get $9 @@ -30146,7 +30466,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i32) + (local $12 f32) local.get $0 local.set $5 local.get $1 @@ -30202,31 +30523,33 @@ local.set $10 local.get $10 if - i32.const 1 - drop - i32.const 1 - drop - local.get $8 + local.get $7 local.get $9 - i32.const 2 + i32.const 0 i32.shl i32.add - f32.load local.set $11 - local.get $7 + local.get $8 local.get $9 - i32.const 0 + i32.const 2 i32.shl i32.add + f32.load + local.set $12 + i32.const 1 + drop + i32.const 1 + drop local.get $11 - local.get $11 + local.get $12 + local.get $12 f32.sub f32.const 0 f32.eq if (result i32) f32.const 0 f32.const 255 - local.get $11 + local.get $12 f32.min f32.max i32.trunc_sat_f32_u @@ -30252,6 +30575,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) local.get $0 local.set $5 local.get $1 @@ -30307,17 +30631,23 @@ local.set $10 local.get $10 if - i32.const 1 - drop + local.get $7 + local.get $9 i32.const 0 - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load - local.set $11 + local.set $12 + i32.const 1 + drop + i32.const 0 + drop i32.const 1 i32.eqz drop @@ -30325,22 +30655,18 @@ i32.const 4 i32.le_u drop - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add local.get $11 + local.get $12 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.const 255 - local.get $11 + local.get $12 i32.sub i32.const 31 i32.shr_s - local.get $11 + local.get $12 i32.or i32.and i32.store8 @@ -30364,6 +30690,7 @@ (local $11 i32) (local $12 i32) (local $13 i32) + (local $14 i32) local.get $0 local.set $5 local.get $1 @@ -30419,31 +30746,33 @@ local.set $10 local.get $10 if - i32.const 1 - drop + local.get $7 + local.get $9 i32.const 0 - drop + i32.shl + i32.add + local.set $11 local.get $8 local.get $9 i32.const 2 i32.shl i32.add i32.load - local.set $11 + local.set $12 + i32.const 1 + drop i32.const 0 - i32.eqz drop - local.get $7 - local.get $9 i32.const 0 - i32.shl - i32.add - i32.const 255 - local.tee $12 + i32.eqz + drop local.get $11 + i32.const 255 local.tee $13 local.get $12 + local.tee $14 local.get $13 + local.get $14 i32.lt_u select i32.store8 From 9cf4576cdde606c08272668bd9cbd2197a5d8ca9 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 28 Jul 2022 08:05:01 +0300 Subject: [PATCH 4/5] more refactorings --- std/assembly/typedarray.ts | 15 +- tests/compiler/std/typedarray.debug.wat | 243 +++++++--------------- tests/compiler/std/typedarray.release.wat | 12 +- tests/compiler/std/typedarray.ts | 15 +- 4 files changed, 102 insertions(+), 183 deletions(-) diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 6c49c80fff..4a37492941 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -1985,15 +1985,14 @@ function SET< ); } } - // if U is a float, then casting float to int must include a finite check - } else if (isFloat() && !isFloat()) { - // @ts-ignore: cast to T is valid for numeric types here - store(ptr, isFinite(value) ? value : 0); - } else if (isFloat() && !isFloat()) { - // @ts-ignore: In this case the conversion is required - store(ptr, value); } else { - store(ptr, value); + if (isFloat() && !isFloat()) { + // @ts-ignore: cast to T is valid for numeric types here + store(ptr, isFinite(value) ? value : 0); + } else { + // @ts-ignore: cast + store(ptr, value); + } } } } diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 5eb255d4b3..279fea94be 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -23299,8 +23299,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store8 @@ -23520,11 +23518,10 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 - i64.store8 + i32.wrap_i64 + i32.store8 local.get $9 i32.const 1 i32.add @@ -23784,8 +23781,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store8 @@ -23939,8 +23934,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store8 @@ -24160,11 +24153,10 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 - i64.store8 + i32.wrap_i64 + i32.store8 local.get $9 i32.const 1 i32.add @@ -24420,8 +24412,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store8 @@ -25312,8 +25302,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store16 @@ -25535,11 +25523,10 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 - i64.store16 + i32.wrap_i64 + i32.store16 local.get $9 i32.const 1 i32.add @@ -25736,8 +25723,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store16 @@ -25891,8 +25876,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store16 @@ -25987,8 +25970,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store16 @@ -26210,11 +26191,10 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 - i64.store16 + i32.wrap_i64 + i32.store16 local.get $9 i32.const 1 i32.add @@ -26411,8 +26391,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store16 @@ -26566,8 +26544,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store16 @@ -26844,11 +26820,10 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 - i64.store32 + i32.wrap_i64 + i32.store local.get $9 i32.const 1 i32.add @@ -27045,8 +27020,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store @@ -27141,8 +27114,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store @@ -27237,8 +27208,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store @@ -27519,11 +27488,10 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 - i64.store32 + i32.wrap_i64 + i32.store local.get $9 i32.const 1 i32.add @@ -27720,8 +27688,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store @@ -27816,8 +27782,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store @@ -27912,8 +27876,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i32.store @@ -28008,8 +27970,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_s @@ -28396,8 +28356,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_u @@ -28493,8 +28451,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_s @@ -28590,8 +28546,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_s @@ -28687,8 +28641,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_s @@ -29075,8 +29027,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_u @@ -29172,8 +29122,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_s @@ -29269,8 +29217,6 @@ drop i32.const 0 drop - i32.const 0 - drop local.get $11 local.get $12 i64.extend_i32_s @@ -29366,9 +29312,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f32.convert_i32_s @@ -29541,9 +29484,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f32.convert_i64_s @@ -29639,9 +29579,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f32.convert_i32_u @@ -29737,9 +29674,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f32.convert_i32_s @@ -29835,9 +29769,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f32.convert_i32_s @@ -29933,9 +29864,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f64.convert_i32_s @@ -30050,9 +29978,6 @@ i32.const 1 i32.eqz drop - i32.const 1 - i32.eqz - drop local.get $11 local.get $12 f64.promote_f32 @@ -30148,9 +30073,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f64.convert_i64_s @@ -30246,9 +30168,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f64.convert_i32_u @@ -30344,9 +30263,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f64.convert_i32_s @@ -30442,9 +30358,6 @@ drop i32.const 0 drop - i32.const 0 - i32.eqz - drop local.get $11 local.get $12 f64.convert_i32_s @@ -57356,7 +57269,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -57370,7 +57283,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -57384,7 +57297,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -57407,7 +57320,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -57421,7 +57334,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -57435,7 +57348,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -57495,7 +57408,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -57509,7 +57422,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -57523,7 +57436,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -57546,7 +57459,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -57560,7 +57473,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -57574,7 +57487,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -57634,7 +57547,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -57648,7 +57561,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -57662,7 +57575,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -57685,7 +57598,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -57699,7 +57612,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -57713,7 +57626,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -57773,7 +57686,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -57787,7 +57700,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -57801,7 +57714,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -57824,7 +57737,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -57838,7 +57751,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -57852,7 +57765,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -57912,7 +57825,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -57926,7 +57839,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -57940,7 +57853,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -57963,7 +57876,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -57977,7 +57890,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -57991,7 +57904,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -58051,7 +57964,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -58065,7 +57978,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -58079,7 +57992,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -58102,7 +58015,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -58116,7 +58029,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -58130,7 +58043,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -58190,7 +58103,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -58204,7 +58117,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -58218,7 +58131,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -58241,7 +58154,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -58255,7 +58168,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -58269,7 +58182,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -58329,7 +58242,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -58343,7 +58256,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -58357,7 +58270,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -58380,7 +58293,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -58394,7 +58307,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -58408,7 +58321,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -58468,7 +58381,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -58482,7 +58395,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -58496,7 +58409,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -58519,7 +58432,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -58533,7 +58446,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -58547,7 +58460,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -58607,7 +58520,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -58621,7 +58534,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -58635,7 +58548,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -58658,7 +58571,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -58672,7 +58585,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -58686,7 +58599,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable @@ -58746,7 +58659,7 @@ if i32.const 0 i32.const 544 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable @@ -58760,7 +58673,7 @@ if i32.const 0 i32.const 544 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable @@ -58774,7 +58687,7 @@ if i32.const 0 i32.const 544 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable @@ -58797,7 +58710,7 @@ if i32.const 0 i32.const 544 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable @@ -58811,7 +58724,7 @@ if i32.const 0 i32.const 544 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable @@ -58825,7 +58738,7 @@ if i32.const 0 i32.const 544 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 298f5ac073..e7092e8942 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -61854,42 +61854,42 @@ end i32.const 0 i32.const 1568 - i32.const 878 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 879 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 880 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 882 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 883 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 884 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index e877cd07a4..05029b9be0 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -753,7 +753,7 @@ testArrayWrap(); testArrayWrap(); testArrayWrap(); -function valuesEqual(target: T, compare: valueof[]): void { +function valuesEqual>(target: T, compare: valueof[]): void { let len = target.length; assert(len == compare.length); for (let i = 0; i < len; i++) { @@ -771,7 +771,7 @@ let setSource2: f32[] = [4, 5, 6]; let setSource3: f64[] = [Infinity, NaN, -Infinity]; let setSource7: i8[] = [-110, -111, -112]; -function testTypedArraySet(): void { +function testTypedArraySet>(): void { let setSource4 = new Int64Array(3); setSource4[0] = 7; setSource4[1] = 8; @@ -812,9 +812,16 @@ function testTypedArraySet(): void { valuesEqual(a, [100, 101, 102, 103, 255, 255, 255, 0, 0, 0]); } else { // explicitly case the input values to valueof - valuesEqual(a, [100, 101, 102, 103, >1000, >1001, >1002, >-110, >-111, >-112]); + valuesEqual(a, [ + 100, 101, 102, 103, + >1000, + >1001, + >1002, + >-110, + >-111, + >-112 + ]); } - } testTypedArraySet(); From 5efa40d2e49a19e97c986e0637b3dff6ebecab71 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 28 Jul 2022 08:56:55 +0300 Subject: [PATCH 5/5] simplify SET macro --- std/assembly/typedarray.ts | 86 +++++------- tests/compiler/std/typedarray.debug.wat | 156 +++++++++++----------- tests/compiler/std/typedarray.release.wat | 68 +++++----- 3 files changed, 147 insertions(+), 163 deletions(-) diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 4a37492941..4ee187844d 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -138,7 +138,7 @@ export class Int8Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array { @@ -275,7 +275,7 @@ export class Uint8Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -416,7 +416,7 @@ export class Uint8ClampedArray extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -557,7 +557,7 @@ export class Int16Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -698,7 +698,7 @@ export class Uint16Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -839,7 +839,7 @@ export class Int32Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -980,7 +980,7 @@ export class Uint32Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -1121,7 +1121,7 @@ export class Int64Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -1262,7 +1262,7 @@ export class Uint64Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -1403,7 +1403,7 @@ export class Float32Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -1544,7 +1544,7 @@ export class Float64Array extends ArrayBufferView { } set>(source: U, offset: i32 = 0): void { - SET>(this, source, offset); + SET(this, source, offset); } toString(): string { @@ -1923,75 +1923,59 @@ function WRAP( // @ts-ignore: decorator @inline function SET< - TArray extends ArrayLike, - T extends number, - UArray extends ArrayLike, - U extends number + TArray extends ArrayLike, + UArray extends ArrayLike >( target: TArray, source: UArray, offset: i32 = 0 ): void { // need to assert at compile time that U is not a reference or a function - if (isReference()) { + if (isReference>()) { ERROR(E_NOTIMPLEMENTED); } let sourceLen = source.length; - // Uncaught RangeError: offset is out of bounds if (offset < 0 || sourceLen + offset > target.length) { + // offset is out of bounds throw new RangeError(E_INDEXOUTOFRANGE); } // @ts-ignore: dataStart - var targetStart = target.dataStart + (offset << alignof()); + var targetStart = target.dataStart + (offset << (alignof>())); // @ts-ignore: dataStart var sourceStart = source.dataStart; // if the types align and match, use memory.copy() instead of manual loop if ( - isInteger() == isInteger() && - alignof() == alignof() && - !(isSigned() && target instanceof Uint8ClampedArray) + isInteger>() == isInteger>() && + alignof>() == alignof>() && + !(isSigned>() && target instanceof Uint8ClampedArray) ) { - memory.copy(targetStart, sourceStart, sourceLen << alignof()); + memory.copy(targetStart, sourceStart, sourceLen << (alignof>())); } else { for (let i = 0; i < sourceLen; i++) { - let ptr = targetStart + (i << alignof()); - let value = load(sourceStart + (i << alignof())); + let ptr = targetStart + (i << (alignof>())); + let value = load>(sourceStart + (i << (alignof>()))); // if TArray is Uint8ClampedArray, then values must be clamped if (target instanceof Uint8ClampedArray) { - if (isFloat()) { - store( - ptr, - // @ts-ignore: cast to T is valid for numeric types here - isFinite(value) ? max(0, min(255, value)) : 0 + if (isFloat>()) { + store>(ptr, + isFinite>(value) + ? >max>(0, min>(255, value)) + : 0 ); } else { - if (!isSigned()) { - store( - ptr, - // @ts-ignore: cast to T is valid for numeric types here - min(255, value) - ); - } else if (sizeof() <= 4) { - store( - ptr, - // @ts-ignore: cast to T is valid for numeric types here - ~(value >> 31) & (((255 - value) >> 31) | value) - ); + if (!isSigned>()) { + store>(ptr, min>(255, value)); + } else if (sizeof>() <= 4) { + store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value)); } else { - store( - ptr, - // @ts-ignore: cast to T is valid for numeric types here - ~(value >> 63) & (((255 - value) >> 63) | value) - ); + store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value)); } } } else { - if (isFloat() && !isFloat()) { - // @ts-ignore: cast to T is valid for numeric types here - store(ptr, isFinite(value) ? value : 0); + if (isFloat>() && !isFloat>()) { + store>(ptr, isFinite>(value) ? >value : 0); } else { - // @ts-ignore: cast - store(ptr, value); + store>(ptr, >value); } } } diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 279fea94be..bcbf33aa90 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -23254,7 +23254,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23368,7 +23368,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23473,7 +23473,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23572,7 +23572,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23673,7 +23673,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23736,7 +23736,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23826,7 +23826,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -23889,7 +23889,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24003,7 +24003,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24108,7 +24108,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24203,7 +24203,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24304,7 +24304,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24367,7 +24367,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24457,7 +24457,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24520,7 +24520,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24640,7 +24640,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24748,7 +24748,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24865,7 +24865,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -24969,7 +24969,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25032,7 +25032,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25145,7 +25145,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25257,7 +25257,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25373,7 +25373,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25478,7 +25478,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25573,7 +25573,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25678,7 +25678,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25768,7 +25768,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25831,7 +25831,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -25925,7 +25925,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26041,7 +26041,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26146,7 +26146,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26241,7 +26241,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26346,7 +26346,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26436,7 +26436,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26499,7 +26499,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26589,7 +26589,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26670,7 +26670,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26775,7 +26775,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26870,7 +26870,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26975,7 +26975,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27069,7 +27069,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27163,7 +27163,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27253,7 +27253,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27338,7 +27338,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27443,7 +27443,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27538,7 +27538,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27643,7 +27643,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27737,7 +27737,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27831,7 +27831,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27925,7 +27925,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28042,7 +28042,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28143,7 +28143,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28206,7 +28206,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28311,7 +28311,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28406,7 +28406,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28501,7 +28501,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28596,7 +28596,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28713,7 +28713,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28814,7 +28814,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28877,7 +28877,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -28982,7 +28982,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29077,7 +29077,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29172,7 +29172,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29267,7 +29267,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29376,7 +29376,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29439,7 +29439,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29534,7 +29534,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29629,7 +29629,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29724,7 +29724,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29819,7 +29819,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -29932,7 +29932,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30028,7 +30028,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30123,7 +30123,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30218,7 +30218,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30313,7 +30313,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30408,7 +30408,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30516,7 +30516,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -30631,7 +30631,7 @@ if i32.const 336 i32.const 608 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index e7092e8942..9f7e183883 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -26471,7 +26471,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26521,7 +26521,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26568,7 +26568,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26596,7 +26596,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26645,7 +26645,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26684,7 +26684,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26761,7 +26761,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26825,7 +26825,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26879,7 +26879,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26931,7 +26931,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -26982,7 +26982,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27015,7 +27015,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27074,7 +27074,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27110,7 +27110,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27162,7 +27162,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27214,7 +27214,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27269,7 +27269,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27320,7 +27320,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27373,7 +27373,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27403,7 +27403,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27455,7 +27455,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -27510,7 +27510,7 @@ if i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -38324,7 +38324,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -38701,7 +38701,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -39187,7 +39187,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -39577,7 +39577,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -39967,7 +39967,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -40360,7 +40360,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -40753,7 +40753,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -41144,7 +41144,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -41535,7 +41535,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -42012,7 +42012,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -42530,7 +42530,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable @@ -61728,7 +61728,7 @@ end i32.const 1360 i32.const 1632 - i32.const 1942 + i32.const 1940 i32.const 5 call $~lib/builtins/abort unreachable