diff --git a/src/builtins.ts b/src/builtins.ts index 45de8eea..f7eaefab 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -585,11 +585,7 @@ export function compileCall( let classReference = type.classReference; if (!classReference) return module.createI32(0); let classPrototype = classReference.prototype; - return module.createI32( - (classPrototype).extends(compiler.program.arrayPrototype) - ? 1 - : 0 - ); + return module.createI32(classPrototype.extends(compiler.program.arrayPrototype) ? 1 : 0); } case BuiltinSymbols.isArrayLike: { // isArrayLike() / isArrayLike(value: T) -> bool let type = evaluateConstantType(compiler, typeArguments, operands, reportNode); @@ -597,12 +593,7 @@ export function compileCall( if (!type) return module.createUnreachable(); let classReference = type.classReference; if (!classReference) return module.createI32(0); - return module.createI32( - classReference.lookupInSelf("length") && ( - classReference.lookupOverload(OperatorKind.INDEXED_GET) || - classReference.lookupOverload(OperatorKind.UNCHECKED_INDEXED_GET) - ) ? 1 : 0 - ); + return module.createI32(classReference.isArrayLike ? 1 : 0); } case BuiltinSymbols.isFunction: { // isFunction / isFunction(value: T) -> bool let type = evaluateConstantType(compiler, typeArguments, operands, reportNode); @@ -4153,17 +4144,17 @@ function compileTypedArrayGet( WrapMode.NONE )); if (getExpressionId(dynamicOffset) == ExpressionId.Const) { - constantOffset = getConstValueI32(dynamicOffset) * type.byteSize; + constantOffset = getConstValueI32(dynamicOffset); dynamicOffset = 0; } else if (getExpressionId(dynamicOffset) == ExpressionId.Binary) { if (getBinaryOp(dynamicOffset) == BinaryOp.AddI32) { let left = getBinaryLeft(dynamicOffset); let right = getBinaryRight(dynamicOffset); if (getExpressionId(left) == ExpressionId.Const) { - constantOffset = getConstValueI32(left) * type.byteSize; + constantOffset = getConstValueI32(left); dynamicOffset = right; } else if (getExpressionId(right) == ExpressionId.Const) { - constantOffset = getConstValueI32(right) * type.byteSize; + constantOffset = getConstValueI32(right); dynamicOffset = left; } } @@ -4180,7 +4171,16 @@ function compileTypedArrayGet( ), nativeSizeType, (dataStart).memoryOffset ); + + var typeAlignLog2 = type.alignLog2; + constantOffset <<= typeAlignLog2; if (dynamicOffset) { + if (typeAlignLog2) { + dynamicOffset = module.createBinary(BinaryOp.ShlI32, + dynamicOffset, + module.createI32(typeAlignLog2) + ); + } if (nativeSizeType == NativeType.I64) { dataStartExpr = module.createBinary(BinaryOp.AddI64, dataStartExpr, @@ -4242,12 +4242,14 @@ function compileTypedArraySet( assert(dataEnd.kind == ElementKind.FIELD); var constantOffset: i32 = 0; - var dynamicOffset = module.precomputeExpression(compiler.compileExpression( - elementExpression, - Type.i32, - ConversionKind.IMPLICIT, - WrapMode.NONE - )); + var dynamicOffset = module.precomputeExpression( + compiler.compileExpression( + elementExpression, + Type.i32, + ConversionKind.IMPLICIT, + WrapMode.NONE + ) + ); if (getExpressionId(dynamicOffset) == ExpressionId.Const) { constantOffset = getConstValueI32(dynamicOffset); dynamicOffset = 0; @@ -4276,7 +4278,16 @@ function compileTypedArraySet( ), nativeSizeType, (dataStart).memoryOffset ); + + var typeAlignLog2 = type.alignLog2; + constantOffset <<= typeAlignLog2; if (dynamicOffset) { + if (typeAlignLog2) { + dynamicOffset = module.createBinary(BinaryOp.ShlI32, + dynamicOffset, + module.createI32(typeAlignLog2) + ); + } if (nativeSizeType == NativeType.I64) { dataStartExpr = module.createBinary(BinaryOp.AddI64, dataStartExpr, @@ -4292,13 +4303,47 @@ function compileTypedArraySet( var valueExpr = compiler.compileExpression( valueExpression, - type.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32, + type.is(TypeFlags.INTEGER | TypeFlags.VALUE) + ? type.is(TypeFlags.LONG) + ? type.is(TypeFlags.SIGNED) + ? Type.i64 + : Type.u64 + : type.is(TypeFlags.SIGNED) + ? Type.i32 + : Type.u32 + : type, ConversionKind.IMPLICIT, WrapMode.NONE ); + + // clamp + if (target.internalName == BuiltinSymbols.Uint8ClampedArray) { + let tempLocal = compiler.currentFlow.getAndFreeTempLocal(Type.i32, true); + // ~(value >> 31) & (((255 - value) >> 31) | value) + valueExpr = module.createBinary(BinaryOp.AndI32, + module.createBinary(BinaryOp.XorI32, + module.createBinary(BinaryOp.ShrI32, + module.createTeeLocal(tempLocal.index, valueExpr), + module.createI32(31) + ), + module.createI32(-1) + ), + module.createBinary(BinaryOp.OrI32, + module.createBinary(BinaryOp.ShrI32, + module.createBinary(BinaryOp.SubI32, + module.createI32(255), + module.createGetLocal(tempLocal.index, NativeType.I32) + ), + module.createI32(31) + ), + module.createGetLocal(tempLocal.index, NativeType.I32) + ) + ); + } + var nativeType = type.toNativeType(); - // TODO: check offset, clamp + // TODO: check offset if (contextualType == Type.void) { compiler.currentType = Type.void; diff --git a/src/program.ts b/src/program.ts index 60663d52..b69e0b29 100644 --- a/src/program.ts +++ b/src/program.ts @@ -2837,6 +2837,13 @@ export class ClassPrototype extends DeclaredElement { return (this.declaration).implementsTypes; } + /** Tests if this prototype is of a builtin array type (Array/TypedArray). */ + get isBuiltinArray(): bool { + var arrayBufferViewInstance = this.program.arrayBufferViewInstance; + return arrayBufferViewInstance !== null + && this.extends(arrayBufferViewInstance.prototype); + } + /** Tests if this prototype extends the specified. */ extends(basePtototype: ClassPrototype | null): bool { var current: ClassPrototype | null = this; @@ -2919,6 +2926,27 @@ export class Class extends TypedElement { return id; } + /** Tests if this class is of a builtin array type (Array/TypedArray). */ + get isBuiltinArray(): bool { + return this.prototype.isBuiltinArray; + } + + /** Tests if this class is array-like. */ + get isArrayLike(): bool { + if (this.isBuiltinArray) return true; + var lengthField = this.lookupInSelf("length"); + return lengthField !== null && ( + lengthField.kind == ElementKind.FIELD || + ( + lengthField.kind == ElementKind.PROPERTY && + (lengthField).getterInstance !== null // TODO: resolve & check type? + ) + ) && ( + this.lookupOverload(OperatorKind.INDEXED_GET) !== null || + this.lookupOverload(OperatorKind.UNCHECKED_INDEXED_GET) !== null + ); + } + /** Constructs a new class. */ constructor( /** Name incl. type parameters, i.e. `Foo`. */ diff --git a/src/types.ts b/src/types.ts index 0f7d6b11..c3193e65 100644 --- a/src/types.ts +++ b/src/types.ts @@ -145,6 +145,11 @@ export class Type { } } + /** Gets this type's logarithmic alignment in memory. */ + get alignLog2(): i32 { + return 31 - clz(this.byteSize); + } + /** Tests if this is a managed type that needs GC hooks. */ isManaged(program: Program): bool { if (program.gcImplemented) { diff --git a/std/assembly/runtime.ts b/std/assembly/runtime.ts index 2635ef59..c29c02a8 100644 --- a/std/assembly/runtime.ts +++ b/std/assembly/runtime.ts @@ -219,9 +219,9 @@ export abstract class ArrayBufferView { @unsafe dataEnd: usize; - constructor(length: i32, alignLog2: i32) { + protected constructor(length: i32, alignLog2: i32) { if (length > MAX_BYTELENGTH >>> alignLog2) throw new RangeError("Invalid length"); - var buffer = new ArrayBuffer(length << alignLog2); + var buffer = new ArrayBuffer(length = length << alignLog2); this.data = buffer; this.dataStart = changetype(buffer); this.dataEnd = changetype(buffer) + length; diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index b830eebb..ff6170ec 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -84,7 +84,9 @@ export class Uint8Array extends ArrayBufferView { super(length, alignof()); } - get length(): i32 { return this.byteLength; } + get length(): i32 { + return this.byteLength; + } fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { return FILL(this, value, start, end); @@ -209,7 +211,7 @@ export class Int16Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 1; + return this.byteLength >>> alignof(); } fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { @@ -278,7 +280,7 @@ export class Uint16Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 1; + return this.byteLength >>> alignof(); } fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { @@ -347,7 +349,7 @@ export class Int32Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 2; + return this.byteLength >>> alignof(); } fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { @@ -416,7 +418,7 @@ export class Uint32Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 2; + return this.byteLength >>> alignof(); } fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { @@ -485,7 +487,7 @@ export class Int64Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 3; + return this.byteLength >>> alignof(); } fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { @@ -554,7 +556,7 @@ export class Uint64Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 3; + return this.byteLength >>> alignof(); } fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { @@ -623,7 +625,7 @@ export class Float32Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 2; + return this.byteLength >>> alignof(); } fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { @@ -692,7 +694,7 @@ export class Float64Array extends ArrayBufferView { } get length(): i32 { - return this.byteLength >>> 3; + return this.byteLength >>> alignof(); } fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { @@ -797,18 +799,18 @@ function SUBARRAY( begin: i32, end: i32 ): TArray { - var buffer = array.data; var length = array.length; if (begin < 0) begin = max(length + begin, 0); else begin = min(begin, length); if (end < 0) end = max(length + end, begin); else end = max(min(end, length), begin); - var out = ALLOCATE(offsetof()); - store(out, buffer, offsetof("buffer")); - store(out, array.dataStart + (begin << alignof()) , offsetof("dataStart")); - store(out, array.dataEnd + ((end - begin) << alignof()), offsetof("dataEnd")); - LINK(buffer, REGISTER(out)); // register first, then link - return changetype(out); + var out = REGISTER(ALLOCATE(offsetof())); + var data = array.data; + var dataStart = array.dataStart; + changetype(out).data = data; // links + changetype(out).dataStart = dataStart + (begin << alignof()); + changetype(out).dataEnd = dataStart + (end << alignof()); + return out; } // @ts-ignore: decorator diff --git a/tests/compiler/builtins.optimized.wat b/tests/compiler/builtins.optimized.wat index 99c4172d..c4c30828 100644 --- a/tests/compiler/builtins.optimized.wat +++ b/tests/compiler/builtins.optimized.wat @@ -4,8 +4,9 @@ (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") - (data (i32.const 40) "\01\00\00\001") + (data (i32.const 8) "\01\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") + (data (i32.const 40) "\01") + (data (i32.const 48) "\01\00\00\00\06\00\00\00a\00b\00c") (table $0 2 funcref) (elem (i32.const 0) $builtins/test $start:builtins~anonymous|0) (global $builtins/b (mut i32) (i32.const 0)) @@ -42,8 +43,8 @@ i32.ne if i32.const 0 - i32.const 8 - i32.const 66 + i32.const 16 + i32.const 67 i32.const 19 call $~lib/env/abort unreachable @@ -55,8 +56,8 @@ i32.ne if i32.const 0 - i32.const 8 - i32.const 67 + i32.const 16 + i32.const 68 i32.const 20 call $~lib/env/abort unreachable @@ -68,8 +69,8 @@ i32.ne if i32.const 0 - i32.const 8 - i32.const 68 + i32.const 16 + i32.const 69 i32.const 20 call $~lib/env/abort unreachable @@ -91,8 +92,8 @@ i64.ne if i32.const 0 - i32.const 8 - i32.const 84 + i32.const 16 + i32.const 85 i32.const 19 call $~lib/env/abort unreachable @@ -104,8 +105,8 @@ i64.ne if i32.const 0 - i32.const 8 - i32.const 85 + i32.const 16 + i32.const 86 i32.const 20 call $~lib/env/abort unreachable @@ -117,8 +118,8 @@ i32.ne if i32.const 0 - i32.const 8 - i32.const 86 + i32.const 16 + i32.const 87 i32.const 20 call $~lib/env/abort unreachable diff --git a/tests/compiler/builtins.ts b/tests/compiler/builtins.ts index 32f6d111..0ed738f8 100644 --- a/tests/compiler/builtins.ts +++ b/tests/compiler/builtins.ts @@ -26,7 +26,8 @@ assert(isFloat(1)); assert(!isFloat(1)); assert(isReference(changetype(null))); assert(!isReference(changetype(null))); -assert(isString("1")); +assert(isString("")); +assert(isString("abc")); assert(!isString(1)); assert(isArray(changetype(null))); assert(isArrayLike(changetype(null))); diff --git a/tests/compiler/builtins.untouched.wat b/tests/compiler/builtins.untouched.wat index cea0d32b..61f4c7f3 100644 --- a/tests/compiler/builtins.untouched.wat +++ b/tests/compiler/builtins.untouched.wat @@ -4,8 +4,9 @@ (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\001\00") + (data (i32.const 8) "\01\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00") + (data (i32.const 40) "\01\00\00\00\00\00\00\00") + (data (i32.const 48) "\01\00\00\00\06\00\00\00a\00b\00c\00") (table $0 2 funcref) (elem (i32.const 0) $null $start:builtins~anonymous|0) (global $builtins/b (mut i32) (i32.const 0)) @@ -48,7 +49,7 @@ (global $~lib/builtins/f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991)) (global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991)) (global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 64)) (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $builtins/test)) @@ -67,7 +68,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 6 i32.const 0 call $~lib/env/abort @@ -78,7 +79,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 7 i32.const 0 call $~lib/env/abort @@ -88,7 +89,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 8 i32.const 0 call $~lib/env/abort @@ -99,7 +100,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 9 i32.const 0 call $~lib/env/abort @@ -109,7 +110,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 10 i32.const 0 call $~lib/env/abort @@ -120,7 +121,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 11 i32.const 0 call $~lib/env/abort @@ -130,7 +131,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 12 i32.const 0 call $~lib/env/abort @@ -141,7 +142,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 13 i32.const 0 call $~lib/env/abort @@ -151,7 +152,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 14 i32.const 0 call $~lib/env/abort @@ -161,7 +162,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 15 i32.const 0 call $~lib/env/abort @@ -171,7 +172,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 16 i32.const 0 call $~lib/env/abort @@ -182,7 +183,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 17 i32.const 0 call $~lib/env/abort @@ -192,7 +193,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 18 i32.const 0 call $~lib/env/abort @@ -203,7 +204,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 19 i32.const 0 call $~lib/env/abort @@ -213,7 +214,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 20 i32.const 0 call $~lib/env/abort @@ -224,7 +225,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 21 i32.const 0 call $~lib/env/abort @@ -234,7 +235,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 23 i32.const 0 call $~lib/env/abort @@ -245,7 +246,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 24 i32.const 0 call $~lib/env/abort @@ -255,7 +256,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 25 i32.const 0 call $~lib/env/abort @@ -266,7 +267,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 26 i32.const 0 call $~lib/env/abort @@ -276,7 +277,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 27 i32.const 0 call $~lib/env/abort @@ -287,7 +288,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 28 i32.const 0 call $~lib/env/abort @@ -297,28 +298,28 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 29 i32.const 0 call $~lib/env/abort unreachable end + i32.const 1 + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 30 + i32.const 0 + call $~lib/env/abort + unreachable + end i32.const 0 i32.eqz i32.eqz if i32.const 0 - i32.const 8 - i32.const 30 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.eqz - if - i32.const 0 - i32.const 8 + i32.const 16 i32.const 31 i32.const 0 call $~lib/env/abort @@ -328,7 +329,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 32 i32.const 0 call $~lib/env/abort @@ -338,7 +339,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 33 i32.const 0 call $~lib/env/abort @@ -348,92 +349,102 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 34 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 - i32.eqz + i32.const 1 i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 35 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1 + i32.const 0 + i32.eqz i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 36 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 - i32.eqz + i32.const 1 i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 37 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1 + i32.const 0 + i32.eqz i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 38 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 - i32.eqz + i32.const 1 i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 39 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1 - i32.eqz - if - i32.const 0 - i32.const 8 - i32.const 43 - i32.const 0 - call $~lib/env/abort - unreachable - end i32.const 0 i32.eqz i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 + i32.const 40 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1 + i32.eqz + if + i32.const 0 + i32.const 16 i32.const 44 i32.const 0 call $~lib/env/abort unreachable end + i32.const 0 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 45 + i32.const 0 + call $~lib/env/abort + unreachable + end i32.const 1 i32.eqz if i32.const 0 - i32.const 8 - i32.const 45 + i32.const 16 + i32.const 46 i32.const 0 call $~lib/env/abort unreachable @@ -443,8 +454,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 46 + i32.const 16 + i32.const 47 i32.const 0 call $~lib/env/abort unreachable @@ -527,8 +538,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 66 + i32.const 16 + i32.const 67 i32.const 19 call $~lib/env/abort unreachable @@ -548,8 +559,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 67 + i32.const 16 + i32.const 68 i32.const 20 call $~lib/env/abort unreachable @@ -569,8 +580,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 68 + i32.const 16 + i32.const 69 i32.const 20 call $~lib/env/abort unreachable @@ -635,8 +646,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 84 + i32.const 16 + i32.const 85 i32.const 19 call $~lib/env/abort unreachable @@ -656,8 +667,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 85 + i32.const 16 + i32.const 86 i32.const 20 call $~lib/env/abort unreachable @@ -677,8 +688,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 86 + i32.const 16 + i32.const 87 i32.const 20 call $~lib/env/abort unreachable @@ -731,8 +742,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 103 + i32.const 16 + i32.const 104 i32.const 0 call $~lib/env/abort unreachable @@ -751,8 +762,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 104 + i32.const 16 + i32.const 105 i32.const 0 call $~lib/env/abort unreachable @@ -773,8 +784,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 105 + i32.const 16 + i32.const 106 i32.const 0 call $~lib/env/abort unreachable @@ -795,8 +806,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 106 + i32.const 16 + i32.const 107 i32.const 0 call $~lib/env/abort unreachable @@ -818,8 +829,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 107 + i32.const 16 + i32.const 108 i32.const 0 call $~lib/env/abort unreachable @@ -840,8 +851,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 108 + i32.const 16 + i32.const 109 i32.const 0 call $~lib/env/abort unreachable @@ -954,8 +965,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 139 + i32.const 16 + i32.const 140 i32.const 0 call $~lib/env/abort unreachable @@ -974,8 +985,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 140 + i32.const 16 + i32.const 141 i32.const 0 call $~lib/env/abort unreachable @@ -996,8 +1007,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 141 + i32.const 16 + i32.const 142 i32.const 0 call $~lib/env/abort unreachable @@ -1018,8 +1029,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 142 + i32.const 16 + i32.const 143 i32.const 0 call $~lib/env/abort unreachable @@ -1041,8 +1052,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 143 + i32.const 16 + i32.const 144 i32.const 0 call $~lib/env/abort unreachable @@ -1063,8 +1074,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 144 + i32.const 16 + i32.const 145 i32.const 0 call $~lib/env/abort unreachable @@ -1379,48 +1390,48 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 263 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 + i32.const 16 i32.const 264 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4 - i32.const 4 + i32.const 2 + i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 265 i32.const 0 call $~lib/env/abort unreachable end - i32.const 8 - i32.const 8 + i32.const 4 + i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 266 i32.const 0 call $~lib/env/abort unreachable end + i32.const 8 + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 267 + i32.const 0 + call $~lib/env/abort + unreachable + end i32.const 4 drop i32.const 1 @@ -1429,44 +1440,44 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 268 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 + i32.const 16 i32.const 269 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2 - i32.const 2 + i32.const 1 + i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 270 i32.const 0 call $~lib/env/abort unreachable end + i32.const 2 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 271 + i32.const 0 + call $~lib/env/abort + unreachable + end i32.const 4 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 - i32.const 271 + i32.const 16 + i32.const 272 i32.const 0 call $~lib/env/abort unreachable @@ -1477,8 +1488,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 272 + i32.const 16 + i32.const 273 i32.const 0 call $~lib/env/abort unreachable @@ -1491,79 +1502,67 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 274 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 8 - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 + i32.const 16 i32.const 275 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 8 + i32.const 8 i32.eq i32.eqz if i32.const 0 - i32.const 8 - i32.const 277 + i32.const 16 + i32.const 276 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 278 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2 - i32.const 2 + i32.const 1 + i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3 - i32.const 3 + i32.const 2 + i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 280 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 3 + i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 281 i32.const 0 call $~lib/env/abort @@ -1575,56 +1574,68 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 284 + i32.const 16 + i32.const 282 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4 - i32.const 4 + i32.const 0 + i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 285 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 4 + i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 286 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2 - i32.const 2 + i32.const 0 + i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 287 i32.const 0 call $~lib/env/abort unreachable end + i32.const 2 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 288 + i32.const 0 + call $~lib/env/abort + unreachable + end i32.const 0 i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 - i32.const 289 + i32.const 16 + i32.const 290 i32.const 0 call $~lib/env/abort unreachable @@ -1635,8 +1646,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 290 + i32.const 16 + i32.const 291 i32.const 0 call $~lib/env/abort unreachable @@ -1647,8 +1658,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 292 + i32.const 16 + i32.const 293 i32.const 0 call $~lib/env/abort unreachable @@ -1665,8 +1676,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 293 + i32.const 16 + i32.const 294 i32.const 0 call $~lib/env/abort unreachable @@ -1683,8 +1694,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 294 + i32.const 16 + i32.const 295 i32.const 0 call $~lib/env/abort unreachable @@ -1704,8 +1715,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 295 + i32.const 16 + i32.const 296 i32.const 0 call $~lib/env/abort unreachable @@ -1725,8 +1736,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 296 + i32.const 16 + i32.const 297 i32.const 0 call $~lib/env/abort unreachable @@ -1746,8 +1757,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 297 + i32.const 16 + i32.const 298 i32.const 0 call $~lib/env/abort unreachable @@ -1767,8 +1778,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 298 + i32.const 16 + i32.const 299 i32.const 0 call $~lib/env/abort unreachable @@ -1787,8 +1798,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 299 + i32.const 16 + i32.const 300 i32.const 0 call $~lib/env/abort unreachable @@ -1807,8 +1818,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 300 + i32.const 16 + i32.const 301 i32.const 0 call $~lib/env/abort unreachable @@ -1823,8 +1834,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 313 + i32.const 16 + i32.const 314 i32.const 0 call $~lib/env/abort unreachable @@ -1835,8 +1846,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 314 + i32.const 16 + i32.const 315 i32.const 0 call $~lib/env/abort unreachable @@ -1851,8 +1862,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 315 + i32.const 16 + i32.const 316 i32.const 0 call $~lib/env/abort unreachable @@ -1863,8 +1874,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 316 + i32.const 16 + i32.const 317 i32.const 0 call $~lib/env/abort unreachable @@ -1875,8 +1886,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 317 + i32.const 16 + i32.const 318 i32.const 0 call $~lib/env/abort unreachable @@ -1887,8 +1898,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 318 + i32.const 16 + i32.const 319 i32.const 0 call $~lib/env/abort unreachable @@ -1899,8 +1910,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 319 + i32.const 16 + i32.const 320 i32.const 0 call $~lib/env/abort unreachable @@ -1911,8 +1922,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 320 + i32.const 16 + i32.const 321 i32.const 0 call $~lib/env/abort unreachable @@ -1923,8 +1934,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 322 + i32.const 16 + i32.const 323 i32.const 0 call $~lib/env/abort unreachable @@ -1935,8 +1946,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 323 + i32.const 16 + i32.const 324 i32.const 0 call $~lib/env/abort unreachable @@ -1947,8 +1958,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 324 + i32.const 16 + i32.const 325 i32.const 0 call $~lib/env/abort unreachable @@ -1959,8 +1970,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 325 + i32.const 16 + i32.const 326 i32.const 0 call $~lib/env/abort unreachable @@ -1971,8 +1982,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 326 + i32.const 16 + i32.const 327 i32.const 0 call $~lib/env/abort unreachable @@ -1983,8 +1994,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 327 + i32.const 16 + i32.const 328 i32.const 0 call $~lib/env/abort unreachable @@ -1995,8 +2006,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 328 + i32.const 16 + i32.const 329 i32.const 0 call $~lib/env/abort unreachable @@ -2007,19 +2018,7 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 329 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $~lib/builtins/bool.MIN_VALUE - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 8 + i32.const 16 i32.const 330 i32.const 0 call $~lib/env/abort @@ -2031,8 +2030,20 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 330 + i32.const 16 + i32.const 331 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $~lib/builtins/bool.MIN_VALUE + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 331 i32.const 29 call $~lib/env/abort unreachable @@ -2043,8 +2054,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 331 + i32.const 16 + i32.const 332 i32.const 0 call $~lib/env/abort unreachable @@ -2055,8 +2066,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 331 + i32.const 16 + i32.const 332 i32.const 29 call $~lib/env/abort unreachable @@ -2067,8 +2078,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 333 + i32.const 16 + i32.const 334 i32.const 0 call $~lib/env/abort unreachable @@ -2079,8 +2090,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 334 + i32.const 16 + i32.const 335 i32.const 0 call $~lib/env/abort unreachable @@ -2091,8 +2102,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 335 + i32.const 16 + i32.const 336 i32.const 0 call $~lib/env/abort unreachable @@ -2103,8 +2114,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 336 + i32.const 16 + i32.const 337 i32.const 0 call $~lib/env/abort unreachable @@ -2115,8 +2126,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 337 + i32.const 16 + i32.const 338 i32.const 0 call $~lib/env/abort unreachable @@ -2127,8 +2138,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 338 + i32.const 16 + i32.const 339 i32.const 0 call $~lib/env/abort unreachable @@ -2139,8 +2150,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 340 + i32.const 16 + i32.const 341 i32.const 0 call $~lib/env/abort unreachable @@ -2151,8 +2162,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 341 + i32.const 16 + i32.const 342 i32.const 0 call $~lib/env/abort unreachable @@ -2163,8 +2174,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 342 + i32.const 16 + i32.const 343 i32.const 0 call $~lib/env/abort unreachable @@ -2175,8 +2186,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 343 + i32.const 16 + i32.const 344 i32.const 0 call $~lib/env/abort unreachable @@ -2187,8 +2198,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 344 + i32.const 16 + i32.const 345 i32.const 0 call $~lib/env/abort unreachable @@ -2199,8 +2210,8 @@ i32.eqz if i32.const 0 - i32.const 8 - i32.const 345 + i32.const 16 + i32.const 346 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/empty.ts b/tests/compiler/empty.ts index 26349bc9..e69de29b 100644 --- a/tests/compiler/empty.ts +++ b/tests/compiler/empty.ts @@ -1,8 +0,0 @@ -import "allocator/arena"; - -var arr: i32[] = [1, 2, 3]; - -assert(arr.length == 3); -assert(arr[0] == 1); -assert(arr[1] == 2); -assert(arr[2] == 3); diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index b03c49fe..19cf3e76 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -1,8 +1,8 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) @@ -12,8 +12,8 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\06\00\00\001\002\003") (data (i32.const 24) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") - (data (i32.const 64) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") (data (i32.const 152) "\01") (data (i32.const 160) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") (data (i32.const 192) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") @@ -54,7 +54,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (start $start) - (func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -77,15 +77,15 @@ i32.add i32.const -8 i32.and - local.tee $2 + local.tee $0 current_memory - local.tee $3 + local.tee $2 i32.const 16 i32.shl i32.gt_u if - local.get $3 local.get $2 + local.get $0 local.get $1 i32.sub i32.const 65535 @@ -94,16 +94,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $0 + local.tee $3 + local.get $2 local.get $3 - local.get $0 i32.gt_s select grow_memory i32.const 0 i32.lt_s if - local.get $0 + local.get $3 grow_memory i32.const 0 i32.lt_s @@ -112,11 +112,11 @@ end end end - local.get $2 + local.get $0 global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocRaw (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/doAllocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -126,7 +126,7 @@ i32.clz i32.sub i32.shl - call $~lib/allocator/arena/__memory_allocate + call $~lib/memory/memory.allocate local.tee $1 i32.const -1520547049 i32.store @@ -137,280 +137,277 @@ i32.const 8 i32.add ) - (func $~lib/util/memory/memset (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.eqz - if - return - end + (func $~lib/runtime/assertUnregistered (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 1 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 2 + i32.const 740 i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - i32.const 0 - i32.store8 - local.get $0 - i32.const 2 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 2 - i32.sub - i32.const 0 - i32.store8 - local.get $2 - i32.const 3 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 4 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 8 - i32.le_u - if - return - end - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $2 - local.get $0 - i32.add - local.tee $0 - i32.const 0 - i32.store - local.get $1 - local.get $2 - i32.sub - i32.const -4 - i32.and - local.tee $1 - local.get $0 - i32.add - i32.const 4 - i32.sub - i32.const 0 - i32.store - local.get $1 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 8 - i32.add - i32.const 0 - i32.store - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 12 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 8 - i32.sub - i32.const 0 - i32.store - local.get $1 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 16 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 20 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 24 - i32.add - i32.const 0 - i32.store - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 28 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 24 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 20 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 16 - i32.sub - i32.const 0 - i32.store - local.get $0 - i32.const 4 - i32.and - i32.const 24 - i32.add - local.tee $2 - local.get $0 - i32.add - local.set $0 - local.get $1 - local.get $2 - i32.sub - local.set $1 - loop $continue|0 - local.get $1 - i32.const 32 - i32.ge_u - if - local.get $0 - i64.const 0 - i64.store - local.get $0 - i32.const 8 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 16 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 24 - i32.add - i64.const 0 - i64.store - local.get $1 - i32.const 32 - i32.sub - local.set $1 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $continue|0 - end - end - ) - (func $~lib/runtime/runtime.unref (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 748 - i32.lt_u if i32.const 0 - i32.const 120 - i32.const 117 - i32.const 4 + i32.const 72 + i32.const 188 + i32.const 2 call $~lib/env/abort unreachable end local.get $0 i32.const 8 i32.sub - local.tee $0 i32.load i32.const -1520547049 i32.ne if i32.const 0 - i32.const 120 - i32.const 119 - i32.const 4 + i32.const 72 + i32.const 189 + i32.const 2 call $~lib/env/abort unreachable end + ) + (func $~lib/runtime/doRegister (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/runtime/assertUnregistered + local.get $0 + i32.const 8 + i32.sub + local.get $1 + i32.store local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + block $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.eqz + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + i32.const 1 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 2 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 1 + i32.add + i32.const 0 + i32.store8 + local.get $0 + i32.const 2 + i32.add + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.const 2 + i32.sub + i32.const 0 + i32.store8 + local.get $2 + i32.const 3 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 6 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 3 + i32.add + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + i32.const 4 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + local.get $0 + i32.sub + i32.const 3 + i32.and + local.tee $2 + i32.sub + local.set $1 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 0 + i32.store + local.get $1 + i32.const -4 + i32.and + local.tee $1 + local.get $0 + i32.add + i32.const 4 + i32.sub + i32.const 0 + i32.store + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 4 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.add + i32.const 0 + i32.store + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.const 12 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 8 + i32.sub + i32.const 0 + i32.store + local.get $1 + i32.const 24 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.const 28 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 24 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 20 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 16 + i32.sub + i32.const 0 + i32.store + local.get $0 + i32.const 4 + i32.and + i32.const 24 + i32.add + local.tee $2 + local.get $0 + i32.add + local.set $0 + local.get $1 + local.get $2 + i32.sub + local.set $1 + loop $continue|0 + local.get $1 + i32.const 32 + i32.ge_u + if + local.get $0 + i64.const 0 + i64.store + local.get $0 + i32.const 8 + i32.add + i64.const 0 + i64.store + local.get $0 + i32.const 16 + i32.add + i64.const 0 + i64.store + local.get $0 + i32.const 24 + i32.add + i64.const 0 + i64.store + local.get $1 + i32.const 32 + i32.sub + local.set $1 + local.get $0 + i32.const 32 + i32.add + local.set $0 + br $continue|0 + end + end + end + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741816 i32.gt_u if i32.const 0 - i32.const 72 + i32.const 112 i32.const 24 - i32.const 59 + i32.const 43 call $~lib/env/abort unreachable end local.get $0 - call $~lib/runtime/runtime.allocRaw + call $~lib/runtime/doAllocate local.tee $1 local.get $0 - call $~lib/util/memory/memset + call $~lib/memory/memory.fill local.get $1 - local.tee $0 - call $~lib/runtime/runtime.unref - i32.const 2 - i32.store - local.get $0 + i32.const 3 + call $~lib/runtime/doRegister ) - (func $~lib/map/Map#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -432,10 +429,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/allocator/arena/__memory_allocate + call $~lib/runtime/doAllocate + i32.const 2 + call $~lib/runtime/doRegister local.tee $0 i32.const 0 i32.store @@ -458,7 +457,35 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hashStr (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + i32.const 24 + call $~lib/runtime/doAllocate + i32.const 4 + call $~lib/runtime/doRegister + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + i32.const 0 + i32.store offset=16 + local.get $0 + i32.const 0 + i32.store offset=20 + local.get $0 + call $~lib/map/Map#clear + local.get $0 + ) + (func $~lib/util/hash/hashStr (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -496,7 +523,7 @@ end local.get $1 ) - (func $~lib/util/string/compareImpl (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) loop $continue|0 local.get $2 @@ -529,7 +556,7 @@ end local.get $3 ) - (func $~lib/string/String.eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -575,7 +602,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/map/Map#find (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#find (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $0 @@ -618,7 +645,7 @@ end i32.const 0 ) - (func $~lib/map/Map#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -719,7 +746,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -808,7 +835,7 @@ i32.store end ) - (func $~lib/util/hash/hash32 (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -839,7 +866,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -882,7 +909,7 @@ end i32.const 0 ) - (func $~lib/map/Map#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -983,7 +1010,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1073,7 +1100,7 @@ i32.store end ) - (func $~lib/symbol/_Symbol.for (; 18 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/symbol/_Symbol.for (; 20 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) global.get $~lib/symbol/stringToId if @@ -1098,7 +1125,7 @@ else call $~lib/map/Map#constructor global.set $~lib/symbol/stringToId - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor global.set $~lib/symbol/idToString end global.get $~lib/symbol/nextId @@ -1119,7 +1146,7 @@ call $~lib/map/Map#set local.get $0 ) - (func $~lib/map/Map#has (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1128,7 +1155,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#get (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1142,7 +1169,7 @@ unreachable end ) - (func $~lib/symbol/_Symbol.keyFor (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol.keyFor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/symbol/idToString i32.const 0 @@ -1163,7 +1190,7 @@ i32.const 0 end ) - (func $~lib/util/memory/memcpy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2060,211 +2087,204 @@ i32.store8 end ) - (func $~lib/util/memory/memmove (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - local.get $1 - i32.eq - if - return - end - local.get $1 - local.get $2 - i32.add - local.get $0 - i32.le_u - local.tee $3 - i32.eqz - if - local.get $0 + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.add - local.get $1 - i32.le_u local.set $3 - end - local.get $3 - if - local.get $0 local.get $1 - local.get $2 - call $~lib/util/memory/memcpy - return - end - local.get $0 - local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and local.get $0 - i32.const 7 - i32.and + local.tee $2 i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $1 + local.get $3 + i32.add + local.get $2 + i32.le_u + local.tee $0 + i32.eqz if - loop $continue|0 - local.get $0 - i32.const 7 - i32.and + local.get $2 + local.get $3 + i32.add + local.get $1 + i32.le_u + local.set $0 + end + local.get $0 + if + local.get $2 + local.get $1 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $2 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $2 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $2 + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $2 + local.tee $4 + i32.const 1 + i32.add + local.set $2 + local.get $1 + local.tee $0 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $0 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + if + local.get $2 + local.get $1 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $3 if local.get $2 - i32.eqz - if - return - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 local.tee $4 i32.const 1 i32.add - local.set $0 + local.set $2 local.get $1 - local.tee $3 + local.tee $0 i32.const 1 i32.add local.set $1 local.get $4 - local.get $3 + local.get $0 i32.load8_u i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $continue|1 - end - end - end - loop $continue|2 - local.get $2 - if - local.get $0 - local.tee $4 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $4 - local.get $3 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|2 - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - if - return - end - local.get $2 + local.get $3 i32.const 1 i32.sub - local.tee $2 - local.get $0 + local.set $3 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $2 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $2 + local.get $3 + i32.add + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + local.get $2 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + if + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + local.get $2 + i32.add + local.get $1 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $3 + if + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + local.get $2 i32.add local.get $1 - local.get $2 + local.get $3 i32.add i32.load8_u i32.store8 - br $continue|3 + br $continue|5 end end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end end end ) - (func $~lib/memory/memory.copy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - local.get $1 - local.get $2 - call $~lib/util/memory/memmove - ) - (func $~lib/string/String#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2273,7 +2293,7 @@ if i32.const 0 i32.const 528 - i32.const 67 + i32.const 65 i32.const 4 call $~lib/env/abort unreachable @@ -2308,7 +2328,7 @@ return end local.get $2 - call $~lib/runtime/runtime.allocRaw + call $~lib/runtime/doAllocate local.tee $2 local.get $0 local.get $3 @@ -2320,12 +2340,10 @@ local.get $4 call $~lib/memory/memory.copy local.get $2 - call $~lib/runtime/runtime.unref i32.const 1 - i32.store - local.get $2 + call $~lib/runtime/doRegister ) - (func $~lib/string/String.concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 512 local.get $0 @@ -2333,7 +2351,7 @@ local.get $1 call $~lib/string/String#concat ) - (func $~lib/symbol/_Symbol#toString (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol#toString (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 160 @@ -2417,7 +2435,7 @@ i32.const 568 call $~lib/string/String.concat ) - (func $start:std/symbol (; 28 ;) (type $FUNCSIG$v) + (func $start:std/symbol (; 29 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/symbol/nextId local.tee $0 @@ -2594,10 +2612,10 @@ unreachable end ) - (func $start (; 29 ;) (type $FUNCSIG$v) + (func $start (; 30 ;) (type $FUNCSIG$v) call $start:std/symbol ) - (func $null (; 30 ;) (type $FUNCSIG$v) + (func $null (; 31 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 2ba25bb0..89dc2290 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -1,8 +1,8 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) @@ -12,8 +12,8 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\06\00\00\001\002\003\00") (data (i32.const 24) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00") - (data (i32.const 64) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 112) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") (data (i32.const 152) "\01\00\00\00\00\00\00\00") (data (i32.const 160) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") (data (i32.const 192) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00") @@ -36,14 +36,17 @@ (data (i32.const 680) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 0)) + (global $~lib/runtime/HEADER_SIZE i32 (i32.const 8)) + (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) (global $std/symbol/sym2 (mut i32) (i32.const 0)) (global $~lib/symbol/stringToId (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) - (global $~lib/gc/gc.implemented i32 (i32.const 0)) - (global $~lib/runtime/ArrayBufferView.MAX_BYTELENGTH i32 (i32.const 1073741816)) + (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) + (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741816)) (global $~lib/symbol/idToString (mut i32) (i32.const 0)) (global $std/symbol/sym3 (mut i32) (i32.const 0)) (global $std/symbol/sym4 (mut i32) (i32.const 0)) @@ -78,95 +81,11 @@ end local.get $2 ) - (func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.const 1073741824 - i32.gt_u - if - unreachable - end - global.get $~lib/allocator/arena/offset - local.set $1 - local.get $1 - local.get $0 - local.tee $2 - i32.const 1 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $4 - current_memory - local.set $5 - local.get $4 - local.get $5 - i32.const 16 - i32.shl - i32.gt_u - if - local.get $4 - local.get $1 - i32.sub - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $5 - local.tee $3 - local.get $2 - local.tee $6 - local.get $3 - local.get $6 - i32.gt_s - select - local.set $3 - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - local.get $2 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - end - local.get $4 - global.set $~lib/allocator/arena/offset - local.get $1 - ) - (func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/arena/__memory_allocate - return - ) - (func $~lib/runtime/runtime.adjust (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/adjustToBlock (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 - i32.const 8 + global.get $~lib/runtime/HEADER_SIZE i32.add i32.const 1 i32.sub @@ -174,353 +93,449 @@ i32.sub i32.shl ) - (func $~lib/runtime/runtime.allocRaw (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/allocator/arena/__memory_allocate|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + i32.const 1073741824 + i32.gt_u + if + unreachable + end + global.get $~lib/allocator/arena/offset + local.set $2 + local.get $2 + local.get $1 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select + i32.add + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + local.set $3 + current_memory + local.set $4 + local.get $3 + local.get $4 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $3 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $5 + local.get $4 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + local.set $6 + local.get $6 + grow_memory + i32.const 0 + i32.lt_s + if + local.get $5 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $3 + global.set $~lib/allocator/arena/offset + local.get $2 + end + return + ) + (func $~lib/runtime/doAllocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - call $~lib/runtime/runtime.adjust + call $~lib/runtime/adjustToBlock call $~lib/memory/memory.allocate local.set $1 local.get $1 - i32.const -1520547049 + global.get $~lib/runtime/HEADER_MAGIC i32.store local.get $1 local.get $0 i32.store offset=4 local.get $1 - i32.const 8 + global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/util/memory/memset (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - local.get $2 - i32.eqz - if - return - end + (func $~lib/runtime/ALLOCATE (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 1 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - local.get $1 - i32.store8 - local.get $0 - i32.const 2 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 2 - i32.sub - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 3 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 8 - i32.le_u - if - return - end - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $2 - i32.const -4 - i32.and - local.set $2 - i32.const -1 - i32.const 255 - i32.div_u - local.get $1 - i32.const 255 - i32.and - i32.mul - local.set $4 - local.get $0 - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 12 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 16 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 20 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 24 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 28 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 24 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 20 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 16 - i32.sub - local.get $4 - i32.store - i32.const 24 - local.get $0 - i32.const 4 - i32.and - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $4 - i64.extend_i32_u - local.get $4 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $5 - block $break|0 - loop $continue|0 - local.get $2 - i32.const 32 - i32.ge_u - if - block - local.get $0 - local.get $5 - i64.store - local.get $0 - i32.const 8 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 16 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 24 - i32.add - local.get $5 - i64.store - local.get $2 - i32.const 32 - i32.sub - local.set $2 - local.get $0 - i32.const 32 - i32.add - local.set $0 - end - br $continue|0 - end - end - end + call $~lib/runtime/doAllocate ) - (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - local.get $1 - local.get $2 - call $~lib/util/memory/memset - ) - (func $~lib/runtime/runtime.alloc (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/runtime/runtime.allocRaw - local.set $1 - local.get $1 - i32.const 0 - local.get $0 - call $~lib/memory/memory.fill - local.get $1 - ) - (func $~lib/runtime/runtime.unref (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/runtime/assertUnregistered (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/memory/HEAP_BASE - i32.const 8 - i32.add - i32.ge_u + i32.gt_u i32.eqz if i32.const 0 - i32.const 120 - i32.const 117 - i32.const 4 + i32.const 72 + i32.const 188 + i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 8 + global.get $~lib/runtime/HEADER_SIZE i32.sub - local.set $1 - local.get $1 i32.load - i32.const -1520547049 + global.get $~lib/runtime/HEADER_MAGIC i32.eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 119 - i32.const 4 + i32.const 72 + i32.const 189 + i32.const 2 call $~lib/env/abort unreachable end - local.get $1 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/runtime/doRegister (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/runtime/assertUnregistered + local.get $0 + global.get $~lib/runtime/HEADER_SIZE + i32.sub local.get $1 - global.get $~lib/runtime/ArrayBufferView.MAX_BYTELENGTH + i32.store + local.get $0 + ) + (func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + block $~lib/util/memory/memset|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $5 + i32.eqz + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 1 + i32.sub + local.get $4 + i32.store8 + local.get $5 + i32.const 2 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 1 + i32.add + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.add + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $5 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 3 + i32.add + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $5 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + i32.const 0 + local.get $3 + i32.sub + i32.const 3 + i32.and + local.set $6 + local.get $3 + local.get $6 + i32.add + local.set $3 + local.get $5 + local.get $6 + i32.sub + local.set $5 + local.get $5 + i32.const -4 + i32.and + local.set $5 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $7 + local.get $3 + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 4 + i32.sub + local.get $7 + i32.store + local.get $5 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 4 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 8 + i32.add + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 12 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 8 + i32.sub + local.get $7 + i32.store + local.get $5 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 12 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 16 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 20 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 24 + i32.add + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 28 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 24 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 20 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 16 + i32.sub + local.get $7 + i32.store + i32.const 24 + local.get $3 + i32.const 4 + i32.and + i32.add + local.set $6 + local.get $3 + local.get $6 + i32.add + local.set $3 + local.get $5 + local.get $6 + i32.sub + local.set $5 + local.get $7 + i64.extend_i32_u + local.get $7 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $8 + block $break|0 + loop $continue|0 + local.get $5 + i32.const 32 + i32.ge_u + if + block + local.get $3 + local.get $8 + i64.store + local.get $3 + i32.const 8 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 16 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 24 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 32 + i32.sub + local.set $5 + local.get $3 + i32.const 32 + i32.add + local.set $3 + end + br $continue|0 + end + end + end + end + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + global.get $~lib/runtime/MAX_BYTELENGTH i32.gt_u if i32.const 0 - i32.const 72 + i32.const 112 i32.const 24 - i32.const 59 + i32.const 43 call $~lib/env/abort unreachable end - block $~lib/runtime/runtime.register|inlined.0 (result i32) + block $~lib/runtime/ALLOCATE|inlined.0 (result i32) local.get $1 - call $~lib/runtime/runtime.alloc local.set $2 local.get $2 - call $~lib/runtime/runtime.unref - i32.const 2 - i32.store + call $~lib/runtime/doAllocate + end + local.set $3 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + block $~lib/runtime/REGISTER|inlined.0 (result i32) + local.get $3 + local.set $2 local.get $2 + i32.const 3 + call $~lib/runtime/doRegister end ) - (func $~lib/map/Map#clear (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 0 i32.const 16 @@ -546,13 +561,20 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) block (result i32) local.get $0 i32.eqz if - i32.const 24 - call $~lib/memory/memory.allocate + block $~lib/runtime/REGISTER>|inlined.0 (result i32) + i32.const 24 + call $~lib/runtime/ALLOCATE + local.set $1 + local.get $1 + i32.const 2 + call $~lib/runtime/doRegister + end local.set $0 end local.get $0 @@ -578,7 +600,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#clear (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 0 i32.const 16 @@ -604,13 +626,20 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) block (result i32) local.get $0 i32.eqz if - i32.const 24 - call $~lib/memory/memory.allocate + block $~lib/runtime/REGISTER>|inlined.0 (result i32) + i32.const 24 + call $~lib/runtime/ALLOCATE + local.set $1 + local.get $1 + i32.const 4 + call $~lib/runtime/doRegister + end local.set $0 end local.get $0 @@ -636,15 +665,15 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/string/String#get:length (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 8 + global.get $~lib/runtime/HEADER_SIZE i32.sub i32.load offset=4 i32.const 1 i32.shr_u ) - (func $~lib/util/hash/hashStr (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hashStr (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -686,7 +715,7 @@ end local.get $1 ) - (func $~lib/util/string/compareImpl (; 17 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 16 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -739,7 +768,7 @@ end local.get $5 ) - (func $~lib/string/String.eq (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.eq (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -783,7 +812,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/map/Map#find (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -834,7 +863,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -849,7 +878,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -871,7 +900,7 @@ unreachable end ) - (func $~lib/map/Map#rehash (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1005,7 +1034,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1109,7 +1138,7 @@ i32.store end ) - (func $~lib/util/hash/hash32 (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -1151,7 +1180,7 @@ local.set $1 local.get $1 ) - (func $~lib/map/Map#find (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 24 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -1202,7 +1231,7 @@ end i32.const 0 ) - (func $~lib/map/Map#rehash (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1336,7 +1365,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1440,7 +1469,7 @@ i32.store end ) - (func $~lib/symbol/_Symbol.for (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol.for (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) global.get $~lib/symbol/stringToId @@ -1487,7 +1516,7 @@ call $~lib/map/Map#set local.get $2 ) - (func $~lib/map/Map#has (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -1502,7 +1531,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#get (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -1524,7 +1553,7 @@ unreachable end ) - (func $~lib/symbol/_Symbol.keyFor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol.keyFor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/symbol/idToString i32.const 0 @@ -1545,7 +1574,7 @@ i32.const 0 end ) - (func $~lib/util/memory/memcpy (; 32 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2746,240 +2775,245 @@ i32.store8 end ) - (func $~lib/util/memory/memmove (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 32 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - local.get $0 - local.get $1 - i32.eq - if - return - end - local.get $1 - local.get $2 - i32.add - local.get $0 - i32.le_u - local.tee $3 - if (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 local.get $3 - else - local.get $0 - local.get $2 - i32.add - local.get $1 - i32.le_u - end - if - local.get $0 - local.get $1 - local.get $2 - call $~lib/util/memory/memcpy - return - end - local.get $0 - local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and + local.get $4 i32.eq if - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $5 + i32.add + local.get $3 + i32.le_u + local.tee $6 + if (result i32) + local.get $6 + else + local.get $3 + local.get $5 + i32.add + local.get $4 + i32.le_u + end + if + local.get $3 + local.get $4 + local.get $5 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $3 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $3 + i32.const 7 + i32.and + if + block + local.get $5 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + block (result i32) + local.get $3 + local.tee $6 + i32.const 1 + i32.add + local.set $3 + local.get $6 + end + block (result i32) + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + end + i32.load8_u + i32.store8 + end + br $continue|0 + end + end + end + block $break|1 + loop $continue|1 + local.get $5 + i32.const 8 + i32.ge_u + if + block + local.get $3 + local.get $4 + i64.load + i64.store + local.get $5 + i32.const 8 + i32.sub + local.set $5 + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $4 + i32.const 8 + i32.add + local.set $4 + end + br $continue|1 + end + end + end + end + block $break|2 + loop $continue|2 + local.get $5 if block - local.get $2 - i32.eqz - if - return - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 block (result i32) - local.get $0 - local.tee $3 + local.get $3 + local.tee $6 i32.const 1 i32.add - local.set $0 - local.get $3 + local.set $3 + local.get $6 end block (result i32) - local.get $1 - local.tee $3 + local.get $4 + local.tee $6 i32.const 1 i32.add - local.set $1 - local.get $3 + local.set $4 + local.get $6 end i32.load8_u i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 + local.get $5 + i32.const 1 i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 + local.set $5 end - br $continue|1 + br $continue|2 end end end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $3 + else + local.get $4 + i32.const 7 + i32.and + local.get $3 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $3 + local.get $5 + i32.add + i32.const 7 + i32.and + if + block + local.get $5 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.add + local.get $4 + local.get $5 + i32.add + i32.load8_u + i32.store8 + end + br $continue|3 end - block (result i32) - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $3 + end + end + block $break|4 + loop $continue|4 + local.get $5 + i32.const 8 + i32.ge_u + if + block + local.get $5 + i32.const 8 + i32.sub + local.set $5 + local.get $3 + local.get $5 + i32.add + local.get $4 + local.get $5 + i32.add + i64.load + i64.store + end + br $continue|4 end - i32.load8_u - i32.store8 - local.get $2 + end + end + end + block $break|5 + loop $continue|5 + local.get $5 + if + local.get $3 + local.get $5 i32.const 1 i32.sub - local.set $2 + local.tee $5 + i32.add + local.get $4 + local.get $5 + i32.add + i32.load8_u + i32.store8 + br $continue|5 end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - return - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 end end end end ) - (func $~lib/memory/memory.copy (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - local.get $1 - local.get $2 - call $~lib/util/memory/memmove - ) - (func $~lib/string/String#concat (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2992,7 +3026,7 @@ if i32.const 0 i32.const 528 - i32.const 67 + i32.const 65 i32.const 4 call $~lib/env/abort unreachable @@ -3025,30 +3059,32 @@ i32.const 160 return end - local.get $4 - call $~lib/runtime/runtime.allocRaw - local.set $5 - local.get $5 + block $~lib/runtime/ALLOCATE|inlined.1 (result i32) + local.get $4 + local.set $5 + local.get $5 + call $~lib/runtime/doAllocate + end + local.set $6 + local.get $6 local.get $0 local.get $2 call $~lib/memory/memory.copy - local.get $5 + local.get $6 local.get $2 i32.add local.get $1 local.get $3 call $~lib/memory/memory.copy - block $~lib/runtime/runtime.register|inlined.0 (result i32) + block $~lib/runtime/REGISTER|inlined.0 (result i32) + local.get $6 + local.set $5 local.get $5 - local.set $6 - local.get $6 - call $~lib/runtime/runtime.unref i32.const 1 - i32.store - local.get $6 + call $~lib/runtime/doRegister end ) - (func $~lib/string/String.concat (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.eqz if @@ -3059,7 +3095,7 @@ local.get $1 call $~lib/string/String#concat ) - (func $~lib/symbol/_Symbol#toString (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol#toString (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3245,7 +3281,7 @@ i32.const 568 call $~lib/string/String.concat ) - (func $start:std/symbol (; 38 ;) (type $FUNCSIG$v) + (func $start:std/symbol (; 36 ;) (type $FUNCSIG$v) i32.const 16 call $~lib/symbol/Symbol global.set $std/symbol/sym1 @@ -3414,9 +3450,9 @@ global.get $~lib/symbol/_Symbol.isConcatSpreadable drop ) - (func $start (; 39 ;) (type $FUNCSIG$v) + (func $start (; 37 ;) (type $FUNCSIG$v) call $start:std/symbol ) - (func $null (; 40 ;) (type $FUNCSIG$v) + (func $null (; 38 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 2aa793c4..160c22ba 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -1,24 +1,18 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$v (func)) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$idd (func (param f64 f64) (result i32))) - (type $FUNCSIG$dii (func (param i32 i32) (result f64))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (type $FUNCSIG$viij (func (param i32 i32 i64))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$jjjii (func (param i64 i64 i32 i32) (result i64))) - (type $FUNCSIG$viif (func (param i32 i32 f32))) (type $FUNCSIG$fffii (func (param f32 f32 i32 i32) (result f32))) (type $FUNCSIG$dddii (func (param f64 f64 i32 i32) (result f64))) (type $FUNCSIG$jjii (func (param i64 i32 i32) (result i64))) - (type $FUNCSIG$jii (func (param i32 i32) (result i64))) (type $FUNCSIG$ffii (func (param f32 i32 i32) (result f32))) - (type $FUNCSIG$fii (func (param i32 i32) (result f32))) (type $FUNCSIG$ddii (func (param f64 i32 i32) (result f64))) (type $FUNCSIG$ijii (func (param i64 i32 i32) (result i32))) (type $FUNCSIG$ifii (func (param f32 i32 i32) (result i32))) @@ -27,58 +21,45 @@ (type $FUNCSIG$vjii (func (param i64 i32 i32))) (type $FUNCSIG$vfii (func (param f32 i32 i32))) (type $FUNCSIG$vdii (func (param f64 i32 i32))) + (type $FUNCSIG$jii (func (param i32 i32) (result i64))) (type $FUNCSIG$fi (func (param i32) (result f32))) (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$ff (func (param f32) (result f32))) (type $FUNCSIG$dd (func (param f64) (result f64))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\11\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 48) "\1b\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 112) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 176) "\05\00\00\00\00\00\00\00\01\01\01\04\05") - (data (i32.const 192) "\b0\00\00\00\05") - (data (i32.const 200) "\05") - (data (i32.const 216) "\c8\00\00\00\05") - (data (i32.const 224) "\05\00\00\00\00\00\00\00\01\01") - (data (i32.const 240) "\e0\00\00\00\05") - (data (i32.const 248) "\05\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 264) "\f8\00\00\00\05") - (data (i32.const 272) "\05\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 288) "\10\01\00\00\05") - (data (i32.const 296) "\03") - (data (i32.const 312) "(\01\00\00\03") - (data (i32.const 320) "\05\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 336) "@\01\00\00\05") - (data (i32.const 344) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 376) "X\01\00\00\05") - (data (i32.const 384) "\14") - (data (i32.const 416) "\80\01\00\00\05") - (data (i32.const 424) "\14\00\00\00\00\00\00\00\01\00\00\00\01") - (data (i32.const 456) "\a8\01\00\00\05") - (data (i32.const 464) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 496) "\d0\01\00\00\05") - (data (i32.const 504) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 536) "\f8\01\00\00\05") - (data (i32.const 544) "\0c") - (data (i32.const 576) " \02\00\00\03") - (data (i32.const 584) "\14\00\00\00\00\00\00\00\01") - (data (i32.const 608) "\02") - (data (i32.const 616) "H\02\00\00\05") - (data (i32.const 624) "\0f\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 664) "\14\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 712) "\0c\00\00\00\00\00\00\00\n\00\00\00\0c\00\00\00\0e") - (data (i32.const 744) "\c8\02\00\00\03") - (data (i32.const 752) "\16\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 800) "\16\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 848) "\1f\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 920) "\1b\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 984) "$\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 1048) "\d8\03\00\00\t") - (data (i32.const 1056) "!\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1128) "+\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 8) "\01\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 56) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 96) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 144) "\02\00\00\00\05\00\00\00\01\01\01\04\05") + (data (i32.const 160) "\02\00\00\00\05") + (data (i32.const 176) "\02\00\00\00\05\00\00\00\01\01") + (data (i32.const 192) "\02\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 208) "\02\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 224) "\02\00\00\00\03") + (data (i32.const 240) "\02\00\00\00\05\00\00\00\01\00\00\00\02") + (data (i32.const 256) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 288) "\02\00\00\00\14") + (data (i32.const 320) "\02\00\00\00\14\00\00\00\01\00\00\00\01") + (data (i32.const 352) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 384) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 416) "\02\00\00\00\0c") + (data (i32.const 440) "\02\00\00\00\14\00\00\00\01") + (data (i32.const 464) "\02") + (data (i32.const 472) "\01\00\00\00\1e\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 512) "\01\00\00\00(\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 560) "\02\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") + (data (i32.const 584) "\10\00\00\00\10\00\00\008\02\00\008\02\00\00D\02\00\00\03") + (data (i32.const 608) "\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 664) "\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 720) "\01\00\00\00>\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 792) "\01\00\00\006\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 856) "\02\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 904) "\10\00\00\00\10\00\00\00`\03\00\00`\03\00\00\84\03\00\00\t") + (data (i32.const 928) "\01\00\00\00B\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1008) "\01\00\00\00V\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") (table $0 112 funcref) - (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0) + (elem (i32.const 0) $null $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/typedarray/arr (mut i32) (i32.const 0)) @@ -95,12 +76,12 @@ (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) (global $std/typedarray/forEachCallCount (mut i32) (i32.const 0)) (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) - (global $std/typedarray/forEachValues (mut i32) (i32.const 744)) - (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1048)) + (global $std/typedarray/forEachValues (mut i32) (i32.const 592)) + (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 912)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) - (func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -123,15 +104,15 @@ i32.add i32.const -8 i32.and - local.tee $2 + local.tee $0 current_memory - local.tee $3 + local.tee $2 i32.const 16 i32.shl i32.gt_u if - local.get $3 local.get $2 + local.get $0 local.get $1 i32.sub i32.const 65535 @@ -140,16 +121,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $0 + local.tee $3 + local.get $2 local.get $3 - local.get $0 i32.gt_s select grow_memory i32.const 0 i32.lt_s if - local.get $0 + local.get $3 grow_memory i32.const 0 i32.lt_s @@ -158,23 +139,12 @@ end end end - local.get $2 + local.get $0 global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/internal/arraybuffer/allocateUnsafe (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/doAllocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) - local.get $0 - i32.const 1073741816 - i32.gt_u - if - i32.const 0 - i32.const 112 - i32.const 26 - i32.const 2 - call $~lib/env/abort - unreachable - end i32.const 1 i32.const 32 local.get $0 @@ -183,456 +153,329 @@ i32.clz i32.sub i32.shl - call $~lib/allocator/arena/__memory_allocate + call $~lib/memory/memory.allocate local.tee $1 - local.get $0 + i32.const -1520547049 i32.store local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 8 + i32.add ) - (func $~lib/internal/memory/memset (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i64) - local.get $2 - i32.eqz - if - return - end - local.get $0 - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 1 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - local.get $1 - i32.store8 - local.get $0 - i32.const 2 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - local.tee $3 - i32.const 2 - i32.sub - local.get $1 - i32.store8 - local.get $3 - i32.const 3 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $2 - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $3 - i32.sub - local.set $2 - local.get $0 - local.get $3 - i32.add - local.tee $0 - local.get $1 - i32.const 255 - i32.and - i32.const 16843009 - i32.mul - local.tee $1 - i32.store - local.get $2 - i32.const -4 - i32.and - local.tee $2 - local.get $0 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.store - local.get $0 - local.get $2 - i32.add - local.tee $3 - i32.const 12 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 8 - i32.sub - local.get $1 - i32.store - local.get $2 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.store - local.get $0 - i32.const 16 - i32.add - local.get $1 - i32.store - local.get $0 - i32.const 20 - i32.add - local.get $1 - i32.store - local.get $0 - i32.const 24 - i32.add - local.get $1 - i32.store - local.get $0 - local.get $2 - i32.add - local.tee $3 - i32.const 28 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 24 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 20 - i32.sub - local.get $1 - i32.store - local.get $3 - i32.const 16 - i32.sub - local.get $1 - i32.store - local.get $0 - i32.const 4 - i32.and - i32.const 24 - i32.add - local.tee $3 - local.get $0 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $1 - i64.extend_i32_u - local.tee $4 - local.get $4 - i64.const 32 - i64.shl - i64.or - local.set $4 - loop $continue|0 + block $~lib/util/memory/memset|inlined.0 local.get $2 - i32.const 32 - i32.ge_u - if - local.get $0 - local.get $4 - i64.store - local.get $0 - i32.const 8 - i32.add - local.get $4 - i64.store - local.get $0 - i32.const 16 - i32.add - local.get $4 - i64.store - local.get $0 - i32.const 24 - i32.add - local.get $4 - i64.store + i32.eqz + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 1 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 2 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.get $1 + i32.store8 + local.get $0 + i32.const 2 + i32.add + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + local.tee $3 + i32.const 2 + i32.sub + local.get $1 + i32.store8 + local.get $3 + i32.const 3 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 6 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 3 + i32.add + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.add + i32.const 4 + i32.sub + local.get $1 + i32.store8 + local.get $2 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $2 + i32.const 0 + local.get $0 + i32.sub + i32.const 3 + i32.and + local.tee $3 + i32.sub + local.set $2 + local.get $0 + local.get $3 + i32.add + local.tee $0 + local.get $1 + i32.const 255 + i32.and + i32.const 16843009 + i32.mul + local.tee $1 + i32.store + local.get $2 + i32.const -4 + i32.and + local.tee $2 + local.get $0 + i32.add + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.store + local.get $0 + local.get $2 + i32.add + local.tee $3 + i32.const 12 + i32.sub + local.get $1 + i32.store + local.get $3 + i32.const 8 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 24 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.store + local.get $0 + i32.const 16 + i32.add + local.get $1 + i32.store + local.get $0 + i32.const 20 + i32.add + local.get $1 + i32.store + local.get $0 + i32.const 24 + i32.add + local.get $1 + i32.store + local.get $0 + local.get $2 + i32.add + local.tee $3 + i32.const 28 + i32.sub + local.get $1 + i32.store + local.get $3 + i32.const 24 + i32.sub + local.get $1 + i32.store + local.get $3 + i32.const 20 + i32.sub + local.get $1 + i32.store + local.get $3 + i32.const 16 + i32.sub + local.get $1 + i32.store + local.get $0 + i32.const 4 + i32.and + i32.const 24 + i32.add + local.tee $3 + local.get $0 + i32.add + local.set $0 + local.get $2 + local.get $3 + i32.sub + local.set $2 + local.get $1 + i64.extend_i32_u + local.tee $4 + local.get $4 + i64.const 32 + i64.shl + i64.or + local.set $4 + loop $continue|0 local.get $2 i32.const 32 - i32.sub - local.set $2 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $continue|0 + i32.ge_u + if + local.get $0 + local.get $4 + i64.store + local.get $0 + i32.const 8 + i32.add + local.get $4 + i64.store + local.get $0 + i32.const 16 + i32.add + local.get $4 + i64.store + local.get $0 + i32.const 24 + i32.add + local.get $4 + i64.store + local.get $2 + i32.const 32 + i32.sub + local.set $2 + local.get $0 + i32.const 32 + i32.add + local.set $0 + br $continue|0 + end end end ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/runtime/assertUnregistered (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.const 1104 + i32.le_u + if + i32.const 0 + i32.const 64 + i32.const 188 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const -1520547049 + i32.ne + if + i32.const 0 + i32.const 64 + i32.const 189 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/runtime/doRegister (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/runtime/assertUnregistered + local.get $0 + i32.const 8 + i32.sub local.get $1 + i32.store + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 i32.const 1073741816 i32.gt_u if i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 + i32.const 104 + i32.const 24 + i32.const 43 call $~lib/env/abort unreachable end - local.get $1 - call $~lib/internal/arraybuffer/allocateUnsafe - local.tee $2 - i32.const 8 - i32.add - i32.const 0 - local.get $1 - call $~lib/internal/memory/memset local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int8Array#constructor (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.get $0 - call $~lib/typedarray/Int8Array#constructor - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 536870908 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 1 - i32.shl + call $~lib/runtime/doAllocate local.tee $1 - call $~lib/internal/arraybuffer/allocateUnsafe - local.tee $2 - i32.const 8 - i32.add i32.const 0 - local.get $1 - call $~lib/internal/memory/memset local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int16Array#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.get $0 - call $~lib/internal/typedarray/TypedArray#constructor - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end + call $~lib/memory/memory.fill local.get $1 i32.const 2 - i32.shl - local.tee $1 - call $~lib/internal/arraybuffer/allocateUnsafe - local.tee $2 - i32.const 8 - i32.add - i32.const 0 + call $~lib/runtime/doRegister + ) + (func $~lib/runtime/ArrayBufferView#constructor (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 - call $~lib/internal/memory/memset - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 + i32.const 1073741816 local.get $2 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int32Array#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.get $0 - call $~lib/internal/typedarray/TypedArray#constructor - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 134217727 + i32.shr_u i32.gt_u if i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 + i32.const 64 + i32.const 223 + i32.const 57 call $~lib/env/abort unreachable end local.get $1 - i32.const 3 + local.get $2 i32.shl local.tee $1 - call $~lib/internal/arraybuffer/allocateUnsafe - local.tee $2 - i32.const 8 - i32.add - i32.const 0 - local.get $1 - call $~lib/internal/memory/memset + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 local.get $0 i32.eqz if i32.const 12 - call $~lib/allocator/arena/__memory_allocate + call $~lib/runtime/doAllocate + i32.const 3 + call $~lib/runtime/doRegister local.set $0 end local.get $0 @@ -648,29 +491,130 @@ local.get $2 i32.store local.get $0 - i32.const 0 + local.get $2 i32.store offset=4 local.get $0 local.get $1 + local.get $2 + i32.add i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Int64Array#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/allocator/arena/__memory_allocate + call $~lib/runtime/doAllocate + i32.const 4 + call $~lib/runtime/doRegister local.get $0 - call $~lib/internal/typedarray/TypedArray#constructor - ) - (func $std/typedarray/testInstantiate (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) i32.const 0 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Uint8Array#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 5 + call $~lib/runtime/doRegister + end + local.get $1 + i32.const 0 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 6 + call $~lib/runtime/doRegister + local.get $0 + call $~lib/typedarray/Uint8Array#constructor + ) + (func $~lib/typedarray/Int16Array#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 7 + call $~lib/runtime/doRegister + local.get $0 + i32.const 1 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Uint16Array#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 8 + call $~lib/runtime/doRegister + local.get $0 + i32.const 1 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Int32Array#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 9 + call $~lib/runtime/doRegister + local.get $0 + i32.const 2 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Uint32Array#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 10 + call $~lib/runtime/doRegister + local.get $0 + i32.const 2 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Int64Array#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 11 + call $~lib/runtime/doRegister + local.get $0 + i32.const 3 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Uint64Array#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 12 + call $~lib/runtime/doRegister + local.get $0 + i32.const 3 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Float32Array#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 13 + call $~lib/runtime/doRegister + local.get $0 + i32.const 2 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $~lib/typedarray/Float64Array#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 14 + call $~lib/runtime/doRegister + local.get $0 + i32.const 3 + call $~lib/runtime/ArrayBufferView#constructor + ) + (func $std/typedarray/testInstantiate (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 call $~lib/typedarray/Int8Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 34 i32.const 2 call $~lib/env/abort @@ -678,23 +622,29 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 35 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 36 i32.const 2 call $~lib/env/abort @@ -702,12 +652,15 @@ end i32.const 0 local.get $0 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 39 i32.const 2 call $~lib/env/abort @@ -715,23 +668,29 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 40 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 41 i32.const 2 call $~lib/env/abort @@ -741,9 +700,12 @@ call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 44 i32.const 2 call $~lib/env/abort @@ -751,23 +713,29 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 45 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 46 i32.const 2 call $~lib/env/abort @@ -777,9 +745,12 @@ call $~lib/typedarray/Int16Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 49 i32.const 2 call $~lib/env/abort @@ -787,39 +758,48 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 1 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 50 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 51 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 54 i32.const 2 call $~lib/env/abort @@ -827,27 +807,33 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 1 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 55 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 56 i32.const 2 call $~lib/env/abort @@ -857,9 +843,12 @@ call $~lib/typedarray/Int32Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 59 i32.const 2 call $~lib/env/abort @@ -867,39 +856,48 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 2 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 60 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 61 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 64 i32.const 2 call $~lib/env/abort @@ -907,27 +905,33 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 2 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 65 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 66 i32.const 2 call $~lib/env/abort @@ -937,9 +941,12 @@ call $~lib/typedarray/Int64Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 69 i32.const 2 call $~lib/env/abort @@ -947,39 +954,48 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 3 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 70 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 71 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 74 i32.const 2 call $~lib/env/abort @@ -987,39 +1003,48 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 3 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 75 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 76 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 79 i32.const 2 call $~lib/env/abort @@ -1027,39 +1052,48 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 2 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 80 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 81 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $1 i32.load offset=4 + local.get $1 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 84 i32.const 2 call $~lib/env/abort @@ -1067,112 +1101,70 @@ end local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub local.get $0 i32.const 3 i32.shl i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 85 i32.const 2 call $~lib/env/abort unreachable end - local.get $0 local.get $1 i32.load offset=8 + local.get $1 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u + local.get $0 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 86 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.add - local.get $2 - i32.store offset=8 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.add - i32.load offset=8 - ) - (func $~lib/typedarray/Int32Array#subarray (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#subarray (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 + local.tee $4 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u - local.set $4 + local.set $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $4 - i32.add - local.tee $3 - i32.const 0 local.get $3 + i32.add + local.tee $0 + i32.const 0 + local.get $0 i32.const 0 i32.gt_s select else local.get $1 - local.get $4 - local.get $1 - local.get $4 + local.tee $0 + local.get $3 + local.get $0 + local.get $3 i32.lt_s select end @@ -1182,105 +1174,88 @@ i32.lt_s if (result i32) local.get $2 - local.get $4 - i32.add - local.tee $3 - local.get $1 local.get $3 + i32.add + local.tee $0 + local.get $1 + local.get $0 local.get $1 i32.gt_s select else local.get $2 - local.get $4 + local.get $3 local.get $2 - local.get $4 + local.get $3 i32.lt_s select - local.tee $3 + local.tee $0 local.get $1 - local.get $3 + local.get $0 local.get $1 i32.gt_s select end local.set $2 i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.tee $3 + call $~lib/runtime/doAllocate + i32.const 9 + call $~lib/runtime/doRegister + local.set $0 + local.get $4 + i32.load offset=4 + local.set $3 local.get $0 + local.get $4 i32.load i32.store - local.get $3 local.get $0 - i32.load offset=4 local.get $1 i32.const 2 i32.shl + local.get $3 i32.add i32.store offset=4 - local.get $3 + local.get $0 local.get $2 - local.get $1 - i32.sub i32.const 2 i32.shl - i32.store offset=8 local.get $3 - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 17 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 3 - i32.shl i32.add - i32.add - local.get $2 - f64.store offset=8 + i32.store offset=8 + local.get $0 ) - (func $~lib/typedarray/Float64Array#subarray (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#subarray (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 + local.tee $4 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u - local.set $4 + local.set $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $4 - i32.add - local.tee $3 - i32.const 0 local.get $3 + i32.add + local.tee $0 + i32.const 0 + local.get $0 i32.const 0 i32.gt_s select else local.get $1 - local.get $4 - local.get $1 - local.get $4 + local.tee $0 + local.get $3 + local.get $0 + local.get $3 i32.lt_s select end @@ -1290,178 +1265,175 @@ i32.lt_s if (result i32) local.get $2 - local.get $4 - i32.add - local.tee $3 - local.get $1 local.get $3 + i32.add + local.tee $0 + local.get $1 + local.get $0 local.get $1 i32.gt_s select else local.get $2 - local.get $4 + local.get $3 local.get $2 - local.get $4 + local.get $3 i32.lt_s select - local.tee $3 + local.tee $0 local.get $1 - local.get $3 + local.get $0 local.get $1 i32.gt_s select end local.set $2 i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.tee $3 + call $~lib/runtime/doAllocate + i32.const 14 + call $~lib/runtime/doRegister + local.set $0 + local.get $4 + i32.load offset=4 + local.set $3 local.get $0 + local.get $4 i32.load i32.store - local.get $3 local.get $0 - i32.load offset=4 local.get $1 i32.const 3 i32.shl + local.get $3 i32.add i32.store offset=4 - local.get $3 + local.get $0 local.get $2 - local.get $1 - i32.sub i32.const 3 i32.shl - i32.store offset=8 local.get $3 + i32.add + i32.store offset=8 + local.get $0 ) - (func $~lib/internal/sort/insertionSort (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/util/sort/insertionSort (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 f64) - (local $7 f64) - (local $8 i32) + (local $7 i32) block $break|0 loop $repeat|0 - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.ge_s br_if $break|0 - local.get $4 + local.get $3 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add - f64.load offset=8 - local.set $6 - local.get $4 + f64.load + local.set $5 + local.get $3 i32.const 1 i32.sub - local.set $5 + local.set $4 loop $continue|1 - local.get $5 + local.get $4 i32.const 0 i32.ge_s if block $break|1 - local.get $5 + local.get $4 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add - f64.load offset=8 - local.set $7 + f64.load + local.set $6 i32.const 2 global.set $~lib/argc + local.get $5 local.get $6 - local.get $7 - local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idd) i32.const 0 i32.ge_s br_if $break|1 - local.get $5 - local.tee $8 + local.get $4 + local.tee $7 i32.const 1 i32.sub - local.set $5 - local.get $8 + local.set $4 + local.get $7 i32.const 1 i32.add i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add - local.get $7 - f64.store offset=8 + local.get $6 + f64.store br $continue|1 end end end - local.get $5 + local.get $4 i32.const 1 i32.add i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add - local.get $6 - f64.store offset=8 - local.get $4 + local.get $5 + f64.store + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $repeat|0 unreachable end unreachable end ) - (func $~lib/internal/sort/weakHeapSort (; 20 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/util/sort/weakHeapSort (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 f64) (local $7 f64) (local $8 i32) - (local $9 i32) - local.get $2 + local.get $1 i32.const 31 i32.add i32.const 5 i32.shr_s i32.const 2 i32.shl - local.tee $4 - call $~lib/allocator/arena/__memory_allocate + local.tee $5 + call $~lib/memory/memory.allocate local.tee $8 i32.const 0 - local.get $4 - call $~lib/internal/memory/memset - local.get $2 + local.get $5 + call $~lib/memory/memory.fill + local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $3 loop $repeat|0 - local.get $5 + local.get $3 i32.const 0 i32.gt_s if - local.get $5 - local.set $4 + local.get $3 + local.set $5 loop $continue|1 - local.get $4 + local.get $5 i32.const 1 i32.and - local.get $4 + local.get $5 i32.const 6 i32.shr_s i32.const 2 @@ -1469,7 +1441,7 @@ local.get $8 i32.add i32.load - local.get $4 + local.get $5 i32.const 1 i32.shr_s i32.const 31 @@ -1479,14 +1451,14 @@ i32.and i32.eq if - local.get $4 + local.get $5 i32.const 1 i32.shr_s - local.set $4 + local.set $5 br $continue|1 end end - local.get $4 + local.get $5 i32.const 1 i32.shr_s local.tee $4 @@ -1494,104 +1466,91 @@ i32.shl local.get $0 i32.add - local.get $1 - i32.add - f64.load offset=8 + f64.load local.set $7 - local.get $5 + local.get $3 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add - f64.load offset=8 + f64.load local.set $6 i32.const 2 global.set $~lib/argc local.get $7 local.get $6 - local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idd) i32.const 0 i32.lt_s if - local.get $5 + local.get $3 i32.const 5 i32.shr_s i32.const 2 i32.shl local.get $8 i32.add - local.tee $9 - local.get $9 + local.tee $5 + local.get $5 i32.load i32.const 1 - local.get $5 + local.get $3 i32.const 31 i32.and i32.shl i32.xor i32.store - local.get $5 + local.get $3 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add local.get $7 - f64.store offset=8 + f64.store local.get $4 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add local.get $6 - f64.store offset=8 + f64.store end - local.get $5 + local.get $3 i32.const 1 i32.sub - local.set $5 + local.set $3 br $repeat|0 end end - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $3 loop $repeat|2 - local.get $5 + local.get $3 i32.const 2 i32.ge_s if local.get $0 - local.get $1 - i32.add - local.tee $2 - f64.load offset=8 + f64.load local.set $6 - local.get $2 - local.get $5 + local.get $0 + local.get $3 i32.const 3 i32.shl local.get $0 i32.add + local.tee $1 + f64.load + f64.store local.get $1 - i32.add - local.tee $2 - f64.load offset=8 - f64.store offset=8 - local.get $2 local.get $6 - f64.store offset=8 + f64.store i32.const 1 - local.set $2 + local.set $4 loop $continue|3 - local.get $2 + local.get $4 i32.const 5 i32.shr_s i32.const 2 @@ -1599,204 +1558,166 @@ local.get $8 i32.add i32.load - local.get $2 + local.get $4 i32.const 31 i32.and i32.shr_u i32.const 1 i32.and - local.get $2 + local.get $4 i32.const 1 i32.shl i32.add - local.tee $4 - local.get $5 + local.tee $5 + local.get $3 i32.lt_s if - local.get $4 - local.set $2 + local.get $5 + local.set $4 br $continue|3 end end loop $continue|4 - local.get $2 + local.get $4 i32.const 0 i32.gt_s if local.get $0 - local.get $1 - i32.add - f64.load offset=8 + f64.load local.set $6 - local.get $2 + local.get $4 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add - f64.load offset=8 + f64.load local.set $7 i32.const 2 global.set $~lib/argc local.get $6 local.get $7 - local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idd) i32.const 0 i32.lt_s if - local.get $2 + local.get $4 i32.const 5 i32.shr_s i32.const 2 i32.shl local.get $8 i32.add - local.tee $4 - local.get $4 + local.tee $1 + local.get $1 i32.load i32.const 1 - local.get $2 + local.get $4 i32.const 31 i32.and i32.shl i32.xor i32.store - local.get $2 + local.get $4 i32.const 3 i32.shl local.get $0 i32.add - local.get $1 - i32.add local.get $6 - f64.store offset=8 + f64.store local.get $0 - local.get $1 - i32.add local.get $7 - f64.store offset=8 + f64.store end - local.get $2 + local.get $4 i32.const 1 i32.shr_s - local.set $2 + local.set $4 br $continue|4 end end - local.get $5 + local.get $3 i32.const 1 i32.sub - local.set $5 + local.set $3 br $repeat|2 end end local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.add - local.tee $2 f64.load offset=8 local.set $6 - local.get $2 local.get $0 - local.get $1 - i32.add - local.tee $0 - f64.load offset=8 + local.get $0 + f64.load f64.store offset=8 local.get $0 local.get $6 - f64.store offset=8 + f64.store ) - (func $~lib/typedarray/Float64Array#sort (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#sort (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $2 - block $~lib/internal/typedarray/SORT|inlined.0 + (local $3 f64) + (local $4 f64) + block $~lib/typedarray/SORT|inlined.0 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u - local.tee $4 + local.tee $2 i32.const 1 i32.le_s - br_if $~lib/internal/typedarray/SORT|inlined.0 + br_if $~lib/typedarray/SORT|inlined.0 local.get $0 - i32.load - local.set $1 - local.get $4 + i32.load offset=4 + local.set $0 + local.get $2 i32.const 2 i32.eq if - local.get $1 - i32.const 8 - i32.add - local.get $2 - i32.add + local.get $0 f64.load offset=8 - local.set $5 - local.get $2 - local.tee $0 - local.get $1 - i32.add - f64.load offset=8 - local.set $6 + local.set $3 + local.get $0 + f64.load + local.set $4 i32.const 2 global.set $~lib/argc - local.get $5 - local.get $6 local.get $3 + local.get $4 + local.get $1 call_indirect (type $FUNCSIG$idd) i32.const 0 i32.lt_s if - local.get $1 - i32.const 8 - i32.add local.get $0 - i32.add - local.get $6 + local.get $4 f64.store offset=8 local.get $0 - local.get $1 - i32.add - local.get $5 - f64.store offset=8 + local.get $3 + f64.store end - br $~lib/internal/typedarray/SORT|inlined.0 + br $~lib/typedarray/SORT|inlined.0 end - local.get $1 - local.set $0 - local.get $4 - local.tee $1 + local.get $2 i32.const 256 i32.lt_s if local.get $0 local.get $2 local.get $1 - local.get $3 - call $~lib/internal/sort/insertionSort + call $~lib/util/sort/insertionSort else local.get $0 local.get $2 local.get $1 - local.get $3 - call $~lib/internal/sort/weakHeapSort + call $~lib/util/sort/weakHeapSort end end ) - (func $~lib/internal/sort/COMPARATOR~anonymous|0 (; 22 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 25 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -1825,107 +1746,17 @@ i64.lt_s i32.sub ) - (func $~lib/internal/typedarray/TypedArray#__get (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 3 - i32.shl - i32.add - i32.add - f64.load offset=8 - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - local.get $0 - i32.load - i32.add - i32.add - local.get $2 - i32.store8 offset=8 - ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - local.get $1 - i32.const 255 - local.get $2 - i32.sub - i32.const 31 - i32.shr_s - local.get $2 - i32.or - local.get $2 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - call $~lib/internal/typedarray/TypedArray#__set - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - local.get $0 - i32.load - i32.add - i32.add - i32.load8_u offset=8 - ) - (func $~lib/typedarray/Int8Array#fill (; 27 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/typedarray/Int8Array#fill (; 26 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load - local.set $5 local.get $0 i32.load offset=4 - local.set $6 + local.set $5 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub local.set $4 local.get $2 i32.const 0 @@ -1978,47 +1809,1154 @@ local.get $2 local.get $5 i32.add - local.get $6 - i32.add - i32.const 8 - i32.add local.get $1 local.get $3 local.get $2 i32.sub - call $~lib/internal/memory/memset + call $~lib/memory/memory.fill end ) - (func $~lib/internal/typedarray/TypedArray#__get (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - local.get $0 - i32.load - i32.add - i32.add - i32.load8_s offset=8 - ) - (func $std/typedarray/isInt8ArrayEqual (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/memory/memcpy (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + loop $continue|0 + local.get $1 + i32.const 3 + i32.and + local.get $2 + local.get $2 + select + if + local.get $0 + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 + end + end + local.get $0 + i32.const 3 + i32.and + i32.eqz + if + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 8 + i32.add + local.set $0 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $1 + i32.const 4 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.add + local.set $0 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $1 + i32.const 2 + i32.add + local.set $1 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + local.get $0 + i32.const 3 + i32.and + local.tee $3 + i32.const 1 + i32.ne + if + local.get $3 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $3 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + local.get $1 + i32.load + local.set $5 + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + loop $continue|3 + local.get $2 + i32.const 17 + i32.ge_u + if + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.load + local.tee $3 + i32.const 8 + i32.shl + local.get $5 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 5 + i32.add + i32.load + local.tee $5 + i32.const 8 + i32.shl + local.get $3 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 9 + i32.add + i32.load + local.tee $3 + i32.const 8 + i32.shl + local.get $5 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 13 + i32.add + i32.load + local.tee $5 + i32.const 8 + i32.shl + local.get $3 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|3 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $5 + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + loop $continue|4 + local.get $2 + i32.const 18 + i32.ge_u + if + local.get $0 + local.get $1 + i32.const 2 + i32.add + i32.load + local.tee $3 + i32.const 16 + i32.shl + local.get $5 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 6 + i32.add + i32.load + local.tee $5 + i32.const 16 + i32.shl + local.get $3 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 10 + i32.add + i32.load + local.tee $3 + i32.const 16 + i32.shl + local.get $5 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 14 + i32.add + i32.load + local.tee $5 + i32.const 16 + i32.shl + local.get $3 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|4 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $5 + local.get $0 + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + loop $continue|5 + local.get $2 + i32.const 19 + i32.ge_u + if + local.get $0 + local.get $1 + i32.const 3 + i32.add + i32.load + local.tee $3 + i32.const 24 + i32.shl + local.get $5 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 7 + i32.add + i32.load + local.tee $5 + i32.const 24 + i32.shl + local.get $3 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 11 + i32.add + i32.load + local.tee $3 + i32.const 24 + i32.shl + local.get $5 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 15 + i32.add + i32.load + local.tee $5 + i32.const 24 + i32.shl + local.get $3 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|5 + end + end + end + end + local.get $2 + i32.const 16 + i32.and + if + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + local.tee $3 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $1 + local.set $0 + local.get $1 + local.get $3 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $3 + local.set $0 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.add + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $3 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.get $1 + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $2 + local.set $3 + local.get $1 + local.get $0 + local.tee $2 + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $1 + local.get $3 + i32.add + local.get $2 + i32.le_u + local.tee $0 + i32.eqz + if + local.get $2 + local.get $3 + i32.add + local.get $1 + i32.le_u + local.set $0 + end + local.get $0 + if + local.get $2 + local.get $1 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $2 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $2 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $2 + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $2 + local.tee $4 + i32.const 1 + i32.add + local.set $2 + local.get $1 + local.tee $0 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $0 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + if + local.get $2 + local.get $1 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $3 + if + local.get $2 + local.tee $4 + i32.const 1 + i32.add + local.set $2 + local.get $1 + local.tee $0 + i32.const 1 + i32.add + local.set $1 + local.get $4 + local.get $0 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $2 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $2 + local.get $3 + i32.add + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + local.get $2 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + if + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + local.get $2 + i32.add + local.get $1 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $3 + if + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + local.get $2 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + end + ) + (func $~lib/runtime/doWrapArray (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const 16 + call $~lib/runtime/doAllocate + local.get $1 + call $~lib/runtime/doRegister + local.tee $3 + local.get $0 + i32.const 8 + i32.sub + i32.load offset=4 + local.tee $4 + call $~lib/runtime/doAllocate + local.get $1 + call $~lib/runtime/doRegister + local.tee $1 + i32.store + local.get $3 + local.get $1 + i32.store offset=4 + local.get $3 + local.get $1 + local.get $4 + i32.add + i32.store offset=8 + local.get $3 + local.get $4 + local.get $2 + i32.shr_u + i32.store offset=12 + local.get $1 + local.get $0 + local.get $4 + call $~lib/memory/memory.copy + local.get $3 + ) + (func $std/typedarray/isInt8ArrayEqual (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=12 local.get $0 i32.load offset=8 - local.get $1 + local.get $0 i32.load offset=4 + i32.sub i32.ne if i32.const 0 @@ -2026,6 +2964,9 @@ end local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub local.set $3 loop $repeat|0 local.get $2 @@ -2033,26 +2974,15 @@ i32.lt_s if local.get $0 + i32.load offset=4 local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - local.get $2 + i32.add + i32.load8_s local.get $1 - i32.load - local.tee $4 - i32.load - i32.lt_u - if (result i32) - local.get $2 - local.get $4 - i32.add - i32.load8_s offset=8 - else - unreachable - end - i32.const 255 - i32.and + i32.load offset=4 + local.get $2 + i32.add + i32.load8_s i32.ne if i32.const 0 @@ -2069,55 +2999,35 @@ end i32.const 1 ) - (func $~lib/typedarray/Int8Array#fill|trampoline (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - i32.const 2147483647 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int8Array#fill - ) (func $~lib/typedarray/Int8Array#subarray (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 + local.tee $4 i32.load offset=8 - local.set $4 + local.get $0 + i32.load offset=4 + i32.sub + local.set $3 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $4 - i32.add - local.tee $3 - i32.const 0 local.get $3 + i32.add + local.tee $0 + i32.const 0 + local.get $0 i32.const 0 i32.gt_s select else local.get $1 - local.get $4 - local.get $1 - local.get $4 + local.tee $0 + local.get $3 + local.get $0 + local.get $3 i32.lt_s select end @@ -2127,62 +3037,64 @@ i32.lt_s if (result i32) local.get $2 - local.get $4 - i32.add - local.tee $3 - local.get $1 local.get $3 + i32.add + local.tee $0 + local.get $1 + local.get $0 local.get $1 i32.gt_s select else local.get $2 - local.get $4 + local.get $3 local.get $2 - local.get $4 + local.get $3 i32.lt_s select - local.tee $3 + local.tee $0 local.get $1 - local.get $3 + local.get $0 local.get $1 i32.gt_s select end local.set $2 i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.tee $3 + call $~lib/runtime/doAllocate + i32.const 4 + call $~lib/runtime/doRegister + local.set $0 + local.get $4 + i32.load offset=4 + local.set $3 local.get $0 + local.get $4 i32.load i32.store - local.get $3 - local.get $1 local.get $0 - i32.load offset=4 + local.get $1 + local.get $3 i32.add i32.store offset=4 - local.get $3 + local.get $0 local.get $2 - local.get $1 - i32.sub - i32.store offset=8 local.get $3 + i32.add + i32.store offset=8 + local.get $0 ) (func $~lib/typedarray/Int32Array#fill (; 32 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $1 - local.set $5 - local.get $0 - i32.load - local.set $1 local.get $0 i32.load offset=4 - local.set $6 + local.set $5 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u local.set $4 @@ -2201,9 +3113,8 @@ select else local.get $2 - local.tee $0 local.get $4 - local.get $0 + local.get $2 local.get $4 i32.lt_s select @@ -2240,12 +3151,10 @@ local.get $2 i32.const 2 i32.shl - local.get $1 - i32.add - local.get $6 - i32.add local.get $5 - i32.store offset=8 + i32.add + local.get $1 + i32.store local.get $2 i32.const 1 i32.add @@ -2259,9 +3168,12 @@ (local $3 i32) (local $4 i32) local.get $1 - i32.load offset=4 + i32.load offset=12 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.ne @@ -2271,6 +3183,9 @@ end local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u local.set $3 @@ -2279,27 +3194,19 @@ local.get $3 i32.lt_s if - local.get $0 local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - local.get $2 - local.get $1 - i32.load - local.tee $4 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $2 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + local.tee $4 + local.get $0 + i32.load offset=4 + i32.add + i32.load + local.get $1 + i32.load offset=4 + local.get $4 + i32.add + i32.load i32.ne if i32.const 0 @@ -2316,65 +3223,37 @@ end i32.const 1 ) - (func $~lib/typedarray/Int32Array#fill|trampoline (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - i32.const 2147483647 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int32Array#fill - ) - (func $std/typedarray/testReduce~anonymous|0 (; 35 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 34 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int8Array#reduce (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduce (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $4 loop $repeat|0 local.get $1 - local.get $3 + local.get $4 i32.lt_s if i32.const 4 global.set $~lib/argc local.get $2 local.get $1 - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load8_s offset=8 + i32.load8_s local.get $1 local.get $0 i32.const 2 @@ -2389,23 +3268,22 @@ end local.get $2 ) - (func $std/typedarray/testReduce (; 37 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 36 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 call $~lib/typedarray/Int8Array#reduce i32.const 255 @@ -2414,42 +3292,39 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#reduce (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=8 - local.set $4 - local.get $0 - i32.load - local.set $5 local.get $0 i32.load offset=4 - local.set $6 + local.set $4 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $5 loop $repeat|0 local.get $2 - local.get $4 + local.get $5 i32.lt_s if i32.const 4 global.set $~lib/argc local.get $3 local.get $2 - local.get $5 + local.get $4 i32.add - local.get $6 - i32.add - i32.load8_u offset=8 + i32.load8_u local.get $2 local.get $0 local.get $1 @@ -2464,23 +3339,23 @@ end local.get $3 ) - (func $std/typedarray/testReduce (; 39 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 38 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#reduce @@ -2490,29 +3365,29 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce (; 40 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 39 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=2 local.get $0 i32.const 4 call $~lib/typedarray/Uint8Array#reduce @@ -2522,60 +3397,32 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.add - local.get $2 - i32.store16 offset=8 - ) - (func $~lib/typedarray/Int16Array#reduce (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 loop $repeat|0 local.get $1 - local.get $3 + local.get $4 i32.lt_s if i32.const 4 @@ -2584,11 +3431,9 @@ local.get $1 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load16_s offset=8 + i32.load16_s local.get $1 local.get $0 i32.const 5 @@ -2603,22 +3448,22 @@ end local.get $2 ) - (func $std/typedarray/testReduce (; 43 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 41 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 call $~lib/typedarray/Int16Array#reduce i32.const 65535 @@ -2627,33 +3472,32 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#reduce (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 loop $repeat|0 local.get $1 - local.get $3 + local.get $4 i32.lt_s if i32.const 4 @@ -2662,11 +3506,9 @@ local.get $1 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load16_u offset=8 + i32.load16_u local.get $1 local.get $0 i32.const 6 @@ -2681,22 +3523,22 @@ end local.get $2 ) - (func $std/typedarray/testReduce (; 45 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 43 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 call $~lib/typedarray/Uint16Array#reduce i32.const 65535 @@ -2705,33 +3547,32 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#reduce (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - local.get $0 - i32.load - local.set $5 local.get $0 i32.load offset=4 - local.set $6 + local.set $4 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $5 loop $repeat|0 local.get $2 - local.get $4 + local.get $5 i32.lt_s if i32.const 4 @@ -2740,11 +3581,9 @@ local.get $2 i32.const 2 i32.shl - local.get $5 + local.get $4 i32.add - local.get $6 - i32.add - i32.load offset=8 + i32.load local.get $2 local.get $0 local.get $1 @@ -2759,22 +3598,22 @@ end local.get $3 ) - (func $std/typedarray/testReduce (; 47 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 45 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 7 call $~lib/typedarray/Int32Array#reduce @@ -2782,29 +3621,29 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce (; 48 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 46 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 8 call $~lib/typedarray/Int32Array#reduce @@ -2812,65 +3651,37 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 49 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 3 - i32.shl - i32.add - i32.add - local.get $2 - i64.store offset=8 - ) - (func $std/typedarray/testReduce~anonymous|0 (; 50 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce~anonymous|0 (; 47 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduce (; 51 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 48 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - local.get $0 - i32.load - local.set $5 local.get $0 i32.load offset=4 - local.set $6 + local.set $4 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $5 loop $repeat|0 local.get $2 - local.get $4 + local.get $5 i32.lt_s if i32.const 4 @@ -2879,11 +3690,9 @@ local.get $2 i32.const 3 i32.shl - local.get $5 + local.get $4 i32.add - local.get $6 - i32.add - i64.load offset=8 + i64.load local.get $2 local.get $0 local.get $1 @@ -2898,22 +3707,22 @@ end local.get $3 ) - (func $std/typedarray/testReduce (; 52 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 49 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 9 call $~lib/typedarray/Int64Array#reduce @@ -2921,29 +3730,29 @@ i64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce (; 53 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 50 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 10 call $~lib/typedarray/Int64Array#reduce @@ -2951,65 +3760,37 @@ i64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 54 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.add - local.get $2 - f32.store offset=8 - ) - (func $std/typedarray/testReduce~anonymous|0 (; 55 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce~anonymous|0 (; 51 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduce (; 56 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 52 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) (local $1 i32) (local $2 f32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 loop $repeat|0 local.get $1 - local.get $3 + local.get $4 i32.lt_s if i32.const 4 @@ -3018,11 +3799,9 @@ local.get $1 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - f32.load offset=8 + f32.load local.get $1 local.get $0 i32.const 11 @@ -3037,60 +3816,59 @@ end local.get $2 ) - (func $std/typedarray/testReduce (; 57 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 53 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 call $~lib/typedarray/Float32Array#reduce f32.const 6 f32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce~anonymous|0 (; 58 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce~anonymous|0 (; 54 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduce (; 59 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 55 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 loop $repeat|0 local.get $1 - local.get $3 + local.get $4 i32.lt_s if i32.const 4 @@ -3099,11 +3877,9 @@ local.get $1 i32.const 3 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - f64.load offset=8 + f64.load local.get $1 local.get $0 i32.const 12 @@ -3118,48 +3894,47 @@ end local.get $2 ) - (func $std/typedarray/testReduce (; 60 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 56 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 call $~lib/typedarray/Float64Array#reduce f64.const 6 f64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int8Array#reduceRight (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.sub local.set $1 @@ -3174,9 +3949,7 @@ local.get $1 local.get $3 i32.add - local.get $4 - i32.add - i32.load8_s offset=8 + i32.load8_s local.get $1 local.get $0 i32.const 13 @@ -3191,23 +3964,22 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight (; 62 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 58 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 call $~lib/typedarray/Int8Array#reduceRight i32.const 255 @@ -3216,26 +3988,25 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.sub local.set $2 @@ -3250,9 +4021,7 @@ local.get $2 local.get $4 i32.add - local.get $5 - i32.add - i32.load8_u offset=8 + i32.load8_u local.get $2 local.get $0 local.get $1 @@ -3267,23 +4036,23 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight (; 64 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 60 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 14 call $~lib/typedarray/Uint8Array#reduceRight @@ -3293,29 +4062,29 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight (; 65 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 61 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=2 local.get $0 i32.const 15 call $~lib/typedarray/Uint8Array#reduceRight @@ -3325,26 +4094,25 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int16Array#reduceRight (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u i32.const 1 @@ -3363,9 +4131,7 @@ i32.shl local.get $3 i32.add - local.get $4 - i32.add - i32.load16_s offset=8 + i32.load16_s local.get $1 local.get $0 i32.const 16 @@ -3380,22 +4146,22 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight (; 67 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 63 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 call $~lib/typedarray/Int16Array#reduceRight i32.const 65535 @@ -3404,26 +4170,25 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u i32.const 1 @@ -3442,9 +4207,7 @@ i32.shl local.get $3 i32.add - local.get $4 - i32.add - i32.load16_u offset=8 + i32.load16_u local.get $1 local.get $0 i32.const 17 @@ -3459,22 +4222,22 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight (; 69 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 65 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 call $~lib/typedarray/Uint16Array#reduceRight i32.const 65535 @@ -3483,26 +4246,25 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#reduceRight (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 1 @@ -3521,9 +4283,7 @@ i32.shl local.get $4 i32.add - local.get $5 - i32.add - i32.load offset=8 + i32.load local.get $2 local.get $0 local.get $1 @@ -3538,22 +4298,22 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight (; 71 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 67 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 18 call $~lib/typedarray/Int32Array#reduceRight @@ -3561,29 +4321,29 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight (; 72 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 68 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 19 call $~lib/typedarray/Int32Array#reduceRight @@ -3591,26 +4351,25 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int64Array#reduceRight (; 73 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 69 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local $3 i64) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u i32.const 1 @@ -3629,9 +4388,7 @@ i32.shl local.get $4 i32.add - local.get $5 - i32.add - i64.load offset=8 + i64.load local.get $2 local.get $0 local.get $1 @@ -3646,22 +4403,22 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight (; 74 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 70 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 20 call $~lib/typedarray/Int64Array#reduceRight @@ -3669,29 +4426,29 @@ i64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight (; 75 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 71 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 21 call $~lib/typedarray/Int64Array#reduceRight @@ -3699,26 +4456,25 @@ i64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float32Array#reduceRight (; 76 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 72 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) (local $1 i32) (local $2 f32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 1 @@ -3737,9 +4493,7 @@ i32.shl local.get $3 i32.add - local.get $4 - i32.add - f32.load offset=8 + f32.load local.get $1 local.get $0 i32.const 22 @@ -3754,48 +4508,47 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight (; 77 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 73 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 call $~lib/typedarray/Float32Array#reduceRight f32.const 6 f32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float64Array#reduceRight (; 78 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 74 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u i32.const 1 @@ -3814,9 +4567,7 @@ i32.shl local.get $3 i32.add - local.get $4 - i32.add - f64.load offset=8 + f64.load local.get $1 local.get $0 i32.const 23 @@ -3831,61 +4582,61 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight (; 79 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 75 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 call $~lib/typedarray/Float64Array#reduceRight f64.const 6 f64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 80 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int8Array#map (; 81 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load - local.set $2 local.get $0 i32.load offset=4 local.set $3 - i32.const 0 local.get $0 i32.load offset=8 - local.tee $4 + local.get $0 + i32.load offset=4 + i32.sub + local.tee $2 + local.set $4 + local.get $2 call $~lib/typedarray/Int8Array#constructor - local.tee $5 - i32.load - local.set $6 + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -3894,19 +4645,17 @@ i32.const 3 global.set $~lib/argc local.get $1 - local.get $6 + local.get $5 i32.add local.get $1 - local.get $2 - i32.add local.get $3 i32.add - i32.load8_s offset=8 + i32.load8_s local.get $1 local.get $0 i32.const 24 call_indirect (type $FUNCSIG$iiii) - i32.store8 offset=8 + i32.store8 local.get $1 i32.const 1 i32.add @@ -3914,94 +4663,88 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $std/typedarray/testArrayMap (; 82 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 78 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 call $~lib/typedarray/Int8Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_s i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_s offset=1 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_s offset=2 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#map (; 83 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load - local.set $2 local.get $0 i32.load offset=4 local.set $3 - i32.const 0 local.get $0 i32.load offset=8 - local.tee $4 - call $~lib/typedarray/Int8Array#constructor - local.tee $5 - i32.load - local.set $6 + local.get $0 + i32.load offset=4 + i32.sub + local.tee $2 + local.set $4 + i32.const 0 + local.get $2 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -4010,19 +4753,17 @@ i32.const 3 global.set $~lib/argc local.get $1 - local.get $6 + local.get $5 i32.add local.get $1 - local.get $2 - i32.add local.get $3 i32.add - i32.load8_u offset=8 + i32.load8_u local.get $1 local.get $0 i32.const 25 call_indirect (type $FUNCSIG$iiii) - i32.store8 offset=8 + i32.store8 local.get $1 i32.const 1 i32.add @@ -4030,93 +4771,88 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $std/typedarray/testArrayMap (; 84 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 80 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 call $~lib/typedarray/Uint8Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=1 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=2 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 85 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 81 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - local.get $0 - i32.load - local.set $2 local.get $0 i32.load offset=4 local.set $3 local.get $0 i32.load offset=8 - local.tee $4 + local.get $0 + i32.load offset=4 + i32.sub + local.tee $2 + local.set $4 + local.get $2 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 - i32.load - local.set $6 + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -4125,19 +4861,17 @@ i32.const 3 global.set $~lib/argc local.get $1 - local.get $6 + local.get $5 i32.add local.get $1 - local.get $2 - i32.add local.get $3 i32.add - i32.load8_u offset=8 + i32.load8_u local.get $1 local.get $0 i32.const 26 call_indirect (type $FUNCSIG$iiii) - i32.store8 offset=8 + i32.store8 local.get $1 i32.const 1 i32.add @@ -4145,73 +4879,67 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $std/typedarray/testArrayMap (; 86 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 82 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=2 local.get $0 call $~lib/typedarray/Uint8ClampedArray#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=1 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=2 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int16Array#map (; 87 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 83 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4220,20 +4948,22 @@ (local $6 i32) (local $7 i32) local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u - local.tee $4 + local.tee $2 + local.set $4 + local.get $2 call $~lib/typedarray/Int16Array#constructor - local.tee $5 - i32.load - local.set $6 + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -4244,20 +4974,20 @@ local.get $1 i32.const 1 i32.shl - local.tee $7 - local.get $6 - i32.add - local.get $2 - local.get $7 - i32.add + local.tee $6 local.get $3 i32.add - i32.load16_s offset=8 + i32.load16_s local.get $1 local.get $0 i32.const 27 call_indirect (type $FUNCSIG$iiii) - i32.store16 offset=8 + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4265,99 +4995,67 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 88 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.add - i32.load16_s offset=8 - ) - (func $std/typedarray/testArrayMap (; 89 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 84 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 call $~lib/typedarray/Int16Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s offset=2 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s offset=4 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#map (; 90 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 85 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4366,20 +5064,22 @@ (local $6 i32) (local $7 i32) local.get $0 - i32.load - local.set $2 - local.get $0 i32.load offset=4 local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u - local.tee $4 - call $~lib/typedarray/Int16Array#constructor - local.tee $5 - i32.load - local.set $6 + local.tee $2 + local.set $4 + local.get $2 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -4390,20 +5090,20 @@ local.get $1 i32.const 1 i32.shl - local.tee $7 - local.get $6 - i32.add - local.get $2 - local.get $7 - i32.add + local.tee $6 local.get $3 i32.add - i32.load16_u offset=8 + i32.load16_u local.get $1 local.get $0 i32.const 28 call_indirect (type $FUNCSIG$iiii) - i32.store16 offset=8 + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4411,99 +5111,68 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 91 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.add - i32.load16_u offset=8 - ) - (func $std/typedarray/testArrayMap (; 92 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 86 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 call $~lib/typedarray/Uint16Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=2 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=4 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#map (; 93 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 87 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4511,407 +5180,496 @@ (local $6 i32) (local $7 i32) local.get $0 - i32.load + i32.load offset=4 local.set $3 local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u - local.tee $5 + local.tee $2 + local.set $4 + local.get $2 call $~lib/typedarray/Int32Array#constructor - local.tee $6 - i32.load - local.set $7 + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 - block $break|0 - local.get $2 - local.get $5 - i32.ge_s - br_if $break|0 + local.get $1 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc - local.get $7 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $2 + local.get $1 i32.const 2 i32.shl + local.tee $6 local.get $3 i32.add - local.get $4 - i32.add - i32.load offset=8 - local.get $2 - local.get $0 + i32.load local.get $1 + local.get $0 + i32.const 29 call_indirect (type $FUNCSIG$iiii) - i32.store offset=8 - local.get $2 + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + i32.store + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $repeat|0 end end - local.get $6 + local.get $2 ) - (func $std/typedarray/testArrayMap (; 94 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 88 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 - i32.const 29 call $~lib/typedarray/Int32Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap (; 95 ;) (type $FUNCSIG$v) + (func $~lib/typedarray/Uint32Array#map (; 89 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.tee $2 + local.set $4 + local.get $2 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 + loop $repeat|0 + local.get $1 + local.get $4 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 2 + i32.shl + local.tee $6 + local.get $3 + i32.add + i32.load + local.get $1 + local.get $0 + i32.const 30 + call_indirect (type $FUNCSIG$iiii) + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + local.get $2 + ) + (func $std/typedarray/testArrayMap (; 90 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 - i32.const 30 - call $~lib/typedarray/Int32Array#map + call $~lib/typedarray/Uint32Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 9 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 96 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap~anonymous|0 (; 91 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $~lib/typedarray/Int64Array#map (; 97 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $5 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.load - local.set $7 - loop $repeat|0 - block $break|0 - local.get $2 - local.get $5 - i32.ge_s - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $7 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $2 - i32.const 3 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - i64.load offset=8 - local.get $2 - local.get $0 - local.get $1 - call_indirect (type $FUNCSIG$jjii) - i64.store offset=8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $repeat|0 - end - end - local.get $6 - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 98 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 3 - i32.shl - i32.add - i32.add - i64.load offset=8 - ) - (func $std/typedarray/testArrayMap (; 99 ;) (type $FUNCSIG$v) - (local $0 i32) - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 31 - call $~lib/typedarray/Int64Array#map - local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 9 - i64.ne - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap (; 100 ;) (type $FUNCSIG$v) - (local $0 i32) - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.const 0 - i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 32 - call $~lib/typedarray/Int64Array#map - local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 8 - i32.const 306 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 8 - i32.const 307 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i64.const 9 - i64.ne - if - i32.const 0 - i32.const 8 - i32.const 308 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 101 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) - local.get $0 - local.get $0 - f32.mul - ) - (func $~lib/typedarray/Float32Array#map (; 102 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 92 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - local.get $0 - i32.load - local.set $2 + (local $7 i64) local.get $0 i32.load offset=4 local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.tee $2 + local.set $4 + local.get $2 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 + loop $repeat|0 + local.get $1 + local.get $4 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 3 + i32.shl + local.tee $6 + local.get $3 + i32.add + i64.load + local.get $1 + local.get $0 + i32.const 31 + call_indirect (type $FUNCSIG$jjii) + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + local.get $2 + ) + (func $std/typedarray/testArrayMap (; 93 ;) (type $FUNCSIG$v) + (local $0 i32) + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.load offset=4 + i64.const 1 + i64.store + local.get $0 + i32.load offset=4 + i64.const 2 + i64.store offset=8 + local.get $0 + i32.load offset=4 + i64.const 3 + i64.store offset=16 + local.get $0 + call $~lib/typedarray/Int64Array#map + local.tee $0 + i32.load offset=4 + i64.load + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 16 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=8 + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 16 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=16 + i64.const 9 + i64.ne + if + i32.const 0 + i32.const 16 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint64Array#map (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i64) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.tee $2 + local.set $4 + local.get $2 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 + loop $repeat|0 + local.get $1 + local.get $4 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 3 + i32.shl + local.tee $6 + local.get $3 + i32.add + i64.load + local.get $1 + local.get $0 + i32.const 32 + call_indirect (type $FUNCSIG$jjii) + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + local.get $2 + ) + (func $std/typedarray/testArrayMap (; 95 ;) (type $FUNCSIG$v) + (local $0 i32) + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.load offset=4 + i64.const 1 + i64.store + local.get $0 + i32.load offset=4 + i64.const 2 + i64.store offset=8 + local.get $0 + i32.load offset=4 + i64.const 3 + i64.store offset=16 + local.get $0 + call $~lib/typedarray/Uint64Array#map + local.tee $0 + i32.load offset=4 + i64.load + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 16 + i32.const 306 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=8 + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 16 + i32.const 307 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=16 + i64.const 9 + i64.ne + if + i32.const 0 + i32.const 16 + i32.const 308 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap~anonymous|0 (; 96 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + local.get $0 + local.get $0 + f32.mul + ) + (func $~lib/typedarray/Float32Array#map (; 97 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u - local.tee $4 - call $~lib/typedarray/Int32Array#constructor - local.tee $5 - i32.load - local.set $6 + local.tee $2 + local.set $4 + local.get $2 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -4922,20 +5680,20 @@ local.get $1 i32.const 2 i32.shl - local.tee $7 - local.get $6 - i32.add - local.get $2 - local.get $7 - i32.add + local.tee $6 local.get $3 i32.add - f32.load offset=8 + f32.load local.get $1 local.get $0 i32.const 33 call_indirect (type $FUNCSIG$ffii) - f32.store offset=8 + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + f32.store local.get $1 i32.const 1 i32.add @@ -4943,120 +5701,96 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 103 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.add - f32.load offset=8 - ) - (func $std/typedarray/testArrayMap (; 104 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 98 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 call $~lib/typedarray/Float32Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load f32.const 1 f32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=4 f32.const 4 f32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=8 f32.const 9 f32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 105 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap~anonymous|0 (; 99 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $0 local.get $0 f64.mul ) - (func $~lib/typedarray/Float64Array#map (; 106 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 100 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - local.get $0 - i32.load - local.set $2 + (local $7 f64) local.get $0 i32.load offset=4 local.set $3 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u - local.tee $4 - call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.load - local.set $6 + local.tee $2 + local.set $4 + local.get $2 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 + i32.load offset=4 + local.set $5 loop $repeat|0 local.get $1 local.get $4 @@ -5067,20 +5801,20 @@ local.get $1 i32.const 3 i32.shl - local.tee $7 - local.get $6 - i32.add - local.get $2 - local.get $7 - i32.add + local.tee $6 local.get $3 i32.add - f64.load offset=8 + f64.load local.get $1 local.get $0 i32.const 34 call_indirect (type $FUNCSIG$ddii) - f64.store offset=8 + local.set $7 + local.get $5 + local.get $6 + i32.add + local.get $7 + f64.store local.get $1 i32.const 1 i32.add @@ -5088,108 +5822,104 @@ br $repeat|0 end end - local.get $5 + local.get $2 ) - (func $std/typedarray/testArrayMap (; 107 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 101 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 call $~lib/typedarray/Float64Array#map local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load f64.const 1 f64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=8 f64.const 4 f64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=16 f64.const 9 f64.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 108 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#some (; 109 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 103 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load8_s offset=8 + i32.load8_s local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5201,36 +5931,35 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 110 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 104 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.eqz ) - (func $std/typedarray/testArraySome (; 111 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 105 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 35 call $~lib/typedarray/Int8Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5241,48 +5970,44 @@ call $~lib/typedarray/Int8Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#some (; 112 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load8_u offset=8 + i32.load8_u local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5294,30 +6019,30 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome (; 113 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 107 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 37 call $~lib/typedarray/Uint8Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5328,36 +6053,36 @@ call $~lib/typedarray/Uint8Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome (; 114 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 108 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=2 local.get $0 i32.const 39 call $~lib/typedarray/Uint8Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5368,59 +6093,55 @@ call $~lib/typedarray/Uint8Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 115 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 109 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#some (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load16_s offset=8 + i32.load16_s local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5432,35 +6153,35 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 117 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 111 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.eqz ) - (func $std/typedarray/testArraySome (; 118 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 112 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 41 call $~lib/typedarray/Int16Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5471,52 +6192,48 @@ call $~lib/typedarray/Int16Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#some (; 119 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 113 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load16_u offset=8 + i32.load16_u local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5528,29 +6245,29 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome (; 120 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 114 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 43 call $~lib/typedarray/Uint16Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5561,57 +6278,53 @@ call $~lib/typedarray/Uint16Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 121 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 115 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#some (; 122 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load offset=8 + i32.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5623,33 +6336,33 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 123 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 117 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.eqz ) - (func $std/typedarray/testArraySome (; 124 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 118 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 45 call $~lib/typedarray/Int32Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5660,36 +6373,36 @@ call $~lib/typedarray/Int32Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome (; 125 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 119 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 47 call $~lib/typedarray/Int32Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5700,57 +6413,53 @@ call $~lib/typedarray/Int32Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 126 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 120 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#some (; 127 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 121 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 i32.const 3 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i64.load offset=8 + i64.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$ijii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5762,34 +6471,34 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 128 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 122 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome (; 129 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 123 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 49 call $~lib/typedarray/Int64Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5800,36 +6509,36 @@ call $~lib/typedarray/Int64Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome (; 130 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 124 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 51 call $~lib/typedarray/Int64Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5840,57 +6549,53 @@ call $~lib/typedarray/Int64Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 131 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 125 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#some (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - f32.load offset=8 + f32.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$ifii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -5902,34 +6607,34 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 133 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 127 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome (; 134 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 128 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 53 call $~lib/typedarray/Float32Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -5940,57 +6645,53 @@ call $~lib/typedarray/Float32Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 135 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 129 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#some (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 130 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc i32.const 1 local.get $2 i32.const 3 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - f64.load offset=8 + f64.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$idii) - br_if $~lib/internal/typedarray/SOME|inlined.0 + br_if $~lib/typedarray/SOME|inlined.0 drop local.get $2 i32.const 1 @@ -6002,34 +6703,34 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 137 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 131 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 0 f64.eq ) - (func $std/typedarray/testArraySome (; 138 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 132 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 55 call $~lib/typedarray/Float64Array#some i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -6040,50 +6741,46 @@ call $~lib/typedarray/Float64Array#some if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int8Array#findIndex (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 - local.get $4 - i32.add - local.get $5 - i32.add - i32.load8_s offset=8 - local.get $0 local.get $3 + i32.add + i32.load8_s + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6096,38 +6793,37 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 140 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 134 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 141 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 135 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 57 call $~lib/typedarray/Int8Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6139,51 +6835,47 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#findIndex (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 - local.get $4 - i32.add - local.get $5 - i32.add - i32.load8_u offset=8 - local.get $0 local.get $3 + i32.add + i32.load8_u + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6196,31 +6888,31 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex (; 143 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 137 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 59 call $~lib/typedarray/Uint8Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6232,38 +6924,38 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex (; 144 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 138 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=2 local.get $0 i32.const 61 call $~lib/typedarray/Uint8Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6275,55 +6967,51 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int16Array#findIndex (; 145 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 i32.const 1 i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i32.load16_s offset=8 - local.get $0 local.get $3 + i32.add + i32.load16_s + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6336,37 +7024,37 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 146 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 140 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 147 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 141 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 63 call $~lib/typedarray/Int16Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6378,55 +7066,51 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#findIndex (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 i32.const 1 i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i32.load16_u offset=8 - local.get $0 local.get $3 + i32.add + i32.load16_u + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6439,30 +7123,30 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex (; 149 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 143 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 65 call $~lib/typedarray/Uint16Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6474,55 +7158,51 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#findIndex (; 150 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 144 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 i32.const 2 i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i32.load offset=8 - local.get $0 local.get $3 + i32.add + i32.load + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6535,35 +7215,35 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 151 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 145 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 152 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 146 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 67 call $~lib/typedarray/Int32Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6575,38 +7255,38 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex (; 153 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 147 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 69 call $~lib/typedarray/Int32Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6618,55 +7298,51 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int64Array#findIndex (; 154 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 i32.const 3 i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - i64.load offset=8 - local.get $0 local.get $3 + i32.add + i64.load + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$ijii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6679,35 +7355,35 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 155 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 149 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex (; 156 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 150 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 71 call $~lib/typedarray/Int64Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6719,38 +7395,38 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex (; 157 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 151 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 73 call $~lib/typedarray/Int64Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6762,55 +7438,51 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float32Array#findIndex (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 i32.const 2 i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f32.load offset=8 - local.get $0 local.get $3 + i32.add + f32.load + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$ifii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6823,35 +7495,35 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 159 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 153 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex (; 160 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 154 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 75 call $~lib/typedarray/Float32Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6863,55 +7535,51 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float64Array#findIndex (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 155 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 - local.get $0 - local.tee $3 - i32.load - local.set $4 local.get $0 + local.tee $2 i32.load offset=4 - local.set $5 + local.set $3 i32.const 0 local.set $0 - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $2 + i32.load offset=8 + local.get $2 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX|inlined.0 loop $repeat|0 - block $break|0 - local.get $0 - local.get $2 - i32.ge_s - br_if $break|0 + local.get $0 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $0 i32.const 3 i32.shl - local.get $4 - i32.add - local.get $5 - i32.add - f64.load offset=8 - local.get $0 local.get $3 + i32.add + f64.load + local.get $0 + local.get $2 local.get $1 call_indirect (type $FUNCSIG$idii) - br_if $~lib/internal/typedarray/FIND_INDEX|inlined.0 + br_if $~lib/typedarray/FIND_INDEX|inlined.0 local.get $0 i32.const 1 i32.add @@ -6924,35 +7592,35 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 162 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 156 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 4 f64.eq ) - (func $std/typedarray/testArrayFindIndex (; 163 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 157 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 77 call $~lib/typedarray/Float64Array#findIndex i32.const 1 i32.ne if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -6964,15 +7632,15 @@ i32.const -1 i32.ne if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 164 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 158 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -6982,44 +7650,39 @@ i32.rem_s i32.eqz ) - (func $~lib/typedarray/Int8Array#every (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load8_s offset=8 + i32.load8_s local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7030,30 +7693,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 166 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 160 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 79 call $~lib/typedarray/Int8Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7064,57 +7726,52 @@ call $~lib/typedarray/Int8Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 167 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 161 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.and i32.eqz ) - (func $~lib/typedarray/Uint8Array#every (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load8_u offset=8 + i32.load8_u local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7125,30 +7782,30 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 169 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 163 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 81 call $~lib/typedarray/Uint8Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7159,36 +7816,36 @@ call $~lib/typedarray/Uint8Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery (; 170 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 164 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store8 offset=2 local.get $0 i32.const 83 call $~lib/typedarray/Uint8Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7199,14 +7856,14 @@ call $~lib/typedarray/Uint8Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 165 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -7216,48 +7873,43 @@ i32.rem_s i32.eqz ) - (func $~lib/typedarray/Int16Array#every (; 172 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 166 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load16_s offset=8 + i32.load16_s local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7268,29 +7920,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 173 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 167 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 85 call $~lib/typedarray/Int16Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7301,55 +7953,50 @@ call $~lib/typedarray/Int16Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#every (; 174 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load16_u offset=8 + i32.load16_u local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7360,29 +8007,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 175 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 169 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 87 call $~lib/typedarray/Uint16Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7393,61 +8040,56 @@ call $~lib/typedarray/Uint16Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 176 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 170 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.rem_s i32.eqz ) - (func $~lib/typedarray/Int32Array#every (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load offset=8 + i32.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7458,29 +8100,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 178 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 172 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 89 call $~lib/typedarray/Int32Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7491,36 +8133,36 @@ call $~lib/typedarray/Int32Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery (; 179 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 173 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 91 call $~lib/typedarray/Int32Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7531,62 +8173,57 @@ call $~lib/typedarray/Int32Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 180 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 174 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_s i64.const 0 i64.eq ) - (func $~lib/typedarray/Int64Array#every (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 i32.const 3 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i64.load offset=8 + i64.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$ijii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7597,29 +8234,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 182 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 176 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 93 call $~lib/typedarray/Int64Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7630,43 +8267,43 @@ call $~lib/typedarray/Int64Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 183 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 177 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_u i64.const 0 i64.eq ) - (func $std/typedarray/testArrayEvery (; 184 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 178 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 95 call $~lib/typedarray/Int64Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7677,14 +8314,14 @@ call $~lib/typedarray/Int64Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/math/NativeMathf.mod (; 185 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 179 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7835,54 +8472,49 @@ local.get $0 f32.mul ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 186 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 180 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.mod f32.const 0 f32.eq ) - (func $~lib/typedarray/Float32Array#every (; 187 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - f32.load offset=8 + f32.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$ifii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -7893,29 +8525,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 188 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 182 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 97 call $~lib/typedarray/Float32Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -7926,14 +8558,14 @@ call $~lib/typedarray/Float32Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/math/NativeMath.mod (; 189 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 183 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 i64) @@ -8092,54 +8724,49 @@ local.get $0 f64.mul ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 190 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 184 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 call $~lib/math/NativeMath.mod f64.const 0 f64.eq ) - (func $~lib/typedarray/Float64Array#every (; 191 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 185 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc + i32.const 0 local.get $2 i32.const 3 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - f64.load offset=8 + f64.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$idii) i32.eqz - if - i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 - end + br_if $~lib/typedarray/EVERY|inlined.0 + drop local.get $2 i32.const 1 i32.add @@ -8150,29 +8777,29 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery (; 192 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 186 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.const 0 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 99 call $~lib/typedarray/Float64Array#every i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -8183,63 +8810,52 @@ call $~lib/typedarray/Float64Array#every if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 193 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 187 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.const 255 i32.and - local.get $1 global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load + i32.load offset=4 + local.get $1 i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load i32.const 255 i32.and i32.ne if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachCallCount local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -8250,33 +8866,30 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int8Array#forEach (; 194 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Int8Array#forEach (; 188 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=8 - local.set $2 - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $3 loop $repeat|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if i32.const 3 global.set $~lib/argc local.get $1 - local.get $3 + local.get $2 i32.add - local.get $4 - i32.add - i32.load8_s offset=8 + i32.load8_s local.get $1 local.get $0 i32.const 101 @@ -8289,125 +8902,72 @@ end end ) - (func $std/typedarray/testArrayForEach (; 195 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 189 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount - i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store8 offset=1 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i32.load offset=8 + i32.store8 offset=2 + local.get $0 call $~lib/typedarray/Int8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#forEach (; 196 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 190 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $2 - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load8_u offset=8 + i32.load8_u local.get $2 local.get $0 local.get $1 @@ -8420,95 +8980,54 @@ end end ) - (func $std/typedarray/testArrayForEach (; 197 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 191 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store8 offset=1 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i32.load offset=8 + i32.store8 offset=2 + local.get $0 i32.const 102 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach (; 198 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 192 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 @@ -8516,66 +9035,69 @@ local.tee $1 global.set $std/typedarray/forEachSelf local.get $1 - i32.const 0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $2 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + i32.and + i32.store8 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=4 + local.get $2 + i32.load offset=4 + i32.load offset=4 i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + i32.and + i32.store8 offset=1 local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=4 + local.get $2 + i32.load offset=4 + i32.load offset=8 i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + i32.and + i32.store8 offset=2 local.get $1 i32.const 103 call $~lib/typedarray/Uint8Array#forEach @@ -8583,64 +9105,53 @@ i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 199 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 193 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.const 65535 i32.and - local.get $1 global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load + i32.load offset=4 + local.get $1 i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load i32.const 65535 i32.and i32.ne if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachCallCount local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -8651,25 +9162,24 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int16Array#forEach (; 200 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Int16Array#forEach (; 194 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $3 loop $repeat|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if i32.const 3 @@ -8677,11 +9187,9 @@ local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 - i32.add - i32.load16_s offset=8 + i32.load16_s local.get $1 local.get $0 i32.const 104 @@ -8694,115 +9202,66 @@ end end ) - (func $std/typedarray/testArrayForEach (; 201 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 195 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store16 offset=2 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i32.load offset=8 + i32.store16 offset=4 + local.get $0 call $~lib/typedarray/Int16Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#forEach (; 202 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 196 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.set $3 loop $repeat|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if i32.const 3 @@ -8810,11 +9269,9 @@ local.get $1 i32.const 1 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 - i32.add - i32.load16_u offset=8 + i32.load16_u local.get $1 local.get $0 i32.const 105 @@ -8827,136 +9284,83 @@ end end ) - (func $std/typedarray/testArrayForEach (; 203 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 197 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - i32.const 65535 - i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 65535 - i32.and - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 65535 - i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store16 offset=2 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i32.load offset=8 + i32.store16 offset=4 + local.get $0 call $~lib/typedarray/Uint16Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 204 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 198 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 - local.get $1 global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load + i32.load offset=4 + local.get $1 i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load i32.ne if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachCallCount local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -8967,38 +9371,34 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int32Array#forEach (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 199 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $2 i32.const 2 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i32.load offset=8 + i32.load local.get $2 local.get $0 local.get $1 @@ -9011,212 +9411,128 @@ end end ) - (func $std/typedarray/testArrayForEach (; 206 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 200 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set + i32.store + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store offset=4 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i32.load offset=8 + i32.store offset=8 + local.get $0 i32.const 106 call $~lib/typedarray/Int32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach (; 207 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 201 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set + i32.store + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store offset=4 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i32.load offset=8 + i32.store offset=8 + local.get $0 i32.const 107 call $~lib/typedarray/Int32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 208 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $3 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s + (func $std/typedarray/testArrayForEach~anonymous|0 (; 202 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) local.get $0 + global.get $std/typedarray/forEachValues + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + i64.extend_i32_s i64.ne if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachCallCount local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -9227,38 +9543,34 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int64Array#forEach (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 203 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - local.get $0 - i32.load - local.set $4 local.get $0 i32.load offset=4 - local.set $5 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $4 loop $repeat|0 - block $break|0 - local.get $2 - local.get $3 - i32.ge_s - br_if $break|0 + local.get $2 + local.get $4 + i32.lt_s + if i32.const 3 global.set $~lib/argc local.get $2 i32.const 3 i32.shl - local.get $4 + local.get $3 i32.add - local.get $5 - i32.add - i64.load offset=8 + i64.load local.get $2 local.get $0 local.get $1 @@ -9271,218 +9583,128 @@ end end ) - (func $std/typedarray/testArrayForEach (; 210 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 204 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + local.tee $1 + i32.load offset=4 + i64.load32_s + i64.store + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s offset=4 + i64.store offset=8 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i64.load32_s offset=8 + i64.store offset=16 + local.get $0 i32.const 108 call $~lib/typedarray/Int64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach (; 211 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 205 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + local.tee $1 + i32.load offset=4 + i64.load32_s + i64.store + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s offset=4 + i64.store offset=8 + local.get $0 + i32.load offset=4 local.get $1 + i32.load offset=4 + i64.load32_s offset=8 + i64.store offset=16 + local.get $0 i32.const 109 call $~lib/typedarray/Int64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 212 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 206 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) local.get $0 - local.get $1 global.get $std/typedarray/forEachValues - i32.load - local.tee $3 - i32.load + i32.load offset=4 + local.get $1 i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load f32.convert_i32_s f32.ne if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachCallCount local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -9493,25 +9715,24 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float32Array#forEach (; 213 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float32Array#forEach (; 207 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.set $3 loop $repeat|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if i32.const 3 @@ -9519,11 +9740,9 @@ local.get $1 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 - i32.add - f32.load offset=8 + f32.load local.get $1 local.get $0 i32.const 110 @@ -9536,135 +9755,87 @@ end end ) - (func $std/typedarray/testArrayForEach (; 214 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 208 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=4 + i32.load offset=4 f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=4 + i32.load offset=8 f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 + f32.store offset=8 + local.get $0 call $~lib/typedarray/Float32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 215 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 209 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) local.get $0 - local.get $1 global.get $std/typedarray/forEachValues - i32.load - local.tee $3 - i32.load + i32.load offset=4 + local.get $1 i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load f64.convert_i32_s f64.ne if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachCallCount local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -9675,25 +9846,24 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float64Array#forEach (; 216 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float64Array#forEach (; 210 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 - local.get $0 - i32.load - local.set $3 local.get $0 i32.load offset=4 - local.set $4 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.set $3 loop $repeat|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if i32.const 3 @@ -9701,11 +9871,9 @@ local.get $1 i32.const 3 i32.shl - local.get $3 + local.get $2 i32.add - local.get $4 - i32.add - f64.load offset=8 + f64.load local.get $1 local.get $0 i32.const 111 @@ -9718,221 +9886,145 @@ end end ) - (func $std/typedarray/testArrayForEach (; 217 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 211 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - i32.const 0 + local.get $0 + i32.load offset=4 global.get $std/typedarray/forEachValues + local.tee $1 + i32.load offset=4 i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.load offset=8 - else - unreachable - end f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.const 1 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 4 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=4 + i32.load offset=4 f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 2 - i32.const 2 - global.get $std/typedarray/forEachValues - i32.load - local.tee $0 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 8 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=4 + i32.load offset=8 f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $1 + f64.store offset=16 + local.get $0 call $~lib/typedarray/Float64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int8Array#reverse (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 212 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 - i32.load - local.set $3 - local.get $0 i32.load offset=4 local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.sub - local.set $2 + local.set $1 loop $repeat|0 - block $break|0 - local.get $1 + local.get $2 + local.get $1 + i32.lt_s + if local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 - local.get $3 - i32.add local.get $4 i32.add - i32.load8_s offset=8 + local.tee $3 + i32.load8_s local.set $5 + local.get $3 local.get $1 - local.get $3 - i32.add local.get $4 i32.add - local.get $2 + local.tee $3 + i32.load8_s + i32.store8 local.get $3 - i32.add - local.get $4 - i32.add - i32.load8_s offset=8 - i32.store8 offset=8 - local.get $2 - local.get $3 - i32.add - local.get $4 - i32.add local.get $5 - i32.store8 offset=8 - local.get $1 + i32.store8 + local.get $2 i32.const 1 i32.add - local.set $1 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $repeat|0 end end local.get $0 ) - (func $std/typedarray/testArrayReverse (; 219 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 213 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Int8Array#constructor local.set $2 - i32.const 0 i32.const 9 call $~lib/typedarray/Int8Array#constructor local.set $3 - i32.const 0 - i32.const 9 - call $~lib/typedarray/Int8Array#constructor - local.set $4 loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $2 + i32.load offset=4 + local.get $0 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $4 + local.get $1 + i32.load offset=4 + i32.add + i32.load + i32.store8 local.get $3 + i32.load offset=4 local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.add + local.get $1 + i32.load offset=4 local.get $4 - local.get $0 - local.get $0 - local.get $2 + i32.add i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 i32.const 1 i32.add @@ -9940,824 +10032,807 @@ br $repeat|0 end end - local.get $3 - call $~lib/typedarray/Int8Array#reverse - drop - i32.const 0 - local.set $0 - loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - local.get $0 - i32.sub - local.tee $1 - local.get $2 - i32.load - local.tee $5 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - i32.ne - if - i32.const 1056 - i32.const 8 - i32.const 461 - i32.const 4 - call $~lib/env/abort - unreachable - else - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $repeat|1 - end - unreachable - end - end - local.get $4 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int8Array#subarray - call $~lib/typedarray/Int8Array#reverse - local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 466 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 7 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 467 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 6 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 468 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 5 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 469 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/typedarray/Uint8Array#reverse (; 220 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $2 - loop $repeat|0 - block $break|0 - local.get $1 - local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 - local.get $3 - i32.add - local.get $4 - i32.add - i32.load8_u offset=8 - local.set $5 - local.get $1 - local.get $3 - i32.add - local.get $4 - i32.add - local.get $2 - local.get $3 - i32.add - local.get $4 - i32.add - i32.load8_u offset=8 - i32.store8 offset=8 - local.get $2 - local.get $3 - i32.add - local.get $4 - i32.add - local.get $5 - i32.store8 offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|0 - end - end - local.get $0 - ) - (func $std/typedarray/testArrayReverse (; 221 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $std/typedarray/testArrayReverseValues - local.set $2 - i32.const 0 - i32.const 9 - call $~lib/typedarray/Int8Array#constructor - local.set $3 - i32.const 0 - i32.const 9 - call $~lib/typedarray/Int8Array#constructor - local.set $4 - loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/internal/typedarray/TypedArray#__set - local.get $4 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $repeat|0 - end - end - local.get $3 - call $~lib/typedarray/Uint8Array#reverse - drop - i32.const 0 - local.set $0 - loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - local.get $0 - i32.sub - local.tee $1 - local.get $2 - i32.load - local.tee $5 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - i32.ne - if - i32.const 1056 - i32.const 8 - i32.const 461 - i32.const 4 - call $~lib/env/abort - unreachable - else - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $repeat|1 - end - unreachable - end - end - local.get $4 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int8Array#subarray - call $~lib/typedarray/Uint8Array#reverse - local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 466 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 7 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 467 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 6 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 468 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 5 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 469 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $std/typedarray/testArrayReverse (; 222 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $std/typedarray/testArrayReverseValues - local.set $2 - i32.const 9 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $3 - i32.const 9 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $4 - loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $repeat|0 - end - end - local.get $3 - call $~lib/typedarray/Uint8Array#reverse - drop - i32.const 0 - local.set $0 - loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 - local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - local.get $0 - i32.sub - local.tee $1 - local.get $2 - i32.load - local.tee $5 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 255 - i32.and - i32.ne - if - i32.const 1056 - i32.const 8 - i32.const 461 - i32.const 4 - call $~lib/env/abort - unreachable - else - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $repeat|1 - end - unreachable - end - end - local.get $4 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int8Array#subarray - call $~lib/typedarray/Uint8Array#reverse - local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 8 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 466 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 7 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 467 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 6 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 468 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and - i32.const 5 - i32.ne - if - i32.const 1128 - i32.const 8 - i32.const 469 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/typedarray/Int16Array#reverse (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $2 - loop $repeat|0 - block $break|0 - local.get $1 - local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - i32.load16_s offset=8 - local.set $5 - local.get $1 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - local.get $2 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - i32.load16_s offset=8 - i32.store16 offset=8 - local.get $2 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add - local.get $5 - i32.store16 offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $repeat|0 - end - end - local.get $0 - ) - (func $~lib/typedarray/Int16Array#subarray (; 224 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 4 - local.get $1 - i32.lt_s - select - local.set $3 - i32.const 8 - local.get $1 - i32.const 8 - local.get $1 - i32.lt_s - select - local.tee $2 - local.get $3 local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 + local.set $0 + loop $repeat|1 + block $break|1 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.add + i32.load8_u + local.get $1 + i32.load offset=4 + i32.const 8 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 255 + i32.and + i32.ne + if + i32.const 936 + i32.const 16 + i32.const 461 + i32.const 4 + call $~lib/env/abort + unreachable + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|1 + end + unreachable + end + end + local.get $3 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int8Array#subarray + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.load offset=4 + i32.load8_s + i32.const 8 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_s offset=1 + i32.const 7 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_s offset=2 + i32.const 6 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_s offset=3 + i32.const 5 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint8Array#reverse (; 214 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 + local.get $2 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + local.tee $3 + i32.load8_u + local.set $5 + local.get $3 + local.get $1 + local.get $4 + i32.add + local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.get $5 + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end + end + local.get $0 + ) + (func $~lib/typedarray/Uint8Array#subarray (; 215 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 local.get $3 i32.gt_s select - local.set $1 + local.set $4 i32.const 12 - call $~lib/allocator/arena/__memory_allocate - local.tee $2 + call $~lib/runtime/doAllocate + i32.const 5 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 local.get $0 + local.get $2 i32.load i32.store - local.get $2 local.get $0 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $2 local.get $1 local.get $3 + i32.add + i32.store offset=4 + local.get $0 + local.get $1 + local.get $4 + i32.add + i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 216 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 0 + i32.const 9 + call $~lib/typedarray/Uint8Array#constructor + local.set $2 + i32.const 0 + i32.const 9 + call $~lib/typedarray/Uint8Array#constructor + local.set $3 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $2 + i32.load offset=4 + local.get $0 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $4 + local.get $1 + i32.load offset=4 + i32.add + i32.load + i32.store8 + local.get $3 + i32.load offset=4 + local.get $0 + i32.add + local.get $1 + i32.load offset=4 + local.get $4 + i32.add + i32.load + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + local.get $2 + call $~lib/typedarray/Uint8Array#reverse + drop + i32.const 0 + local.set $0 + loop $repeat|1 + block $break|1 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.add + i32.load8_u + local.get $1 + i32.load offset=4 + i32.const 8 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 255 + i32.and + i32.ne + if + i32.const 936 + i32.const 16 + i32.const 461 + i32.const 4 + call $~lib/env/abort + unreachable + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|1 + end + unreachable + end + end + local.get $3 + call $~lib/typedarray/Uint8Array#subarray + call $~lib/typedarray/Uint8Array#reverse + local.tee $0 + i32.load offset=4 + i32.load8_u + i32.const 8 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_u offset=1 + i32.const 7 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_u offset=2 + i32.const 6 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_u offset=3 + i32.const 5 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 217 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 i32.sub + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 6 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $1 + local.get $3 + i32.add + i32.store offset=4 + local.get $0 + local.get $1 + local.get $4 + i32.add + i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 218 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $std/typedarray/testArrayReverseValues + local.set $2 + i32.const 9 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $3 + i32.const 9 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $4 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $3 + i32.load offset=4 + local.get $0 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $5 + local.get $2 + i32.load offset=4 + i32.add + i32.load + i32.const 255 + i32.and + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 + local.get $4 + i32.load offset=4 + local.get $0 + i32.add + local.get $2 + i32.load offset=4 + local.get $5 + i32.add + i32.load + i32.const 255 + i32.and + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + local.get $3 + call $~lib/typedarray/Uint8Array#reverse + drop + i32.const 0 + local.set $0 + loop $repeat|1 + block $break|1 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $3 + i32.load offset=4 + local.get $0 + i32.add + i32.load8_u + local.get $2 + i32.load offset=4 + i32.const 8 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 255 + i32.and + i32.ne + if + i32.const 936 + i32.const 16 + i32.const 461 + i32.const 4 + call $~lib/env/abort + unreachable + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|1 + end + unreachable + end + end + local.get $4 + call $~lib/typedarray/Uint8ClampedArray#subarray + call $~lib/typedarray/Uint8Array#reverse + local.tee $0 + i32.load offset=4 + i32.load8_u + i32.const 8 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_u offset=1 + i32.const 7 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_u offset=2 + i32.const 6 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load8_u offset=3 + i32.const 5 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int16Array#reverse (; 219 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $repeat|0 + local.get $2 + local.get $1 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.shl + local.get $4 + i32.add + local.tee $3 + i32.load16_s + local.set $5 + local.get $3 + local.get $1 + i32.const 1 + i32.shl + local.get $4 + i32.add + local.tee $3 + i32.load16_s + i32.store16 + local.get $3 + local.get $5 + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $repeat|0 + end + end + local.get $0 + ) + (func $~lib/typedarray/Int16Array#subarray (; 220 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 7 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $3 i32.const 1 i32.shl + local.get $1 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + local.get $1 + i32.add i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 221 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Int16Array#constructor + local.set $2 + i32.const 9 + call $~lib/typedarray/Int16Array#constructor + local.set $3 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 1 + i32.shl + local.tee $4 + local.get $2 + i32.load offset=4 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $5 + local.get $1 + i32.load offset=4 + i32.add + i32.load + i32.store16 + local.get $3 + i32.load offset=4 + local.get $4 + i32.add + local.get $1 + i32.load offset=4 + local.get $5 + i32.add + i32.load + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end local.get $2 - ) - (func $std/typedarray/testArrayReverse (; 225 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $std/typedarray/testArrayReverseValues - local.set $2 - i32.const 9 - call $~lib/typedarray/Int16Array#constructor - local.set $3 - i32.const 9 - call $~lib/typedarray/Int16Array#constructor - local.set $4 - loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $4 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $repeat|0 - end - end - local.get $3 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 local.set $0 loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 + block $break|1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $1 + i32.load offset=4 i32.const 8 local.get $0 i32.sub - local.tee $1 - local.get $2 - i32.load - local.tee $5 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load i32.const 65535 i32.and i32.ne if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -10772,143 +10847,180 @@ unreachable end end - local.get $4 + local.get $3 call $~lib/typedarray/Int16Array#subarray call $~lib/typedarray/Int16Array#reverse local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s i32.const 8 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s offset=2 i32.const 7 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s offset=4 i32.const 6 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_s offset=6 i32.const 5 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#reverse (; 226 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 222 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 - i32.load - local.set $3 - local.get $0 i32.load offset=4 local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $2 + local.set $1 loop $repeat|0 - block $break|0 - local.get $1 + local.get $2 + local.get $1 + i32.lt_s + if local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 i32.const 1 i32.shl - local.get $3 - i32.add local.get $4 i32.add - i32.load16_u offset=8 + local.tee $3 + i32.load16_u local.set $5 + local.get $3 local.get $1 i32.const 1 i32.shl - local.get $3 - i32.add local.get $4 i32.add - local.get $2 - i32.const 1 - i32.shl + local.tee $3 + i32.load16_u + i32.store16 local.get $3 - i32.add - local.get $4 - i32.add - i32.load16_u offset=8 - i32.store16 offset=8 - local.get $2 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add local.get $5 - i32.store16 offset=8 - local.get $1 + i32.store16 + local.get $2 i32.const 1 i32.add - local.set $1 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $repeat|0 end end local.get $0 ) - (func $std/typedarray/testArrayReverse (; 227 ;) (type $FUNCSIG$v) + (func $~lib/typedarray/Uint16Array#subarray (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 1 + i32.shr_u + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 8 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $3 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 224 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10916,64 +11028,45 @@ (local $4 i32) (local $5 i32) global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Uint16Array#constructor local.set $2 i32.const 9 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.set $3 - i32.const 9 - call $~lib/typedarray/Int16Array#constructor - local.set $4 loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 1 + i32.shl + local.tee $4 + local.get $2 + i32.load offset=4 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $5 + local.get $1 + i32.load offset=4 + i32.add + i32.load + i32.store16 local.get $3 - local.get $0 - local.get $0 - local.get $2 - i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 65535 - i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 local.get $4 - local.get $0 - local.get $0 - local.get $2 + i32.add + local.get $1 + i32.load offset=4 + local.get $5 + i32.add i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - i32.const 65535 - i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 i32.const 1 i32.add @@ -10981,48 +11074,39 @@ br $repeat|0 end end - local.get $3 + local.get $2 call $~lib/typedarray/Uint16Array#reverse drop i32.const 0 local.set $0 loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 + block $break|1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $1 + i32.load offset=4 i32.const 8 local.get $0 i32.sub - local.tee $1 - local.get $2 - i32.load - local.tee $5 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load i32.const 65535 i32.and i32.ne if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -11037,204 +11121,162 @@ unreachable end end - local.get $4 - call $~lib/typedarray/Int16Array#subarray + local.get $3 + call $~lib/typedarray/Uint16Array#subarray call $~lib/typedarray/Uint16Array#reverse local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u i32.const 8 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=2 i32.const 7 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=4 i32.const 6 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=6 i32.const 5 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#reverse (; 228 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 225 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 - i32.load - local.set $3 - local.get $0 i32.load offset=4 local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $2 + local.set $1 loop $repeat|0 - block $break|0 - local.get $1 + local.get $2 + local.get $1 + i32.lt_s + if local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 i32.const 2 i32.shl - local.get $3 - i32.add local.get $4 i32.add - i32.load offset=8 + local.tee $3 + i32.load local.set $5 + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 - i32.add local.get $4 i32.add - local.get $2 - i32.const 2 - i32.shl + local.tee $3 + i32.load + i32.store local.get $3 - i32.add - local.get $4 - i32.add - i32.load offset=8 - i32.store offset=8 - local.get $2 - i32.const 2 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add local.get $5 - i32.store offset=8 - local.get $1 + i32.store + local.get $2 i32.const 1 i32.add - local.set $1 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $repeat|0 end end local.get $0 ) - (func $std/typedarray/testArrayReverse (; 229 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 226 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $std/typedarray/testArrayReverseValues - local.set $2 + local.set $1 i32.const 9 call $~lib/typedarray/Int32Array#constructor - local.set $3 + local.set $2 i32.const 9 call $~lib/typedarray/Int32Array#constructor local.set $4 loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + i32.load offset=4 + i32.add + local.get $1 + i32.load offset=4 local.get $3 - local.get $0 - local.get $0 - local.get $2 + i32.add i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $4 - local.get $0 - local.get $0 - local.get $2 + i32.load offset=4 + local.get $3 + i32.add + local.get $1 + i32.load offset=4 + local.get $3 + i32.add i32.load - local.tee $1 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $1 - i32.add - i32.load offset=8 - else - unreachable - end - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 i32.const 1 i32.add @@ -11242,44 +11284,37 @@ br $repeat|0 end end - local.get $3 + local.get $2 call $~lib/typedarray/Int32Array#reverse drop i32.const 0 local.set $0 loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $3 + block $break|1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.load offset=4 i32.const 8 local.get $0 i32.sub - local.tee $1 - local.get $2 - i32.load - local.tee $5 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load i32.ne if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -11300,130 +11335,386 @@ call $~lib/typedarray/Int32Array#subarray call $~lib/typedarray/Int32Array#reverse local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 8 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 7 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 6 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=12 i32.const 5 i32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int64Array#reverse (; 230 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 227 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 10 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $3 + i32.const 2 + i32.shl + local.get $1 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + local.get $1 + i32.add + i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 228 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Uint32Array#constructor + local.set $2 + i32.const 9 + call $~lib/typedarray/Uint32Array#constructor + local.set $4 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + i32.load offset=4 + i32.add + local.get $1 + i32.load offset=4 + local.get $3 + i32.add + i32.load + i32.store + local.get $4 + i32.load offset=4 + local.get $3 + i32.add + local.get $1 + i32.load offset=4 + local.get $3 + i32.add + i32.load + i32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + local.get $2 + call $~lib/typedarray/Int32Array#reverse + drop + i32.const 0 + local.set $0 + loop $repeat|1 + block $break|1 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.load offset=4 + i32.const 8 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load + i32.ne + if + i32.const 936 + i32.const 16 + i32.const 461 + i32.const 4 + call $~lib/env/abort + unreachable + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|1 + end + unreachable + end + end + local.get $4 + call $~lib/typedarray/Uint32Array#subarray + call $~lib/typedarray/Int32Array#reverse + local.tee $0 + i32.load offset=4 + i32.load + i32.const 8 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load offset=4 + i32.const 7 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load offset=8 + i32.const 6 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.load offset=12 + i32.const 5 + i32.ne + if + i32.const 1016 + i32.const 16 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Int64Array#reverse (; 229 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i64) local.get $0 - i32.load - local.set $3 - local.get $0 i32.load offset=4 local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $2 + local.set $1 loop $repeat|0 - block $break|0 - local.get $1 + local.get $2 + local.get $1 + i32.lt_s + if local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 i32.const 3 i32.shl - local.get $3 - i32.add local.get $4 i32.add - i64.load offset=8 + local.tee $3 + i64.load local.set $5 + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 - i32.add local.get $4 i32.add - local.get $2 - i32.const 3 - i32.shl + local.tee $3 + i64.load + i64.store local.get $3 - i32.add - local.get $4 - i32.add - i64.load offset=8 - i64.store offset=8 - local.get $2 - i32.const 3 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add local.get $5 - i64.store offset=8 - local.get $1 + i64.store + local.get $2 i32.const 1 i32.add - local.set $1 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $repeat|0 end end local.get $0 ) + (func $~lib/typedarray/Int64Array#subarray (; 230 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 11 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $3 + i32.const 3 + i32.shl + local.get $1 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + local.get $1 + i32.add + i32.store offset=8 + local.get $0 + ) (func $std/typedarray/testArrayReverse (; 231 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) @@ -11432,63 +11723,45 @@ (local $4 i32) (local $5 i32) global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Int64Array#constructor + local.set $2 + i32.const 9 + call $~lib/typedarray/Int64Array#constructor local.set $3 - i32.const 9 - call $~lib/typedarray/Int64Array#constructor - local.set $4 - i32.const 9 - call $~lib/typedarray/Int64Array#constructor - local.set $5 loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 3 + i32.shl + local.tee $4 + local.get $2 + i32.load offset=4 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $5 + local.get $1 + i32.load offset=4 + i32.add + i64.load32_s + i64.store + local.get $3 + i32.load offset=4 local.get $4 - local.get $0 - local.get $0 - local.tee $1 - local.get $3 - i32.load - local.tee $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.add + local.get $1 + i32.load offset=4 local.get $5 - local.get $1 - local.get $1 - local.get $3 - i32.load - local.tee $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.add + i64.load32_s + i64.store local.get $0 i32.const 1 i32.add @@ -11496,45 +11769,37 @@ br $repeat|0 end end - local.get $4 + local.get $2 call $~lib/typedarray/Int64Array#reverse drop i32.const 0 local.set $0 loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $4 + block $break|1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $1 + i32.load offset=4 i32.const 8 local.get $0 i32.sub - local.tee $1 - local.get $3 - i32.load - local.tee $2 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end - i64.extend_i32_s + i32.shl + i32.add + i64.load32_s i64.ne if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -11549,201 +11814,439 @@ unreachable end end - local.get $5 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float64Array#subarray + local.get $3 + call $~lib/typedarray/Int64Array#subarray call $~lib/typedarray/Int64Array#reverse local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load i64.const 8 i64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=8 i64.const 7 i64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=16 i64.const 6 i64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=24 i64.const 5 i64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float32Array#reverse (; 232 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 232 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 3 + i32.shr_u + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 12 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $3 + i32.const 3 + i32.shl + local.get $1 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + local.get $1 + i32.add + i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 233 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Uint64Array#constructor + local.set $2 + i32.const 9 + call $~lib/typedarray/Uint64Array#constructor + local.set $3 + loop $repeat|0 + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 3 + i32.shl + local.tee $4 + local.get $2 + i32.load offset=4 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $5 + local.get $1 + i32.load offset=4 + i32.add + i64.load32_s + i64.store + local.get $3 + i32.load offset=4 + local.get $4 + i32.add + local.get $1 + i32.load offset=4 + local.get $5 + i32.add + i64.load32_s + i64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|0 + end + end + local.get $2 + call $~lib/typedarray/Int64Array#reverse + drop + i32.const 0 + local.set $0 + loop $repeat|1 + block $break|1 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $1 + i32.load offset=4 + i32.const 8 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.add + i64.load32_s + i64.ne + if + i32.const 936 + i32.const 16 + i32.const 461 + i32.const 4 + call $~lib/env/abort + unreachable + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $repeat|1 + end + unreachable + end + end + local.get $3 + call $~lib/typedarray/Uint64Array#subarray + call $~lib/typedarray/Int64Array#reverse + local.tee $0 + i32.load offset=4 + i64.load + i64.const 8 + i64.ne + if + i32.const 1016 + i32.const 16 + i32.const 466 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=8 + i64.const 7 + i64.ne + if + i32.const 1016 + i32.const 16 + i32.const 467 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=16 + i64.const 6 + i64.ne + if + i32.const 1016 + i32.const 16 + i32.const 468 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.load offset=4 + i64.load offset=24 + i64.const 5 + i64.ne + if + i32.const 1016 + i32.const 16 + i32.const 469 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/typedarray/Float32Array#reverse (; 234 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) local.get $0 - i32.load - local.set $3 - local.get $0 i32.load offset=4 local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $2 + local.set $1 loop $repeat|0 - block $break|0 - local.get $1 + local.get $2 + local.get $1 + i32.lt_s + if local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 i32.const 2 i32.shl - local.get $3 - i32.add local.get $4 i32.add - f32.load offset=8 + local.tee $3 + f32.load local.set $5 + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 - i32.add local.get $4 i32.add - local.get $2 - i32.const 2 - i32.shl + local.tee $3 + f32.load + f32.store local.get $3 - i32.add - local.get $4 - i32.add - f32.load offset=8 - f32.store offset=8 - local.get $2 - i32.const 2 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add local.get $5 - f32.store offset=8 - local.get $1 + f32.store + local.get $2 i32.const 1 i32.add - local.set $1 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $repeat|0 end end local.get $0 ) - (func $std/typedarray/testArrayReverse (; 233 ;) (type $FUNCSIG$v) + (func $~lib/typedarray/Float32Array#subarray (; 235 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 8 + local.get $0 + local.tee $2 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + i32.const 2 + i32.shr_u + local.tee $1 + i32.const 8 + local.get $1 + i32.lt_s + select + local.tee $0 + i32.const 4 + local.get $1 + i32.const 4 + local.get $1 + i32.lt_s + select + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + local.set $4 + i32.const 12 + call $~lib/runtime/doAllocate + i32.const 13 + call $~lib/runtime/doRegister + local.set $0 + local.get $2 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $2 + i32.load + i32.store + local.get $0 + local.get $3 + i32.const 2 + i32.shl + local.get $1 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + local.get $1 + i32.add + i32.store offset=8 + local.get $0 + ) + (func $std/typedarray/testArrayReverse (; 236 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $std/typedarray/testArrayReverseValues - local.set $3 + local.set $1 i32.const 9 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Float32Array#constructor + local.set $2 + i32.const 9 + call $~lib/typedarray/Float32Array#constructor local.set $4 - i32.const 9 - call $~lib/typedarray/Int32Array#constructor - local.set $5 loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + i32.load offset=4 + i32.add + local.get $1 + i32.load offset=4 + local.get $3 + i32.add + i32.load + f32.convert_i32_s + f32.store local.get $4 - local.get $0 - local.get $0 - local.tee $1 + i32.load offset=4 local.get $3 - i32.load - local.tee $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end - f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set - local.get $5 - local.get $1 + i32.add local.get $1 + i32.load offset=4 local.get $3 + i32.add i32.load - local.tee $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 i32.const 1 i32.add @@ -11751,45 +12254,38 @@ br $repeat|0 end end - local.get $4 + local.get $2 call $~lib/typedarray/Float32Array#reverse drop i32.const 0 local.set $0 loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $4 + block $break|1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $1 + i32.load offset=4 i32.const 8 local.get $0 i32.sub - local.tee $1 - local.get $3 - i32.load - local.tee $2 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load f32.convert_i32_s f32.ne if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -11804,137 +12300,120 @@ unreachable end end - local.get $5 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int32Array#subarray + local.get $4 + call $~lib/typedarray/Float32Array#subarray call $~lib/typedarray/Float32Array#reverse local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load f32.const 8 f32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=4 f32.const 7 f32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=8 f32.const 6 f32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=12 f32.const 5 f32.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float64Array#reverse (; 234 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 237 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) local.get $0 - i32.load - local.set $3 - local.get $0 i32.load offset=4 local.set $4 local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $2 + local.set $1 loop $repeat|0 - block $break|0 - local.get $1 + local.get $2 + local.get $1 + i32.lt_s + if local.get $2 - i32.ge_s - br_if $break|0 - local.get $1 i32.const 3 i32.shl - local.get $3 - i32.add local.get $4 i32.add - f64.load offset=8 + local.tee $3 + f64.load local.set $5 + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 - i32.add local.get $4 i32.add - local.get $2 - i32.const 3 - i32.shl + local.tee $3 + f64.load + f64.store local.get $3 - i32.add - local.get $4 - i32.add - f64.load offset=8 - f64.store offset=8 - local.get $2 - i32.const 3 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.add local.get $5 - f64.store offset=8 - local.get $1 + f64.store + local.get $2 i32.const 1 i32.add - local.set $1 - local.get $2 + local.set $2 + local.get $1 i32.const 1 i32.sub - local.set $2 + local.set $1 br $repeat|0 end end local.get $0 ) - (func $std/typedarray/testArrayReverse (; 235 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 238 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11942,63 +12421,47 @@ (local $4 i32) (local $5 i32) global.get $std/typedarray/testArrayReverseValues + local.set $1 + i32.const 9 + call $~lib/typedarray/Float64Array#constructor + local.set $2 + i32.const 9 + call $~lib/typedarray/Float64Array#constructor local.set $3 - i32.const 9 - call $~lib/typedarray/Int64Array#constructor - local.set $4 - i32.const 9 - call $~lib/typedarray/Int64Array#constructor - local.set $5 loop $repeat|0 - local.get $0 - i32.const 9 - i32.lt_s - if + block $break|0 + local.get $0 + i32.const 9 + i32.ge_s + br_if $break|0 + local.get $0 + i32.const 3 + i32.shl + local.tee $4 + local.get $2 + i32.load offset=4 + i32.add + local.get $0 + i32.const 2 + i32.shl + local.tee $5 + local.get $1 + i32.load offset=4 + i32.add + i32.load + f64.convert_i32_s + f64.store + local.get $3 + i32.load offset=4 local.get $4 - local.get $0 - local.get $0 - local.tee $1 - local.get $3 - i32.load - local.tee $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end - f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.add + local.get $1 + i32.load offset=4 local.get $5 - local.get $1 - local.get $1 - local.get $3 + i32.add i32.load - local.tee $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $0 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 i32.const 1 i32.add @@ -12006,45 +12469,38 @@ br $repeat|0 end end - local.get $4 + local.get $2 call $~lib/typedarray/Float64Array#reverse drop i32.const 0 local.set $0 loop $repeat|1 - local.get $0 - i32.const 9 - i32.lt_s - if - local.get $4 + block $break|1 local.get $0 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 9 + i32.ge_s + br_if $break|1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $1 + i32.load offset=4 i32.const 8 local.get $0 i32.sub - local.tee $1 - local.get $3 - i32.load - local.tee $2 - i32.load i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - i32.load offset=8 - else - unreachable - end + i32.shl + i32.add + i32.load f64.convert_i32_s f64.ne if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -12059,68 +12515,68 @@ unreachable end end - local.get $5 + local.get $3 i32.const 4 i32.const 8 call $~lib/typedarray/Float64Array#subarray call $~lib/typedarray/Float64Array#reverse local.tee $0 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load f64.const 8 f64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=8 f64.const 7 f64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=16 f64.const 6 f64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=24 f64.const 5 f64.ne if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $start:std/typedarray (; 236 ;) (type $FUNCSIG$v) + (func $start:std/typedarray (; 239 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - i32.const 1224 + i32.const 1104 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -12132,87 +12588,99 @@ call $~lib/typedarray/Int32Array#constructor global.set $std/typedarray/arr global.get $std/typedarray/arr - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr + local.tee $0 + i32.load offset=4 i32.const 1 + i32.store + local.get $0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr - i32.const 2 + i32.store offset=4 + local.get $0 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr + i32.store offset=8 + local.get $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 96 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub if i32.const 0 - i32.const 8 + i32.const 16 i32.const 97 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 12 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 98 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 99 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 2 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 100 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 101 i32.const 0 call $~lib/env/abort @@ -12224,129 +12692,154 @@ call $~lib/typedarray/Int32Array#subarray global.set $std/typedarray/arr global.get $std/typedarray/arr + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 104 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 105 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 106 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 2 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 107 i32.const 0 call $~lib/env/abort unreachable end i32.const 8 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor global.set $std/typedarray/af64 global.get $std/typedarray/af64 - i32.const 0 + local.tee $0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 1 + f64.store + local.get $0 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 2 + f64.store offset=8 + local.get $0 + i32.load offset=4 f64.const 7 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 3 + f64.store offset=16 + local.get $0 + i32.load offset=4 f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 4 + f64.store offset=24 + local.get $0 + i32.load offset=4 f64.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 5 + f64.store offset=32 + local.get $0 + i32.load offset=4 f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 6 + f64.store offset=40 + local.get $0 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 - i32.const 7 + f64.store offset=48 + local.get $0 + i32.load offset=4 f64.const 8 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/af64 + f64.store offset=56 + local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Float64Array#subarray global.set $std/typedarray/af64 global.get $std/typedarray/af64 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.shr_u i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 121 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/af64 + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 16 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 122 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/af64 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 32 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 123 i32.const 0 call $~lib/env/abort @@ -12356,6 +12849,8 @@ global.set $~lib/argc global.get $std/typedarray/af64 local.set $1 + i32.const 0 + local.set $0 block $1of1 block $0of1 block $outOfRange @@ -12373,15 +12868,15 @@ block (result i32) block (result i32) global.get $std/typedarray/af64 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load f64.const 4 f64.eq local.tee $0 if global.get $std/typedarray/af64 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=8 f64.const 5 f64.eq local.set $0 @@ -12390,27 +12885,27 @@ end if global.get $std/typedarray/af64 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=16 f64.const 6 f64.eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/typedarray/af64 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=24 f64.const 7 f64.eq - else - local.get $0 + local.set $0 end + local.get $0 i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 125 i32.const 0 call $~lib/env/abort @@ -12420,114 +12915,114 @@ call $~lib/typedarray/Uint8ClampedArray#constructor global.set $std/typedarray/clampedArr global.get $std/typedarray/clampedArr + local.tee $0 + i32.load offset=4 i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 1 + i32.store8 + local.get $0 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.store8 offset=1 + local.get $0 + i32.load offset=4 + i32.const -1 + i32.store8 offset=2 + local.get $0 + i32.load offset=4 + i32.load8_u if i32.const 0 - i32.const 8 + i32.const 16 i32.const 132 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/clampedArr - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=1 i32.const 2 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 133 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/clampedArr - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=2 i32.const 255 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 134 i32.const 0 call $~lib/env/abort unreachable end - i32.const 0 i32.const 5 call $~lib/typedarray/Int8Array#constructor global.set $std/typedarray/arr8 global.get $std/typedarray/arr8 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 + local.tee $0 + i32.load offset=4 i32.const 1 + i32.store8 + local.get $0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 + i32.store8 offset=1 + local.get $0 + i32.load offset=4 i32.const 3 + i32.store8 offset=2 + local.get $0 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 - i32.const 4 + i32.store8 offset=3 + local.get $0 + i32.load offset=4 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr8 + i32.store8 offset=4 + local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 - i32.const 192 + i32.const 152 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 144 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1 - global.set $~lib/argc global.get $std/typedarray/arr8 i32.const 0 i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 - i32.const 216 + i32.const 168 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 147 i32.const 0 call $~lib/env/abort @@ -12539,30 +13034,35 @@ i32.const -3 call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 - i32.const 240 + i32.const 184 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 150 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2 - global.set $~lib/argc global.get $std/typedarray/arr8 i32.const 2 i32.const -2 - call $~lib/typedarray/Int8Array#fill|trampoline + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 - i32.const 264 + i32.const 200 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 153 i32.const 0 call $~lib/env/abort @@ -12574,12 +13074,15 @@ i32.const 0 call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 - i32.const 288 + i32.const 216 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 156 i32.const 0 call $~lib/env/abort @@ -12590,67 +13093,84 @@ i32.const 4 call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/sub8 - i32.const 1 - global.set $~lib/argc global.get $std/typedarray/sub8 i32.const 0 i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/sub8 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 160 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub8 + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 161 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub8 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 162 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub8 - i32.const 312 + i32.const 232 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 163 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr8 - i32.const 336 + i32.const 248 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 164 i32.const 0 call $~lib/env/abort @@ -12660,55 +13180,61 @@ call $~lib/typedarray/Int32Array#constructor global.set $std/typedarray/arr32 global.get $std/typedarray/arr32 - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 + local.tee $0 + i32.load offset=4 i32.const 1 + i32.store + local.get $0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 + i32.store offset=4 + local.get $0 + i32.load offset=4 i32.const 3 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 - i32.const 4 + i32.store offset=12 + local.get $0 + i32.load offset=4 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/arr32 + i32.store offset=16 + local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 - i32.const 376 + i32.const 264 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 174 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1 - global.set $~lib/argc global.get $std/typedarray/arr32 i32.const 0 i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 - i32.const 416 + i32.const 296 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 177 i32.const 0 call $~lib/env/abort @@ -12720,30 +13246,35 @@ i32.const -3 call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 - i32.const 456 + i32.const 328 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 180 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2 - global.set $~lib/argc global.get $std/typedarray/arr32 i32.const 2 i32.const -2 - call $~lib/typedarray/Int32Array#fill|trampoline + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 - i32.const 496 + i32.const 360 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 183 i32.const 0 call $~lib/env/abort @@ -12755,12 +13286,15 @@ i32.const 0 call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 - i32.const 536 + i32.const 392 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 186 i32.const 0 call $~lib/env/abort @@ -12771,156 +13305,183 @@ i32.const 4 call $~lib/typedarray/Int32Array#subarray global.set $std/typedarray/sub32 - i32.const 1 - global.set $~lib/argc global.get $std/typedarray/sub32 i32.const 0 i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/sub32 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 2 i32.shr_u i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 190 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub32 + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 191 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub32 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 12 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 192 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub32 - i32.const 576 + i32.const 424 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 193 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr32 - i32.const 616 + i32.const 448 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 194 i32.const 0 call $~lib/env/abort unreachable end i32.const 134217727 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor drop - i32.const 0 i32.const 6 call $~lib/typedarray/Int8Array#constructor global.set $std/typedarray/multisubarr global.get $std/typedarray/multisubarr - i32.const 0 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr + local.tee $0 + i32.load offset=4 i32.const 1 + i32.store8 + local.get $0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 2 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr + i32.store8 offset=1 + local.get $0 + i32.load offset=4 i32.const 3 + i32.store8 offset=2 + local.get $0 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr - i32.const 4 - i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr + i32.store8 offset=3 + local.get $0 + i32.load offset=4 i32.const 5 + i32.store8 offset=4 + local.get $0 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set - global.get $std/typedarray/multisubarr + i32.store8 offset=5 + local.get $0 i32.const 1 i32.const 6 call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/multisubarr1 global.get $std/typedarray/multisubarr1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_s i32.const 2 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 211 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr1 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 5 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 212 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr1 + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 1 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 213 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr1 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 5 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 214 i32.const 0 call $~lib/env/abort @@ -12932,51 +13493,61 @@ call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/multisubarr2 global.get $std/typedarray/multisubarr2 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_s i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 217 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr2 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 218 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr2 + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 2 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 219 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr2 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 220 i32.const 0 call $~lib/env/abort @@ -12988,51 +13559,61 @@ call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/multisubarr3 global.get $std/typedarray/multisubarr3 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_s i32.const 4 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 223 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr3 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 224 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr3 + local.tee $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 225 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr3 + local.tee $0 i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub i32.const 3 i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 226 i32.const 0 call $~lib/env/abort @@ -13121,16 +13702,16 @@ call $std/typedarray/testArrayReverse call $std/typedarray/testArrayReverse call $std/typedarray/testArrayReverse - call $std/typedarray/testArrayReverse - call $std/typedarray/testArrayReverse + call $std/typedarray/testArrayReverse call $std/typedarray/testArrayReverse + call $std/typedarray/testArrayReverse call $std/typedarray/testArrayReverse call $std/typedarray/testArrayReverse ) - (func $start (; 237 ;) (type $FUNCSIG$v) + (func $start (; 240 ;) (type $FUNCSIG$v) call $start:std/typedarray ) - (func $null (; 238 ;) (type $FUNCSIG$v) + (func $null (; 241 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/typedarray.ts b/tests/compiler/std/typedarray.ts index 743198c1..a283106c 100644 --- a/tests/compiler/std/typedarray.ts +++ b/tests/compiler/std/typedarray.ts @@ -193,9 +193,9 @@ assert(sub32.byteLength == 3 * sizeof()); assert(isInt32ArrayEqual(sub32, [0, 0, 0])); assert(isInt32ArrayEqual(arr32, [1, 0, 0, 0, 2])); -import { MAX_BLENGTH } from "internal/arraybuffer"; +import { MAX_BYTELENGTH } from "runtime"; -const MAX_F64LENGTH = MAX_BLENGTH >> alignof(); +const MAX_F64LENGTH = MAX_BYTELENGTH >> alignof(); new Float64Array(MAX_F64LENGTH); // 1GB // new Float64Array(MAX_F64 + 1); // throws diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 3f59da86..78d0fc15 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -1,27 +1,21 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$v (func)) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$idd (func (param f64 f64) (result i32))) - (type $FUNCSIG$dii (func (param i32 i32) (result f64))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (type $FUNCSIG$viij (func (param i32 i32 i64))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$jjjii (func (param i64 i64 i32 i32) (result i64))) (type $FUNCSIG$jiij (func (param i32 i32 i64) (result i64))) - (type $FUNCSIG$viif (func (param i32 i32 f32))) (type $FUNCSIG$fffii (func (param f32 f32 i32 i32) (result f32))) (type $FUNCSIG$fiif (func (param i32 i32 f32) (result f32))) (type $FUNCSIG$dddii (func (param f64 f64 i32 i32) (result f64))) (type $FUNCSIG$diid (func (param i32 i32 f64) (result f64))) (type $FUNCSIG$jjii (func (param i64 i32 i32) (result i64))) - (type $FUNCSIG$jii (func (param i32 i32) (result i64))) (type $FUNCSIG$ffii (func (param f32 i32 i32) (result f32))) - (type $FUNCSIG$fii (func (param i32 i32) (result f32))) (type $FUNCSIG$ddii (func (param f64 i32 i32) (result f64))) (type $FUNCSIG$ijii (func (param i64 i32 i32) (result i32))) (type $FUNCSIG$ifii (func (param f32 i32 i32) (result i32))) @@ -34,51 +28,37 @@ (type $FUNCSIG$vdii (func (param f64 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\11\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 48) "\1b\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 112) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 176) "\05\00\00\00\00\00\00\00\01\01\01\04\05\00\00\00") - (data (i32.const 192) "\b0\00\00\00\05\00\00\00") - (data (i32.const 200) "\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 216) "\c8\00\00\00\05\00\00\00") - (data (i32.const 224) "\05\00\00\00\00\00\00\00\01\01\00\00\00\00\00\00") - (data (i32.const 240) "\e0\00\00\00\05\00\00\00") - (data (i32.const 248) "\05\00\00\00\00\00\00\00\01\01\00\02\02\00\00\00") - (data (i32.const 264) "\f8\00\00\00\05\00\00\00") - (data (i32.const 272) "\05\00\00\00\00\00\00\00\01\01\00\02\02\00\00\00") - (data (i32.const 288) "\10\01\00\00\05\00\00\00") - (data (i32.const 296) "\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 312) "(\01\00\00\03\00\00\00") - (data (i32.const 320) "\05\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 336) "@\01\00\00\05\00\00\00") - (data (i32.const 344) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 376) "X\01\00\00\05\00\00\00") - (data (i32.const 384) "\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\80\01\00\00\05\00\00\00") - (data (i32.const 424) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 456) "\a8\01\00\00\05\00\00\00") - (data (i32.const 464) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 496) "\d0\01\00\00\05\00\00\00") - (data (i32.const 504) "\14\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 536) "\f8\01\00\00\05\00\00\00") - (data (i32.const 544) "\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 576) " \02\00\00\03\00\00\00") - (data (i32.const 584) "\14\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 616) "H\02\00\00\05\00\00\00") - (data (i32.const 624) "\0f\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 664) "\14\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 712) "\0c\00\00\00\00\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 744) "\c8\02\00\00\03\00\00\00") - (data (i32.const 752) "\16\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 800) "\16\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 848) "\1f\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 920) "\1b\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 984) "$\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1048) "\d8\03\00\00\t\00\00\00") - (data (i32.const 1056) "!\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1128) "+\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 8) "\01\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 56) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 96) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 144) "\02\00\00\00\05\00\00\00\01\01\01\04\05") + (data (i32.const 160) "\02\00\00\00\05\00\00\00\00\00\00\00\00") + (data (i32.const 176) "\02\00\00\00\05\00\00\00\01\01\00\00\00") + (data (i32.const 192) "\02\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 208) "\02\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 224) "\02\00\00\00\03\00\00\00\00\00\00") + (data (i32.const 240) "\02\00\00\00\05\00\00\00\01\00\00\00\02") + (data (i32.const 256) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 288) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 320) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 352) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 384) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 416) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 440) "\02\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") + (data (i32.const 472) "\01\00\00\00\1e\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 512) "\01\00\00\00(\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 560) "\02\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") + (data (i32.const 584) "\10\00\00\00\10\00\00\008\02\00\008\02\00\00D\02\00\00\03\00\00\00") + (data (i32.const 608) "\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 664) "\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 720) "\01\00\00\00>\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 792) "\01\00\00\006\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 856) "\02\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") + (data (i32.const 904) "\10\00\00\00\10\00\00\00`\03\00\00`\03\00\00\84\03\00\00\t\00\00\00") + (data (i32.const 928) "\01\00\00\00B\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1008) "\01\00\00\00V\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") (table $0 112 funcref) - (elem (i32.const 0) $null $~lib/internal/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0) + (elem (i32.const 0) $null $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduce~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testReduceRight~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArrayMap~anonymous|0 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArraySome~anonymous|0 $std/typedarray/testArraySome~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayFindIndex~anonymous|0 $std/typedarray/testArrayFindIndex~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayEvery~anonymous|0 $std/typedarray/testArrayEvery~anonymous|1 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0 $std/typedarray/testArrayForEach~anonymous|0) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -90,8 +70,13 @@ (global $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) (global $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT i32 (i32.const 4)) (global $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT i32 (i32.const 8)) + (global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 0)) + (global $~lib/runtime/HEADER_SIZE i32 (i32.const 8)) + (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) + (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741816)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) + (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $std/typedarray/arr (mut i32) (i32.const 0)) (global $std/typedarray/af64 (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) @@ -108,29 +93,17 @@ (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) (global $std/typedarray/forEachCallCount (mut i32) (i32.const 0)) (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) - (global $std/typedarray/forEachValues (mut i32) (i32.const 744)) - (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1048)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 1220)) + (global $std/typedarray/forEachValues (mut i32) (i32.const 592)) + (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 912)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1104)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) - (func $start:~lib/allocator/arena (; 1 ;) (type $FUNCSIG$v) - global.get $~lib/memory/HEAP_BASE - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - global.set $~lib/allocator/arena/startOffset - global.get $~lib/allocator/arena/startOffset - global.set $~lib/allocator/arena/offset - ) - (func $~lib/internal/arraybuffer/computeSize (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/adjustToBlock (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 - i32.const 8 + global.get $~lib/runtime/HEADER_SIZE i32.add i32.const 1 i32.sub @@ -138,417 +111,483 @@ i32.sub i32.shl ) - (func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - i32.const 1073741824 - i32.gt_u - if - unreachable - end - global.get $~lib/allocator/arena/offset - local.set $1 - local.get $1 - local.get $0 - local.tee $2 - i32.const 1 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $4 - current_memory - local.set $5 - local.get $4 - local.get $5 - i32.const 16 - i32.shl - i32.gt_u - if - local.get $4 + (local $7 i32) + block $~lib/allocator/arena/__memory_allocate|inlined.0 (result i32) + local.get $0 + local.set $1 local.get $1 - i32.sub - i32.const 65535 + i32.const 1073741824 + i32.gt_u + if + unreachable + end + global.get $~lib/allocator/arena/offset + local.set $2 + local.get $2 + local.get $1 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select i32.add - i32.const 65535 + i32.const 7 + i32.add + i32.const 7 i32.const -1 i32.xor i32.and - i32.const 16 - i32.shr_u - local.set $2 - local.get $5 - local.tee $3 - local.get $2 - local.tee $6 - local.get $3 - local.get $6 - i32.gt_s - select local.set $3 + current_memory + local.set $4 local.get $3 - grow_memory - i32.const 0 - i32.lt_s + local.get $4 + i32.const 16 + i32.shl + i32.gt_u if + local.get $3 local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $5 + local.get $4 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + local.set $6 + local.get $6 grow_memory i32.const 0 i32.lt_s if - unreachable + local.get $5 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $3 + global.set $~lib/allocator/arena/offset + local.get $2 + end + return + ) + (func $~lib/runtime/doAllocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/runtime/adjustToBlock + call $~lib/memory/memory.allocate + local.set $1 + local.get $1 + global.get $~lib/runtime/HEADER_MAGIC + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + global.get $~lib/runtime/HEADER_SIZE + i32.add + ) + (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + block $~lib/util/memory/memset|inlined.0 + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $5 + i32.eqz + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 1 + i32.sub + local.get $4 + i32.store8 + local.get $5 + i32.const 2 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 1 + i32.add + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.add + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $5 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 3 + i32.add + local.get $4 + i32.store8 + local.get $3 + local.get $5 + i32.add + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $5 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + i32.const 0 + local.get $3 + i32.sub + i32.const 3 + i32.and + local.set $6 + local.get $3 + local.get $6 + i32.add + local.set $3 + local.get $5 + local.get $6 + i32.sub + local.set $5 + local.get $5 + i32.const -4 + i32.and + local.set $5 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $7 + local.get $3 + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 4 + i32.sub + local.get $7 + i32.store + local.get $5 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 4 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 8 + i32.add + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 12 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 8 + i32.sub + local.get $7 + i32.store + local.get $5 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $3 + i32.const 12 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 16 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 20 + i32.add + local.get $7 + i32.store + local.get $3 + i32.const 24 + i32.add + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 28 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 24 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 20 + i32.sub + local.get $7 + i32.store + local.get $3 + local.get $5 + i32.add + i32.const 16 + i32.sub + local.get $7 + i32.store + i32.const 24 + local.get $3 + i32.const 4 + i32.and + i32.add + local.set $6 + local.get $3 + local.get $6 + i32.add + local.set $3 + local.get $5 + local.get $6 + i32.sub + local.set $5 + local.get $7 + i64.extend_i32_u + local.get $7 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $8 + block $break|0 + loop $continue|0 + local.get $5 + i32.const 32 + i32.ge_u + if + block + local.get $3 + local.get $8 + i64.store + local.get $3 + i32.const 8 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 16 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 24 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 32 + i32.sub + local.set $5 + local.get $3 + i32.const 32 + i32.add + local.set $3 + end + br $continue|0 + end end end end - local.get $4 - global.set $~lib/allocator/arena/offset - local.get $1 ) - (func $~lib/internal/arraybuffer/allocateUnsafe (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/runtime/assertUnregistered (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 1073741816 - i32.le_u + global.get $~lib/memory/HEAP_BASE + i32.gt_u i32.eqz if i32.const 0 - i32.const 112 - i32.const 26 + i32.const 64 + i32.const 188 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/memory/memory.allocate|inlined.0 (result i32) - local.get $0 - call $~lib/internal/arraybuffer/computeSize + local.get $0 + global.get $~lib/runtime/HEADER_SIZE + i32.sub + i32.load + global.get $~lib/runtime/HEADER_MAGIC + i32.eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 189 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/runtime/doRegister (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/runtime/assertUnregistered + local.get $0 + global.get $~lib/runtime/HEADER_SIZE + i32.sub + local.get $1 + i32.store + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + global.get $~lib/runtime/MAX_BYTELENGTH + i32.gt_u + if + i32.const 0 + i32.const 104 + i32.const 24 + i32.const 43 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/ALLOCATE|inlined.0 (result i32) + local.get $1 local.set $2 local.get $2 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.0 + call $~lib/runtime/doAllocate end - local.set $1 - local.get $1 - local.get $0 - i32.store + local.set $3 + local.get $3 + i32.const 0 local.get $1 + call $~lib/memory/memory.fill + block $~lib/runtime/REGISTER|inlined.0 (result i32) + local.get $3 + local.set $2 + local.get $2 + i32.const 2 + call $~lib/runtime/doRegister + end ) - (func $~lib/internal/memory/memset (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/ALLOCATE (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/doAllocate + ) + (func $~lib/runtime/ArrayBufferView#constructor (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i64) + local.get $1 + global.get $~lib/runtime/MAX_BYTELENGTH local.get $2 - i32.eqz + i32.shr_u + i32.gt_u if - return - end - local.get $0 - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 1 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - local.get $1 - i32.store8 - local.get $0 - i32.const 2 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 2 - i32.sub - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 3 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 8 - i32.le_u - if - return + i32.const 0 + i32.const 64 + i32.const 223 + i32.const 57 + call $~lib/env/abort + unreachable end i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $2 - i32.const -4 - i32.and - local.set $2 - i32.const -1 - i32.const 255 - i32.div_u local.get $1 - i32.const 255 - i32.and - i32.mul - local.set $4 - local.get $0 - local.get $4 - i32.store - local.get $0 local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 12 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 16 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 20 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 24 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 28 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 24 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 20 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 16 - i32.sub - local.get $4 - i32.store - i32.const 24 - local.get $0 - i32.const 4 - i32.and - i32.add + i32.shl + local.tee $1 + call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $4 - i64.extend_i32_u - local.get $4 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $5 - block $break|0 - loop $continue|0 - local.get $2 - i32.const 32 - i32.ge_u - if - block - local.get $0 - local.get $5 - i64.store - local.get $0 - i32.const 8 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 16 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 24 - i32.add - local.get $5 - i64.store - local.get $2 - i32.const 32 - i32.sub - local.set $2 - local.get $0 - i32.const 32 - i32.add - local.set $0 - end - br $continue|0 + block (result i32) + local.get $0 + i32.eqz + if + block $~lib/runtime/REGISTER|inlined.0 (result i32) + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $4 + local.get $4 + i32.const 3 + call $~lib/runtime/doRegister end - end - end - ) - (func $~lib/memory/memory.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/arena/__memory_allocate - return - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 1073741816 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 0 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.0 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate local.set $0 end local.get $0 @@ -565,114 +604,88 @@ local.get $3 i32.store local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int8Array#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor - local.set $0 - local.get $0 - ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 1073741816 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 0 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.1 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end local.get $3 - i32.store - local.get $0 - i32.const 0 i32.store offset=4 local.get $0 - local.get $2 + local.get $3 + local.get $1 + i32.add i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Uint8Array#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 - i32.eqz - if + if (result i32) + local.get $0 + else i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 4 + call $~lib/runtime/doRegister end - local.get $0 local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + i32.const 0 + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#get:byteOffset (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub + ) + (func $~lib/runtime/ArrayBufferView#get:byteLength (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=8 + local.get $0 + i32.load offset=4 + i32.sub + ) + (func $~lib/typedarray/Int8Array#get:length (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + ) + (func $~lib/typedarray/Uint8Array#constructor (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 5 + call $~lib/runtime/doRegister + end + local.get $1 + i32.const 0 + call $~lib/runtime/ArrayBufferView#constructor + local.set $0 + local.get $0 + ) + (func $~lib/typedarray/Uint8Array#get:length (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 i32.eqz if - i32.const 12 - call $~lib/memory/memory.allocate + block $~lib/runtime/REGISTER|inlined.0 (result i32) + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 6 + call $~lib/runtime/doRegister + end local.set $0 end local.get $0 @@ -681,655 +694,207 @@ local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#constructor (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 536870908 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 7 + call $~lib/runtime/doRegister end local.get $1 i32.const 1 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.2 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int16Array#constructor (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#get:length (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + ) + (func $~lib/typedarray/Uint16Array#constructor (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 536870908 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 8 + call $~lib/runtime/doRegister end local.get $1 i32.const 1 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.3 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint16Array#constructor (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#get:length (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + ) + (func $~lib/typedarray/Int32Array#constructor (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 9 + call $~lib/runtime/doRegister end local.get $1 i32.const 2 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.4 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int32Array#constructor (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#get:length (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + ) + (func $~lib/typedarray/Uint32Array#constructor (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 10 + call $~lib/runtime/doRegister end local.get $1 i32.const 2 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.5 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint32Array#constructor (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#get:length (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + ) + (func $~lib/typedarray/Int64Array#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 134217727 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 11 + call $~lib/runtime/doRegister end local.get $1 i32.const 3 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.6 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Int64Array#constructor (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#get:length (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + ) + (func $~lib/typedarray/Uint64Array#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 134217727 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 12 + call $~lib/runtime/doRegister end local.get $1 i32.const 3 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.7 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Uint64Array#constructor (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#get:length (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + ) + (func $~lib/typedarray/Float32Array#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 268435454 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 13 + call $~lib/runtime/doRegister end local.get $1 i32.const 2 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.8 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Float32Array#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $~lib/internal/typedarray/TypedArray#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#get:length (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + ) + (func $~lib/typedarray/Float64Array#constructor (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.const 134217727 - i32.gt_u - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 34 - call $~lib/env/abort - unreachable + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + call $~lib/runtime/ALLOCATE + local.set $2 + local.get $2 + i32.const 14 + call $~lib/runtime/doRegister end local.get $1 i32.const 3 - i32.shl - local.set $2 - local.get $2 - call $~lib/internal/arraybuffer/allocateUnsafe - local.set $3 - block $~lib/memory/memory.fill|inlined.9 - local.get $3 - i32.const 8 - i32.add - local.set $4 - i32.const 0 - local.set $5 - local.get $2 - local.set $6 - local.get $4 - local.get $5 - local.get $6 - call $~lib/internal/memory/memset - end - block (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - end - local.get $3 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - ) - (func $~lib/typedarray/Float64Array#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 12 - call $~lib/memory/memory.allocate - local.set $0 - end - local.get $0 - local.get $1 - call $~lib/internal/typedarray/TypedArray#constructor + call $~lib/runtime/ArrayBufferView#constructor local.set $0 local.get $0 ) - (func $std/typedarray/testInstantiate (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float64Array#get:length (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + ) + (func $std/typedarray/testInstantiate (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1341,26 +906,25 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) i32.const 0 local.get $0 call $~lib/typedarray/Int8Array#constructor local.set $1 local.get $1 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 34 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.mul @@ -1368,26 +932,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 35 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $1 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $1 + call $~lib/typedarray/Int8Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 36 i32.const 2 call $~lib/env/abort @@ -1396,22 +954,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint8Array#constructor - local.set $3 - local.get $3 - i32.load offset=4 + local.set $2 + local.get $2 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 39 i32.const 2 call $~lib/env/abort unreachable end - local.get $3 - i32.load offset=8 + local.get $2 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32.mul @@ -1419,26 +977,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 40 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $3 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Uint8Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 41 i32.const 2 call $~lib/env/abort @@ -1447,22 +999,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $4 - local.get $4 - i32.load offset=4 + local.set $3 + local.get $3 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 44 i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.load offset=8 + local.get $3 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32.mul @@ -1470,26 +1022,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 45 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $4 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint8Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 46 i32.const 2 call $~lib/env/abort @@ -1498,22 +1044,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Int16Array#constructor - local.set $5 - local.get $5 - i32.load offset=4 + local.set $4 + local.get $4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 49 i32.const 2 call $~lib/env/abort unreachable end - local.get $5 - i32.load offset=8 + local.get $4 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT i32.mul @@ -1521,26 +1067,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 50 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $5 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $4 + call $~lib/typedarray/Int16Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 51 i32.const 2 call $~lib/env/abort @@ -1549,22 +1089,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint16Array#constructor - local.set $6 - local.get $6 - i32.load offset=4 + local.set $5 + local.get $5 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 54 i32.const 2 call $~lib/env/abort unreachable end - local.get $6 - i32.load offset=8 + local.get $5 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT i32.mul @@ -1572,26 +1112,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 55 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $6 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $5 + call $~lib/typedarray/Uint16Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 56 i32.const 2 call $~lib/env/abort @@ -1600,22 +1134,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Int32Array#constructor - local.set $7 - local.get $7 - i32.load offset=4 + local.set $6 + local.get $6 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 59 i32.const 2 call $~lib/env/abort unreachable end - local.get $7 - i32.load offset=8 + local.get $6 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT i32.mul @@ -1623,26 +1157,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 60 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $7 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $6 + call $~lib/typedarray/Int32Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 61 i32.const 2 call $~lib/env/abort @@ -1651,22 +1179,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint32Array#constructor - local.set $8 - local.get $8 - i32.load offset=4 + local.set $7 + local.get $7 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 64 i32.const 2 call $~lib/env/abort unreachable end - local.get $8 - i32.load offset=8 + local.get $7 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT i32.mul @@ -1674,26 +1202,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 65 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $8 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $7 + call $~lib/typedarray/Uint32Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 66 i32.const 2 call $~lib/env/abort @@ -1702,22 +1224,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Int64Array#constructor - local.set $9 - local.get $9 - i32.load offset=4 + local.set $8 + local.get $8 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 69 i32.const 2 call $~lib/env/abort unreachable end - local.get $9 - i32.load offset=8 + local.get $8 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT i32.mul @@ -1725,26 +1247,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 70 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $9 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $8 + call $~lib/typedarray/Int64Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 71 i32.const 2 call $~lib/env/abort @@ -1753,22 +1269,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint64Array#constructor - local.set $10 - local.get $10 - i32.load offset=4 + local.set $9 + local.get $9 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 74 i32.const 2 call $~lib/env/abort unreachable end - local.get $10 - i32.load offset=8 + local.get $9 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT i32.mul @@ -1776,26 +1292,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 75 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $10 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $9 + call $~lib/typedarray/Uint64Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 76 i32.const 2 call $~lib/env/abort @@ -1804,22 +1314,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Float32Array#constructor - local.set $11 - local.get $11 - i32.load offset=4 + local.set $10 + local.get $10 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 79 i32.const 2 call $~lib/env/abort unreachable end - local.get $11 - i32.load offset=8 + local.get $10 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT i32.mul @@ -1827,26 +1337,20 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 80 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $11 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $10 + call $~lib/typedarray/Float32Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 81 i32.const 2 call $~lib/env/abort @@ -1855,22 +1359,22 @@ i32.const 0 local.get $0 call $~lib/typedarray/Float64Array#constructor - local.set $12 - local.get $12 - i32.load offset=4 + local.set $11 + local.get $11 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 84 i32.const 2 call $~lib/env/abort unreachable end - local.get $12 - i32.load offset=8 + local.get $11 + call $~lib/runtime/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT i32.mul @@ -1878,472 +1382,322 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 85 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.0 (result i32) - local.get $12 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $11 + call $~lib/typedarray/Float64Array#get:length local.get $0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 86 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store offset=8 - end - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - i32.load offset=8 - end - ) - (func $~lib/typedarray/Int32Array#subarray (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#subarray (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $4 - else - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $4 - end - local.get $5 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $5 - i32.add - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - else - local.get $5 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - end - block $~lib/memory/memory.allocate|inlined.1 (result i32) - i32.const 12 - local.set $7 - local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.1 - end - local.set $7 - local.get $7 - local.get $3 - i32.load - i32.store - local.get $7 - local.get $3 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $5 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $7 - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 32 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - f64.store offset=8 - end - ) - (func $~lib/typedarray/Float64Array#subarray (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $4 - else - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $4 - end - local.get $5 - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $5 - i32.add - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - else - local.get $5 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $5 - end - block $~lib/memory/memory.allocate|inlined.2 (result i32) - i32.const 12 - local.set $7 - local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.2 - end - local.set $7 - local.get $7 - local.get $3 - i32.load - i32.store - local.get $7 - local.get $3 - i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $5 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 - ) - (func $~lib/internal/sort/insertionSort (; 34 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) (local $9 i32) - (local $10 f64) - (local $11 f64) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $4 + else + local.get $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $4 + end + local.get $5 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $5 + i32.add + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + else + local.get $5 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + end + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.1 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end + local.set $7 + local.get $7 + i32.const 9 + call $~lib/runtime/doRegister + end + local.set $7 + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $9 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.store offset=8 + local.get $7 + ) + (func $~lib/typedarray/Float64Array#subarray (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $3 + local.get $1 + local.set $4 + local.get $2 + local.set $5 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $4 + else + local.get $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $4 + end + local.get $5 + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $5 + i32.add + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + else + local.get $5 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $5 + end + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.2 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end + local.set $7 + local.get $7 + i32.const 14 + call $~lib/runtime/doRegister + end + local.set $7 + local.get $3 + i32.load + local.set $8 + local.get $3 + i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 + local.get $4 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $9 + local.get $5 + i32.const 3 + i32.shl + i32.add + i32.store offset=8 + local.get $7 + ) + (func $~lib/util/sort/insertionSort (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) + (local $6 f64) + (local $7 i32) block $break|0 i32.const 0 - local.set $4 + local.set $3 loop $repeat|0 - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result f64) - local.get $0 - local.set $5 - local.get $4 - local.set $6 - local.get $1 - local.set $7 - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - local.get $7 - i32.add - f64.load offset=8 - end - local.set $8 - local.get $4 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $4 + local.get $3 i32.const 1 i32.sub - local.set $7 + local.set $5 block $break|1 loop $continue|1 - local.get $7 + local.get $5 i32.const 0 i32.ge_s if block - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result f64) - local.get $0 - local.set $6 - local.get $7 - local.set $5 - local.get $1 - local.set $9 - local.get $6 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $10 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $6 block (result i32) i32.const 2 global.set $~lib/argc - local.get $8 - local.get $10 - local.get $3 + local.get $4 + local.get $6 + local.get $2 call_indirect (type $FUNCSIG$idd) end i32.const 0 i32.lt_s if local.get $0 - local.set $9 block (result i32) - local.get $7 - local.tee $5 + local.get $5 + local.tee $7 i32.const 1 i32.sub - local.set $7 - local.get $5 + local.set $5 + local.get $7 end i32.const 1 i32.add - local.set $5 - local.get $10 - local.set $11 - local.get $1 - local.set $6 - local.get $9 - local.get $5 i32.const 3 i32.shl i32.add local.get $6 - i32.add - local.get $11 - f64.store offset=8 + f64.store else br $break|1 end @@ -2352,110 +1706,83 @@ end end end - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $0 - local.set $6 - local.get $7 - i32.const 1 - i32.add - local.set $5 - local.get $8 - local.set $10 - local.get $1 - local.set $9 - local.get $6 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $10 - f64.store offset=8 - end + local.get $0 + local.get $5 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $4 + f64.store end - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $repeat|0 unreachable end unreachable end ) - (func $~lib/allocator/arena/__memory_free (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) - nop + (func $~lib/memory/memory.free (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + local.set $1 ) - (func $~lib/internal/sort/weakHeapSort (; 36 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/util/sort/weakHeapSort (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - local.get $2 + (local $8 f64) + (local $9 f64) + (local $10 f64) + local.get $1 i32.const 31 i32.add i32.const 5 i32.shr_s i32.const 2 i32.shl + local.set $3 + local.get $3 + call $~lib/memory/memory.allocate local.set $4 - block $~lib/memory/memory.allocate|inlined.3 (result i32) - local.get $4 - local.set $5 - local.get $5 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.3 - end - local.set $6 - block $~lib/memory/memory.fill|inlined.10 - local.get $6 - local.set $5 - i32.const 0 - local.set $7 - local.get $4 - local.set $8 - local.get $5 - local.get $7 - local.get $8 - call $~lib/internal/memory/memset - end + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill block $break|0 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $8 + local.set $5 loop $repeat|0 - local.get $8 + local.get $5 i32.const 0 i32.gt_s i32.eqz br_if $break|0 block - local.get $8 - local.set $7 + local.get $5 + local.set $6 block $break|1 loop $continue|1 - local.get $7 + local.get $6 i32.const 1 i32.and + local.get $4 local.get $6 - local.get $7 i32.const 6 i32.shr_s i32.const 2 i32.shl i32.add i32.load - local.get $7 + local.get $6 i32.const 1 i32.shr_s i32.const 31 @@ -2465,72 +1792,52 @@ i32.and i32.eq if - local.get $7 + local.get $6 i32.const 1 i32.shr_s - local.set $7 + local.set $6 br $continue|1 end end end - local.get $7 + local.get $6 i32.const 1 i32.shr_s - local.set $5 - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result f64) - local.get $0 - local.set $9 - local.get $5 - local.set $10 - local.get $1 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result f64) - local.get $0 - local.set $11 - local.get $8 - local.set $10 - local.get $1 - local.set $9 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $13 + local.set $7 + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $8 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $9 block (result i32) i32.const 2 global.set $~lib/argc - local.get $12 - local.get $13 - local.get $3 + local.get $8 + local.get $9 + local.get $2 call_indirect (type $FUNCSIG$idd) end i32.const 0 i32.lt_s if - local.get $6 - local.get $8 + local.get $4 + local.get $5 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $6 - local.get $8 + local.get $4 + local.get $5 i32.const 5 i32.shr_s i32.const 2 @@ -2538,236 +1845,136 @@ i32.add i32.load i32.const 1 - local.get $8 + local.get $5 i32.const 31 i32.and i32.shl i32.xor i32.store - block $~lib/internal/arraybuffer/STORE|inlined.5 - local.get $0 - local.set $9 - local.get $8 - local.set $10 - local.get $12 - local.set $14 - local.get $1 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $14 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.6 - local.get $0 - local.set $11 - local.get $5 - local.set $10 - local.get $13 - local.set $14 - local.get $1 - local.set $9 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $14 - f64.store offset=8 - end + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $8 + f64.store + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $9 + f64.store end end - local.get $8 + local.get $5 i32.const 1 i32.sub - local.set $8 + local.set $5 br $repeat|0 unreachable end unreachable end block $break|2 - local.get $2 + local.get $1 i32.const 1 i32.sub - local.set $8 + local.set $5 loop $repeat|2 - local.get $8 + local.get $5 i32.const 2 i32.ge_s i32.eqz br_if $break|2 block - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result f64) - local.get $0 - local.set $5 - i32.const 0 - local.set $7 - local.get $1 - local.set $9 - local.get $5 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $13 - block $~lib/internal/arraybuffer/STORE|inlined.7 - local.get $0 - local.set $9 - i32.const 0 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result f64) - local.get $0 - local.set $5 - local.get $8 - local.set $10 - local.get $1 - local.set $11 - local.get $5 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 - local.get $1 - local.set $11 - local.get $9 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $12 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.8 - local.get $0 - local.set $11 - local.get $8 - local.set $7 - local.get $13 - local.set $12 - local.get $1 - local.set $9 - local.get $11 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $12 - f64.store offset=8 - end - i32.const 1 + local.get $0 + f64.load local.set $9 + local.get $0 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + f64.store + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.get $9 + f64.store + i32.const 1 + local.set $7 block $break|3 loop $continue|3 - local.get $9 + local.get $7 i32.const 1 i32.shl - local.get $6 - local.get $9 + local.get $4 + local.get $7 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add i32.load - local.get $9 + local.get $7 i32.const 31 i32.and i32.shr_u i32.const 1 i32.and i32.add - local.tee $7 - local.get $8 + local.tee $6 + local.get $5 i32.lt_s if - local.get $7 - local.set $9 + local.get $6 + local.set $7 br $continue|3 end end end block $break|4 loop $continue|4 - local.get $9 + local.get $7 i32.const 0 i32.gt_s if block - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result f64) - local.get $0 - local.set $11 - i32.const 0 - local.set $10 - local.get $1 - local.set $5 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $5 - i32.add - f64.load offset=8 - end - local.set $13 - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result f64) - local.get $0 - local.set $5 - local.get $9 - local.set $10 - local.get $1 - local.set $11 - local.get $5 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 + local.get $0 + f64.load + local.set $9 + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $8 block (result i32) i32.const 2 global.set $~lib/argc - local.get $13 - local.get $12 - local.get $3 + local.get $9 + local.get $8 + local.get $2 call_indirect (type $FUNCSIG$idd) end i32.const 0 i32.lt_s if - local.get $6 - local.get $9 + local.get $4 + local.get $7 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $6 - local.get $9 + local.get $4 + local.get $7 i32.const 5 i32.shr_s i32.const 2 @@ -2775,309 +1982,140 @@ i32.add i32.load i32.const 1 - local.get $9 + local.get $7 i32.const 31 i32.and i32.shl i32.xor i32.store - block $~lib/internal/arraybuffer/STORE|inlined.9 - local.get $0 - local.set $11 - local.get $9 - local.set $10 - local.get $13 - local.set $14 - local.get $1 - local.set $5 - local.get $11 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $5 - i32.add - local.get $14 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.10 - local.get $0 - local.set $5 - i32.const 0 - local.set $10 - local.get $12 - local.set $14 - local.get $1 - local.set $11 - local.get $5 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $14 - f64.store offset=8 - end + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.get $9 + f64.store + local.get $0 + local.get $8 + f64.store end - local.get $9 + local.get $7 i32.const 1 i32.shr_s - local.set $9 + local.set $7 end br $continue|4 end end end end - local.get $8 + local.get $5 i32.const 1 i32.sub - local.set $8 + local.set $5 br $repeat|2 unreachable end unreachable end - block $~lib/memory/memory.free|inlined.0 - local.get $6 - local.set $8 - local.get $8 - call $~lib/allocator/arena/__memory_free - br $~lib/memory/memory.free|inlined.0 - end - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f64) - local.get $0 - local.set $8 - i32.const 1 - local.set $7 - local.get $1 - local.set $9 - local.get $8 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $15 - block $~lib/internal/arraybuffer/STORE|inlined.11 - local.get $0 - local.set $9 - i32.const 1 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f64) - local.get $0 - local.set $8 - i32.const 0 - local.set $11 - local.get $1 - local.set $10 - local.get $8 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - f64.load offset=8 - end - local.set $13 - local.get $1 - local.set $10 - local.get $9 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - local.get $13 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.12 - local.get $0 - local.set $10 - i32.const 0 - local.set $7 - local.get $15 - local.set $13 - local.get $1 - local.set $9 - local.get $10 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $13 - f64.store offset=8 - end + local.get $4 + call $~lib/memory/memory.free + local.get $0 + f64.load offset=8 + local.set $10 + local.get $0 + local.get $0 + f64.load + f64.store offset=8 + local.get $0 + local.get $10 + f64.store ) - (func $~lib/typedarray/Float64Array#sort (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) + (local $6 f64) + (local $7 f64) (local $8 i32) (local $9 i32) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 i32) - block $~lib/internal/typedarray/SORT|inlined.0 (result i32) + (local $10 i32) + block $~lib/typedarray/SORT|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 local.get $2 - i32.load offset=4 + call $~lib/typedarray/Float64Array#get:length local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $5 - local.get $5 + local.get $4 i32.const 1 i32.le_s if local.get $2 - br $~lib/internal/typedarray/SORT|inlined.0 + br $~lib/typedarray/SORT|inlined.0 end local.get $2 - i32.load - local.set $6 - local.get $5 + i32.load offset=4 + local.set $5 + local.get $4 i32.const 2 i32.eq if - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result f64) - local.get $6 - local.set $7 - i32.const 1 - local.set $8 - local.get $4 - local.set $9 - local.get $7 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - f64.load offset=8 - end - local.set $10 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result f64) - local.get $6 - local.set $9 - i32.const 0 - local.set $8 - local.get $4 - local.set $7 - local.get $9 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $7 - i32.add - f64.load offset=8 - end - local.set $11 + local.get $5 + f64.load offset=8 + local.set $6 + local.get $5 + f64.load + local.set $7 block (result i32) i32.const 2 global.set $~lib/argc - local.get $10 - local.get $11 + local.get $6 + local.get $7 local.get $3 call_indirect (type $FUNCSIG$idd) end i32.const 0 i32.lt_s if - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $6 - local.set $7 - i32.const 1 - local.set $8 - local.get $11 - local.set $12 - local.get $4 - local.set $9 - local.get $7 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $9 - i32.add - local.get $12 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $6 - local.set $9 - i32.const 0 - local.set $8 - local.get $10 - local.set $12 - local.get $4 - local.set $7 - local.get $9 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $7 - i32.add - local.get $12 - f64.store offset=8 - end + local.get $5 + local.get $7 + f64.store offset=8 + local.get $5 + local.get $6 + f64.store end local.get $2 - br $~lib/internal/typedarray/SORT|inlined.0 + br $~lib/typedarray/SORT|inlined.0 end - block $~lib/internal/sort/SORT|inlined.0 - local.get $6 - local.set $7 - local.get $4 - local.set $8 + block $~lib/util/sort/SORT|inlined.0 local.get $5 + local.set $8 + local.get $4 local.set $9 local.get $3 - local.set $13 + local.set $10 local.get $9 i32.const 256 i32.lt_s if - local.get $7 local.get $8 local.get $9 - local.get $13 - call $~lib/internal/sort/insertionSort + local.get $10 + call $~lib/util/sort/insertionSort else - local.get $7 local.get $8 local.get $9 - local.get $13 - call $~lib/internal/sort/weakHeapSort + local.get $10 + call $~lib/util/sort/weakHeapSort end end local.get $2 end ) - (func $~lib/internal/sort/COMPARATOR~anonymous|0 (; 38 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 40 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -3110,7 +2148,7 @@ i64.lt_s i32.sub ) - (func $~lib/typedarray/Float64Array#sort|trampoline (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort|trampoline (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -3119,9 +2157,9 @@ end unreachable end - block $~lib/internal/sort/COMPARATOR|inlined.0 (result i32) + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) i32.const 1 - br $~lib/internal/sort/COMPARATOR|inlined.0 + br $~lib/util/sort/COMPARATOR|inlined.0 end local.set $1 end @@ -3129,185 +2167,7 @@ local.get $1 call $~lib/typedarray/Float64Array#sort ) - (func $~lib/internal/typedarray/TypedArray#__get (; 40 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f64) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.add - f64.load offset=8 - end - ) - (func $~lib/typedarray/clampToByte (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - local.get $0 - i32.or - i32.and - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 0 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store8 offset=8 - end - ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 43 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/clampToByte - call $~lib/internal/typedarray/TypedArray#__set - ) - (func $~lib/internal/typedarray/TypedArray#__get (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.add - i32.load8_u offset=8 - end - ) - (func $~lib/internal/typedarray/TypedArray#__set (; 45 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 0 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store8 offset=8 - end - ) - (func $~lib/typedarray/Int8Array#fill (; 46 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int8Array#fill (; 42 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3316,8 +2176,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) local.get $0 local.set $4 local.get $1 @@ -3327,41 +2185,32 @@ local.get $3 local.set $7 local.get $4 - i32.load + i32.load offset=4 local.set $8 local.get $4 - i32.load offset=4 + call $~lib/typedarray/Int8Array#get:length local.set $9 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $4 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $10 local.get $6 i32.const 0 i32.lt_s if (result i32) - local.get $10 + local.get $9 local.get $6 i32.add - local.tee $11 + local.tee $10 i32.const 0 - local.tee $12 + local.tee $11 + local.get $10 local.get $11 - local.get $12 i32.gt_s select else local.get $6 + local.tee $10 + local.get $9 local.tee $11 local.get $10 - local.tee $12 local.get $11 - local.get $12 i32.lt_s select end @@ -3370,23 +2219,23 @@ i32.const 0 i32.lt_s if (result i32) - local.get $10 + local.get $9 local.get $7 i32.add - local.tee $11 + local.tee $10 i32.const 0 - local.tee $12 + local.tee $11 + local.get $10 local.get $11 - local.get $12 i32.gt_s select else local.get $7 + local.tee $10 + local.get $9 local.tee $11 local.get $10 - local.tee $12 local.get $11 - local.get $12 i32.lt_s select end @@ -3398,111 +2247,1509 @@ local.get $8 local.get $6 i32.add - local.get $9 - i32.add - i32.const 8 - i32.add - local.set $11 local.get $5 - local.set $12 local.get $7 local.get $6 i32.sub - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memset + call $~lib/memory/memory.fill end local.get $4 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.add - i32.load8_s offset=8 - end + global.get $~lib/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 ) - (func $~lib/array/Array#__get (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/memory/memcpy (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + block $break|0 + loop $continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + local.get $2 + end + if + block + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + end + br $continue|0 + end + end + end local.get $0 - i32.load - local.set $2 - local.get $1 - local.get $2 - i32.load + i32.const 3 + i32.and i32.const 0 - i32.shr_u - i32.lt_u - if (result i32) + i32.eq + if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + if + block + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|1 + end + end + end local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + block $case0|2 + local.get $0 + i32.const 3 + i32.and + local.set $5 + local.get $5 + i32.const 1 + i32.eq + br_if $case0|2 + local.get $5 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $5 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + block + local.get $1 + i32.load + local.set $3 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + block $break|3 + loop $continue|3 + local.get $2 + i32.const 17 + i32.ge_u + if + block + local.get $1 + i32.const 1 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 5 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 9 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 13 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|3 + end + end + end + br $break|2 + unreachable + end + unreachable + end + block + local.get $1 + i32.load + local.set $3 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + block $break|4 + loop $continue|4 + local.get $2 + i32.const 18 + i32.ge_u + if + block + local.get $1 + i32.const 2 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 6 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 10 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 14 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|4 + end + end + end + br $break|2 + unreachable + end + unreachable + end + block + local.get $1 + i32.load + local.set $3 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + block $break|5 + loop $continue|5 + local.get $2 + i32.const 19 + i32.ge_u + if + block + local.get $1 + i32.const 3 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 7 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 11 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 15 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + end + br $continue|5 + end + end + end + br $break|2 + unreachable + end + unreachable + end + end + local.get $2 + i32.const 16 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 45 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 local.set $3 local.get $1 local.set $4 - i32.const 0 + local.get $2 local.set $5 local.get $3 local.get $4 - i32.const 0 - i32.shl - i32.add + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 local.get $5 i32.add - i32.load8_s offset=8 - else - unreachable + local.get $3 + i32.le_u + local.tee $6 + if (result i32) + local.get $6 + else + local.get $3 + local.get $5 + i32.add + local.get $4 + i32.le_u + end + if + local.get $3 + local.get $4 + local.get $5 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $3 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $3 + i32.const 7 + i32.and + if + block + local.get $5 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + block (result i32) + local.get $3 + local.tee $6 + i32.const 1 + i32.add + local.set $3 + local.get $6 + end + block (result i32) + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + end + i32.load8_u + i32.store8 + end + br $continue|0 + end + end + end + block $break|1 + loop $continue|1 + local.get $5 + i32.const 8 + i32.ge_u + if + block + local.get $3 + local.get $4 + i64.load + i64.store + local.get $5 + i32.const 8 + i32.sub + local.set $5 + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $4 + i32.const 8 + i32.add + local.set $4 + end + br $continue|1 + end + end + end + end + block $break|2 + loop $continue|2 + local.get $5 + if + block + block (result i32) + local.get $3 + local.tee $6 + i32.const 1 + i32.add + local.set $3 + local.get $6 + end + block (result i32) + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + end + i32.load8_u + i32.store8 + local.get $5 + i32.const 1 + i32.sub + local.set $5 + end + br $continue|2 + end + end + end + else + local.get $4 + i32.const 7 + i32.and + local.get $3 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $3 + local.get $5 + i32.add + i32.const 7 + i32.and + if + block + local.get $5 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.add + local.get $4 + local.get $5 + i32.add + i32.load8_u + i32.store8 + end + br $continue|3 + end + end + end + block $break|4 + loop $continue|4 + local.get $5 + i32.const 8 + i32.ge_u + if + block + local.get $5 + i32.const 8 + i32.sub + local.set $5 + local.get $3 + local.get $5 + i32.add + local.get $4 + local.get $5 + i32.add + i64.load + i64.store + end + br $continue|4 + end + end + end + end + block $break|5 + loop $continue|5 + local.get $5 + if + local.get $3 + local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.add + local.get $4 + local.get $5 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + end end ) - (func $std/typedarray/isInt8ArrayEqual (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/doWrapArray (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 16 + call $~lib/runtime/doAllocate + local.get $1 + call $~lib/runtime/doRegister + local.set $3 + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + local.get $4 + call $~lib/runtime/doAllocate + local.get $1 + call $~lib/runtime/doRegister + local.set $5 + local.get $3 + local.get $5 + i32.store + local.get $3 + local.get $5 + i32.store offset=4 + local.get $3 + local.get $5 + local.get $4 + i32.add + i32.store offset=8 + local.get $3 + local.get $4 + local.get $2 + i32.shr_u + i32.store offset=12 + local.get $5 + local.get $0 + local.get $4 + call $~lib/memory/memory.copy + local.get $3 + ) + (func $~lib/array/Array#get:length (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $std/typedarray/isInt8ArrayEqual (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $0 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - block $~lib/array/Array#get:length|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - i32.load offset=4 - end + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.get $1 + call $~lib/array/Array#get:length i32.ne if i32.const 0 @@ -3512,14 +3759,8 @@ block i32.const 0 local.set $2 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $0 - local.set $3 - local.get $3 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.set $3 end loop $repeat|0 @@ -3529,19 +3770,15 @@ i32.eqz br_if $break|0 local.get $0 + i32.load offset=4 local.get $2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.add + i32.load8_s local.get $1 + i32.load offset=4 local.get $2 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.add + i32.load8_s i32.ne if i32.const 0 @@ -3558,51 +3795,22 @@ end i32.const 1 ) - (func $~lib/typedarray/Int8Array#fill|trampoline (; 50 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int8Array#fill - ) - (func $~lib/typedarray/Int8Array#subarray (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#subarray (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int8Array#get:length local.set $6 local.get $4 i32.const 0 @@ -3663,36 +3871,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.4 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.3 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.4 + i32.const 4 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 0 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 0 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $~lib/typedarray/Int32Array#fill (; 52 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int32Array#fill (; 50 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3701,9 +3918,6 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $4 local.get $1 @@ -3713,41 +3927,32 @@ local.get $3 local.set $7 local.get $4 - i32.load + i32.load offset=4 local.set $8 local.get $4 - i32.load offset=4 + call $~lib/typedarray/Int32Array#get:length local.set $9 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $4 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $10 local.get $6 i32.const 0 i32.lt_s if (result i32) - local.get $10 + local.get $9 local.get $6 i32.add - local.tee $11 + local.tee $10 i32.const 0 - local.tee $12 + local.tee $11 + local.get $10 local.get $11 - local.get $12 i32.gt_s select else local.get $6 + local.tee $10 + local.get $9 local.tee $11 local.get $10 - local.tee $12 local.get $11 - local.get $12 i32.lt_s select end @@ -3756,23 +3961,23 @@ i32.const 0 i32.lt_s if (result i32) - local.get $10 + local.get $9 local.get $7 i32.add - local.tee $11 + local.tee $10 i32.const 0 - local.tee $12 + local.tee $11 + local.get $10 local.get $11 - local.get $12 i32.gt_s select else local.get $7 + local.tee $10 + local.get $9 local.tee $11 local.get $10 - local.tee $12 local.get $11 - local.get $12 i32.lt_s select end @@ -3784,25 +3989,13 @@ i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $8 - local.set $11 - local.get $6 - local.set $12 - local.get $5 - local.set $13 - local.get $9 - local.set $14 - local.get $11 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - local.get $13 - i32.store offset=8 - end + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store local.get $6 i32.const 1 i32.add @@ -3814,56 +4007,17 @@ end local.get $4 ) - (func $~lib/array/Array#__get (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $~lib/array/Array#get:length (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.load - local.set $2 - local.get $1 - local.get $2 - i32.load - i32.const 2 - i32.shr_u - i32.lt_u - if (result i32) - local.get $2 - local.set $3 - local.get $1 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.add - i32.load offset=8 - else - unreachable - end + i32.load offset=12 ) - (func $std/typedarray/isInt32ArrayEqual (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt32ArrayEqual (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $0 - local.set $2 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - block $~lib/array/Array#get:length|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - i32.load offset=4 - end + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.get $1 + call $~lib/array/Array#get:length i32.ne if i32.const 0 @@ -3873,14 +4027,8 @@ block i32.const 0 local.set $2 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $0 - local.set $3 - local.get $3 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $0 + call $~lib/typedarray/Int32Array#get:length local.set $3 end loop $repeat|0 @@ -3890,11 +4038,19 @@ i32.eqz br_if $break|0 local.get $0 + i32.load offset=4 local.get $2 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.shl + i32.add + i32.load local.get $1 + i32.load offset=4 local.get $2 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.ne if i32.const 0 @@ -3911,73 +4067,38 @@ end i32.const 1 ) - (func $~lib/typedarray/Int32Array#fill|trampoline (; 55 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int32Array#fill - ) - (func $std/typedarray/testReduce~anonymous|0 (; 56 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 53 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int8Array#reduce (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduce (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -3985,32 +4106,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $12 - i32.add - i32.load8_s offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4018,7 +4129,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 58 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 55 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4026,17 +4137,17 @@ call $~lib/typedarray/Int8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 2 i32.const 0 @@ -4052,56 +4163,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce~anonymous|0 (; 59 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 56 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8Array#reduce (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -4109,32 +4209,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $12 - i32.add - i32.load8_u offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4142,7 +4232,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 61 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 58 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4150,17 +4240,17 @@ call $~lib/typedarray/Uint8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 3 i32.const 0 @@ -4174,56 +4264,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce~anonymous|0 (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 59 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8ClampedArray#reduce (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduce (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -4231,32 +4310,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $12 - i32.add - i32.load8_u offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4264,31 +4333,71 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 64 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 61 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 4 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#reduce - local.set $1 - local.get $1 + local.set $2 + local.get $2 i32.const 255 i32.and i32.const 6 @@ -4296,97 +4405,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 65 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store16 offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|0 (; 66 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int16Array#reduce (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -4394,32 +4451,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $12 - i32.add - i32.load16_s offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4427,7 +4474,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 68 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 64 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4435,17 +4482,17 @@ call $~lib/typedarray/Int16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 5 i32.const 0 @@ -4461,97 +4508,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store16 offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|0 (; 70 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 65 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint16Array#reduce (; 71 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -4559,32 +4554,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $12 - i32.add - i32.load16_u offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4592,7 +4577,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 72 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 67 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4600,17 +4585,17 @@ call $~lib/typedarray/Uint16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 6 i32.const 0 @@ -4624,56 +4609,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce~anonymous|0 (; 73 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 68 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int32Array#reduce (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -4681,32 +4655,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $12 - i32.add - i32.load offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4714,7 +4678,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 75 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 70 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4722,17 +4686,17 @@ call $~lib/typedarray/Int32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 7 i32.const 0 @@ -4744,97 +4708,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i32.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|0 (; 77 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce~anonymous|0 (; 71 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint32Array#reduce (; 78 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduce (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -4842,32 +4754,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $12 - i32.add - i32.load offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -4875,7 +4777,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 79 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 73 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4883,17 +4785,17 @@ call $~lib/typedarray/Uint32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 8 i32.const 0 @@ -4905,97 +4807,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 80 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i64.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|0 (; 81 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce~anonymous|0 (; 74 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduce (; 82 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 75 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -5003,32 +4853,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $12 - i32.add - i64.load offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$jjjii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -5036,7 +4876,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 83 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 76 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -5044,17 +4884,17 @@ call $~lib/typedarray/Int64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 9 i64.const 0 @@ -5066,97 +4906,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 84 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - i64.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|0 (; 85 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce~anonymous|0 (; 77 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Uint64Array#reduce (; 86 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduce (; 78 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -5164,32 +4952,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $12 - i32.add - i64.load offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$jjjii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -5197,7 +4975,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 87 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 79 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -5205,17 +4983,17 @@ call $~lib/typedarray/Uint64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 10 i64.const 0 @@ -5227,97 +5005,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/typedarray/TypedArray#__set (; 88 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 50 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $0 - i32.load - local.set $3 - local.get $1 - local.set $4 - local.get $2 - local.set $5 - local.get $0 - i32.load offset=4 - local.set $6 - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.add - local.get $5 - f32.store offset=8 - end - ) - (func $std/typedarray/testReduce~anonymous|0 (; 89 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce~anonymous|0 (; 80 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduce (; 90 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 81 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 i32) (local $4 i32) (local $5 f32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -5325,32 +5051,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.0 (result f32) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $12 - i32.add - f32.load offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$fffii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -5358,7 +5074,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 91 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 82 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f32) i32.const 0 @@ -5366,17 +5082,17 @@ call $~lib/typedarray/Float32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 11 f32.const 0 @@ -5388,56 +5104,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduce~anonymous|0 (; 92 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce~anonymous|0 (; 83 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduce (; 93 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 84 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 i32) (local $4 i32) (local $5 f64) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $6 - local.get $3 - i32.load - local.set $7 local.get $3 i32.load offset=4 - local.set $8 + local.set $6 block $break|0 - i32.const 0 - local.set $9 + block + i32.const 0 + local.set $7 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $8 + end loop $repeat|0 - local.get $9 - local.get $6 + local.get $7 + local.get $8 i32.lt_s i32.eqz br_if $break|0 @@ -5445,32 +5150,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result f64) - local.get $7 - local.set $10 - local.get $9 - local.set $11 - local.get $8 - local.set $12 - local.get $10 - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $12 - i32.add - f64.load offset=8 - end - local.get $9 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$dddii) end local.set $5 - local.get $9 + local.get $7 i32.const 1 i32.add - local.set $9 + local.set $7 br $repeat|0 unreachable end @@ -5478,7 +5173,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce (; 94 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce (; 85 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) i32.const 0 @@ -5486,17 +5181,17 @@ call $~lib/typedarray/Float64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 12 f64.const 0 @@ -5508,28 +5203,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 252 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 86 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int8Array#reduceRight (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -5537,25 +5228,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int8Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -5564,32 +5246,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_s offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -5597,7 +5269,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 97 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 88 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5605,17 +5277,17 @@ call $~lib/typedarray/Int8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 13 i32.const 0 @@ -5631,28 +5303,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 98 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 89 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 99 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 90 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -5660,25 +5328,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint8Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -5687,32 +5346,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_u offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -5720,7 +5369,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 100 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 91 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5728,17 +5377,17 @@ call $~lib/typedarray/Uint8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 14 i32.const 0 @@ -5752,28 +5401,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 101 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 92 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 93 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -5781,25 +5426,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint8Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -5808,32 +5444,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_u offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -5841,31 +5467,71 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 103 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 94 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 15 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#reduceRight - local.set $1 - local.get $1 + local.set $2 + local.get $2 i32.const 255 i32.and i32.const 6 @@ -5873,28 +5539,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 104 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int16Array#reduceRight (; 105 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -5902,25 +5564,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int16Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -5929,32 +5582,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.add - i32.load16_s offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -5962,7 +5605,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 106 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 97 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5970,17 +5613,17 @@ call $~lib/typedarray/Int16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 16 i32.const 0 @@ -5996,28 +5639,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 107 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 98 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 108 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 99 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6025,25 +5664,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint16Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6052,32 +5682,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.add - i32.load16_u offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6085,7 +5705,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 109 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 100 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6093,17 +5713,17 @@ call $~lib/typedarray/Uint16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 17 i32.const 0 @@ -6117,28 +5737,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 110 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 101 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int32Array#reduceRight (; 111 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6146,25 +5762,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6173,32 +5780,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - i32.load offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6206,7 +5803,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 112 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 103 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6214,17 +5811,17 @@ call $~lib/typedarray/Int32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 18 i32.const 0 @@ -6236,28 +5833,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 113 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 104 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint32Array#reduceRight (; 114 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduceRight (; 105 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6265,25 +5858,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint32Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6292,32 +5876,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - i32.load offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$iiiii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6325,7 +5899,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 115 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 106 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6333,17 +5907,17 @@ call $~lib/typedarray/Uint32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 19 i32.const 0 @@ -6355,28 +5929,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 116 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight~anonymous|0 (; 107 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduceRight (; 117 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 108 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6384,25 +5954,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6411,32 +5972,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i64) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - i64.load offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$jjjii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6444,7 +5995,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 118 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 109 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -6452,17 +6003,17 @@ call $~lib/typedarray/Int64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 20 i64.const 0 @@ -6474,28 +6025,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 119 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight~anonymous|0 (; 110 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Uint64Array#reduceRight (; 120 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduceRight (; 111 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6503,25 +6050,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint64Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6530,32 +6068,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result i64) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - i64.load offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$jjjii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6563,7 +6091,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 121 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 112 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -6571,17 +6099,17 @@ call $~lib/typedarray/Uint64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 21 i64.const 0 @@ -6593,28 +6121,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 122 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduceRight~anonymous|0 (; 113 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduceRight (; 123 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 114 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 i32) (local $4 i32) (local $5 f32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6622,25 +6146,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Float32Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6649,32 +6164,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.1 (result f32) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - f32.load offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$fffii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6682,7 +6187,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 124 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 115 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f32) i32.const 0 @@ -6690,17 +6195,17 @@ call $~lib/typedarray/Float32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 22 f32.const 0 @@ -6712,28 +6217,24 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testReduceRight~anonymous|0 (; 125 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduceRight~anonymous|0 (; 116 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduceRight (; 126 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 117 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 i32) (local $4 i32) (local $5 f64) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $3 local.get $1 @@ -6741,25 +6242,16 @@ local.get $2 local.set $5 local.get $3 - i32.load - local.set $6 - local.get $3 i32.load offset=4 - local.set $7 + local.set $6 block $break|0 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $3 - local.set $8 - local.get $8 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Float64Array#get:length i32.const 1 i32.sub - local.set $8 + local.set $7 loop $repeat|0 - local.get $8 + local.get $7 i32.const 0 i32.ge_s i32.eqz @@ -6768,32 +6260,22 @@ i32.const 4 global.set $~lib/argc local.get $5 - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result f64) - local.get $6 - local.set $9 - local.get $8 - local.set $10 - local.get $7 - local.set $11 - local.get $9 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.get $8 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $7 local.get $3 local.get $4 call_indirect (type $FUNCSIG$dddii) end local.set $5 - local.get $8 + local.get $7 i32.const 1 i32.sub - local.set $8 + local.set $7 br $repeat|0 unreachable end @@ -6801,7 +6283,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight (; 127 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight (; 118 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) i32.const 0 @@ -6809,17 +6291,17 @@ call $~lib/typedarray/Float64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 23 f64.const 0 @@ -6831,19 +6313,19 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 279 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 128 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 119 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int8Array#map (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 120 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6851,105 +6333,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Int8Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Int8Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 0 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - i32.load8_s offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 0 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store8 offset=8 + i32.load8_s + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store8 + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $std/typedarray/testArrayMap (; 130 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 121 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6957,82 +6398,70 @@ call $~lib/typedarray/Int8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 24 call $~lib/typedarray/Int8Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s offset=1 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s offset=2 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 131 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 122 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint8Array#map (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 123 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7040,103 +6469,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Uint8Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Uint8Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 0 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - i32.load8_u offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - i32.const 255 - i32.and - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 0 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store8 offset=8 + i32.load8_u + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store8 + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $std/typedarray/testArrayMap (; 133 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 124 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7144,76 +6534,70 @@ call $~lib/typedarray/Uint8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 25 call $~lib/typedarray/Uint8Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=1 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=2 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 134 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 125 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 135 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7221,180 +6605,175 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Uint8Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $7 + local.get $8 + i32.const 0 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 0 - i32.shl - i32.add - local.get $14 - i32.add - i32.load8_u offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - i32.const 255 - i32.and - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 0 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store8 offset=8 + i32.load8_u + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store8 + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $std/typedarray/testArrayMap (; 136 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 127 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 26 call $~lib/typedarray/Uint8ClampedArray#map - local.set $1 - local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.set $2 + local.get $2 + i32.load offset=4 + i32.load8_u i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.get $2 + i32.load offset=4 + i32.load8_u offset=1 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end - local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.get $2 + i32.load offset=4 + i32.load8_u offset=2 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 137 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 128 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int16Array#map (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7402,142 +6781,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Int16Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Int16Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - i32.load16_s offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 1 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store16 offset=8 + i32.load16_s + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store16 + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.add - i32.load16_s offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 140 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 130 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7545,82 +6846,70 @@ call $~lib/typedarray/Int16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 27 call $~lib/typedarray/Int16Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s offset=2 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s offset=4 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 141 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 131 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint16Array#map (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7628,140 +6917,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Uint16Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Uint16Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 1 - i32.shl - i32.add - local.get $14 - i32.add - i32.load16_u offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - i32.const 65535 - i32.and - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 1 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store16 offset=8 + i32.load16_u + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store16 + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 143 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.add - i32.load16_u offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 144 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 133 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7769,76 +6982,70 @@ call $~lib/typedarray/Uint16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 28 call $~lib/typedarray/Uint16Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=2 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=4 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 145 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 134 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int32Array#map (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 135 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7846,101 +7053,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Int32Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Int32Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.2 + local.get $7 + local.get $8 + i32.const 2 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - i32.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 2 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store offset=8 + i32.load + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $std/typedarray/testArrayMap (; 147 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 136 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7948,70 +7118,70 @@ call $~lib/typedarray/Int32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 29 call $~lib/typedarray/Int32Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 148 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 137 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint32Array#map (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#map (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8019,138 +7189,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Uint32Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Uint32Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 2 + i32.shl + i32.add + block (result i32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - i32.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$iiii) - end - local.set $14 - i32.const 0 - local.set $13 - local.get $10 - local.get $11 i32.const 2 i32.shl i32.add - local.get $13 - i32.add - local.get $14 - i32.store offset=8 + i32.load + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$iiii) end - local.get $9 + i32.store + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 150 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - i32.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 151 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 139 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8158,70 +7254,70 @@ call $~lib/typedarray/Uint32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 30 call $~lib/typedarray/Uint32Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 9 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 152 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap~anonymous|0 (; 140 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $~lib/typedarray/Int64Array#map (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8229,139 +7325,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i64) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Int64Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Int64Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 3 + i32.shl + i32.add + block (result i64) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i64) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i64) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - i64.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$jjii) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 i32.const 3 i32.shl i32.add - local.get $14 - i32.add - local.get $15 - i64.store offset=8 + i64.load + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$jjii) end - local.get $9 + i64.store + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 154 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i64) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.add - i64.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 155 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 142 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8369,70 +7390,70 @@ call $~lib/typedarray/Int64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 31 call $~lib/typedarray/Int64Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load i64.const 1 i64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=8 i64.const 4 i64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=16 i64.const 9 i64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 156 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap~anonymous|0 (; 143 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $~lib/typedarray/Uint64Array#map (; 157 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#map (; 144 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8440,139 +7461,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i64) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Uint64Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Uint64Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 3 + i32.shl + i32.add + block (result i64) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result i64) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result i64) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - i64.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$jjii) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 i32.const 3 i32.shl i32.add - local.get $14 - i32.add - local.get $15 - i64.store offset=8 + i64.load + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$jjii) end - local.get $9 + i64.store + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 158 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result i64) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.add - i64.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 159 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 145 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8580,70 +7526,70 @@ call $~lib/typedarray/Uint64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 32 call $~lib/typedarray/Uint64Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load i64.const 1 i64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=8 i64.const 4 i64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=16 i64.const 9 i64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 160 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testArrayMap~anonymous|0 (; 146 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $0 local.get $0 f32.mul ) - (func $~lib/typedarray/Float32Array#map (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#map (; 147 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8651,139 +7597,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 f32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Float32Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Float32Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.1 + local.get $7 + local.get $8 + i32.const 2 + i32.shl + i32.add + block (result f32) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result f32) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.2 (result f32) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 2 - i32.shl - i32.add - local.get $14 - i32.add - f32.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$ffii) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 i32.const 2 i32.shl i32.add - local.get $14 - i32.add - local.get $15 - f32.store offset=8 + f32.load + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$ffii) end - local.get $9 + f32.store + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $~lib/internal/typedarray/TypedArray#__get (; 162 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 0 - i32.const 48 - i32.const 39 - i32.const 63 - call $~lib/env/abort - unreachable - end - block $~lib/internal/arraybuffer/LOAD|inlined.3 (result f32) - local.get $0 - i32.load - local.set $2 - local.get $1 - local.set $3 - local.get $0 - i32.load offset=4 - local.set $4 - local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.add - f32.load offset=8 - end - ) - (func $std/typedarray/testArrayMap (; 163 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 148 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8791,70 +7662,70 @@ call $~lib/typedarray/Float32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 33 call $~lib/typedarray/Float32Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load f32.const 1 f32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=4 f32.const 4 f32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=8 f32.const 9 f32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayMap~anonymous|0 (; 164 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap~anonymous|0 (; 149 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $0 local.get $0 f64.mul ) - (func $~lib/typedarray/Float64Array#map (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 150 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8862,102 +7733,64 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 f64) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $2 + call $~lib/typedarray/Float64Array#get:length local.set $4 local.get $2 - i32.load - local.set $5 - local.get $2 i32.load offset=4 - local.set $6 + local.set $5 i32.const 0 local.get $4 call $~lib/typedarray/Float64Array#constructor + local.set $6 + local.get $6 + i32.load offset=4 local.set $7 - local.get $7 - i32.load - local.set $8 block $break|0 i32.const 0 - local.set $9 + local.set $8 loop $repeat|0 - local.get $9 + local.get $8 local.get $4 i32.lt_s i32.eqz br_if $break|0 - block $~lib/internal/arraybuffer/STORE|inlined.13 + local.get $7 + local.get $8 + i32.const 3 + i32.shl + i32.add + block (result f64) + i32.const 3 + global.set $~lib/argc + local.get $5 local.get $8 - local.set $10 - local.get $9 - local.set $11 - block (result f64) - i32.const 3 - global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.15 (result f64) - local.get $5 - local.set $12 - local.get $9 - local.set $13 - local.get $6 - local.set $14 - local.get $12 - local.get $13 - i32.const 3 - i32.shl - i32.add - local.get $14 - i32.add - f64.load offset=8 - end - local.get $9 - local.get $2 - local.get $3 - call_indirect (type $FUNCSIG$ddii) - end - local.set $15 - i32.const 0 - local.set $14 - local.get $10 - local.get $11 i32.const 3 i32.shl i32.add - local.get $14 - i32.add - local.get $15 - f64.store offset=8 + f64.load + local.get $8 + local.get $2 + local.get $3 + call_indirect (type $FUNCSIG$ddii) end - local.get $9 + f64.store + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $repeat|0 unreachable end unreachable end - local.get $7 + local.get $6 ) - (func $std/typedarray/testArrayMap (; 166 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap (; 151 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8965,65 +7798,65 @@ call $~lib/typedarray/Float64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 34 call $~lib/typedarray/Float64Array#map local.set $1 local.get $1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load f64.const 1 f64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 306 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=8 f64.const 4 f64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 307 i32.const 2 call $~lib/env/abort unreachable end local.get $1 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=16 f64.const 9 f64.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 308 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 167 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 152 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -9032,65 +7865,44 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#some (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9099,12 +7911,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -9113,7 +7925,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 169 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 154 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -9122,7 +7934,7 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 170 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 155 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9131,17 +7943,17 @@ call $~lib/typedarray/Int8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 35 call $~lib/typedarray/Int8Array#some @@ -9152,7 +7964,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -9169,79 +7981,58 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 156 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8Array#some (; 172 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 157 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9250,12 +8041,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -9264,14 +8055,14 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 173 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 158 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 174 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 159 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9280,17 +8071,17 @@ call $~lib/typedarray/Uint8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 37 call $~lib/typedarray/Uint8Array#some @@ -9301,7 +8092,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -9318,79 +8109,58 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 175 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 160 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#some (; 176 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#some (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9399,12 +8169,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -9413,44 +8183,84 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 177 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 162 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 178 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 163 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 39 call $~lib/typedarray/Uint8ClampedArray#some - local.set $1 - local.get $1 + local.set $2 + local.get $2 i32.const 0 i32.ne i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -9459,22 +8269,22 @@ local.get $0 i32.const 40 call $~lib/typedarray/Uint8ClampedArray#some - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const 0 i32.ne i32.eqz i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 179 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 164 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -9483,65 +8293,44 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#some (; 180 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9550,12 +8339,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -9564,7 +8353,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 181 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 166 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -9573,7 +8362,7 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 182 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 167 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9582,17 +8371,17 @@ call $~lib/typedarray/Int16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 41 call $~lib/typedarray/Int16Array#some @@ -9603,7 +8392,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -9620,79 +8409,58 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 183 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 168 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint16Array#some (; 184 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9701,12 +8469,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -9715,14 +8483,14 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 185 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 170 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 186 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 171 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9731,17 +8499,17 @@ call $~lib/typedarray/Uint16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 43 call $~lib/typedarray/Uint16Array#some @@ -9752,7 +8520,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -9769,77 +8537,56 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 187 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 172 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#some (; 188 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 173 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.6 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9848,12 +8595,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -9862,12 +8609,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 189 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 174 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 190 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 175 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9876,17 +8623,17 @@ call $~lib/typedarray/Int32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 45 call $~lib/typedarray/Int32Array#some @@ -9897,7 +8644,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -9914,77 +8661,56 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 191 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 176 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint32Array#some (; 192 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#some (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -9993,12 +8719,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10007,12 +8733,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 193 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 178 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome (; 194 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 179 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10021,17 +8747,17 @@ call $~lib/typedarray/Uint32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 47 call $~lib/typedarray/Uint32Array#some @@ -10042,7 +8768,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -10059,77 +8785,56 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 195 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 180 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#some (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ijii) @@ -10138,12 +8843,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10152,12 +8857,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 197 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 182 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome (; 198 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 183 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10166,17 +8871,17 @@ call $~lib/typedarray/Int64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 49 call $~lib/typedarray/Int64Array#some @@ -10187,7 +8892,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -10204,77 +8909,56 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 199 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 184 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Uint64Array#some (; 200 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#some (; 185 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ijii) @@ -10283,12 +8967,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10297,12 +8981,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 201 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 186 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome (; 202 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 187 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10311,17 +8995,17 @@ call $~lib/typedarray/Uint64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 51 call $~lib/typedarray/Uint64Array#some @@ -10332,7 +9016,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -10349,77 +9033,56 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 203 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 188 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#some (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 189 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.4 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.5 (result f32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ifii) @@ -10428,12 +9091,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10442,12 +9105,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 205 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 190 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome (; 206 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 191 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10456,17 +9119,17 @@ call $~lib/typedarray/Float32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 53 call $~lib/typedarray/Float32Array#some @@ -10477,7 +9140,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -10494,77 +9157,56 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArraySome~anonymous|0 (; 207 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|0 (; 192 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#some (; 208 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 193 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/SOME|inlined.0 (result i32) + block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.17 (result f64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$idii) @@ -10573,12 +9215,12 @@ i32.ne if i32.const 1 - br $~lib/internal/typedarray/SOME|inlined.0 + br $~lib/typedarray/SOME|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10587,12 +9229,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome~anonymous|1 (; 209 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome~anonymous|1 (; 194 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 0 f64.eq ) - (func $std/typedarray/testArraySome (; 210 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome (; 195 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10601,17 +9243,17 @@ call $~lib/typedarray/Float64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 55 call $~lib/typedarray/Float64Array#some @@ -10622,7 +9264,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 335 i32.const 2 call $~lib/env/abort @@ -10639,14 +9281,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 338 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 211 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 196 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -10655,65 +9297,44 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#findIndex (; 212 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -10721,13 +9342,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10736,7 +9357,7 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 213 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 198 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -10745,7 +9366,7 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 214 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 199 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10754,17 +9375,17 @@ call $~lib/typedarray/Int8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 57 call $~lib/typedarray/Int8Array#findIndex @@ -10774,8 +9395,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -10790,80 +9411,59 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 215 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 200 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8Array#findIndex (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 201 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -10871,13 +9471,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -10886,14 +9486,14 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 217 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 202 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 218 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 203 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10902,17 +9502,17 @@ call $~lib/typedarray/Uint8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 59 call $~lib/typedarray/Uint8Array#findIndex @@ -10922,8 +9522,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -10938,80 +9538,59 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 219 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 204 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 205 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.14 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -11019,13 +9598,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11034,44 +9613,84 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 221 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 206 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 222 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 207 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 61 call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $1 - local.get $1 + local.set $2 + local.get $2 i32.const 1 i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11080,21 +9699,21 @@ local.get $0 i32.const 62 call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const -1 i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 223 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 208 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -11103,65 +9722,44 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#findIndex (; 224 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 209 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -11169,13 +9767,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11184,7 +9782,7 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 225 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 210 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -11193,7 +9791,7 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 226 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 211 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11202,17 +9800,17 @@ call $~lib/typedarray/Int16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 63 call $~lib/typedarray/Int16Array#findIndex @@ -11222,8 +9820,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11238,80 +9836,59 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 227 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 212 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint16Array#findIndex (; 228 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 213 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -11319,13 +9896,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11334,14 +9911,14 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 229 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 214 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 230 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 215 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11350,17 +9927,17 @@ call $~lib/typedarray/Uint16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 65 call $~lib/typedarray/Uint16Array#findIndex @@ -11370,8 +9947,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11386,78 +9963,57 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 231 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 216 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#findIndex (; 232 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 217 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.8 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -11465,13 +10021,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11480,12 +10036,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 233 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 218 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 234 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 219 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11494,17 +10050,17 @@ call $~lib/typedarray/Int32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 67 call $~lib/typedarray/Int32Array#findIndex @@ -11514,8 +10070,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11530,78 +10086,57 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 235 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 220 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint32Array#findIndex (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#findIndex (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -11609,13 +10144,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11624,12 +10159,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 237 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 222 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex (; 238 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 223 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11638,17 +10173,17 @@ call $~lib/typedarray/Uint32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 69 call $~lib/typedarray/Uint32Array#findIndex @@ -11658,8 +10193,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11674,78 +10209,57 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 239 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 224 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#findIndex (; 240 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 225 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ijii) @@ -11753,13 +10267,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11768,12 +10282,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 241 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 226 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex (; 242 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 227 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11782,17 +10296,17 @@ call $~lib/typedarray/Int64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 71 call $~lib/typedarray/Int64Array#findIndex @@ -11802,8 +10316,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11818,78 +10332,57 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 243 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 228 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Uint64Array#findIndex (; 244 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#findIndex (; 229 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ijii) @@ -11897,13 +10390,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -11912,12 +10405,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 245 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 230 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex (; 246 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 231 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11926,17 +10419,17 @@ call $~lib/typedarray/Uint64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 73 call $~lib/typedarray/Uint64Array#findIndex @@ -11946,8 +10439,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -11962,78 +10455,57 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 247 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 232 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#findIndex (; 248 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 233 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.5 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.7 (result f32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ifii) @@ -12041,13 +10513,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12056,12 +10528,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 249 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 234 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex (; 250 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 235 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12070,17 +10542,17 @@ call $~lib/typedarray/Float32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 75 call $~lib/typedarray/Float32Array#findIndex @@ -12090,8 +10562,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -12106,78 +10578,57 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 251 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|0 (; 236 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#findIndex (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 237 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/FIND_INDEX|inlined.0 (result i32) + block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result f64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$idii) @@ -12185,13 +10636,13 @@ i32.const 0 i32.ne if - local.get $7 - br $~lib/internal/typedarray/FIND_INDEX|inlined.0 + local.get $5 + br $~lib/typedarray/FIND_INDEX|inlined.0 end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12200,12 +10651,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 253 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex~anonymous|1 (; 238 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 4 f64.eq ) - (func $std/typedarray/testArrayFindIndex (; 254 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex (; 239 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12214,17 +10665,17 @@ call $~lib/typedarray/Float64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 77 call $~lib/typedarray/Float64Array#findIndex @@ -12234,8 +10685,8 @@ i32.eq i32.eqz if - i32.const 624 - i32.const 8 + i32.const 480 + i32.const 16 i32.const 365 i32.const 2 call $~lib/env/abort @@ -12250,15 +10701,15 @@ i32.eq i32.eqz if - i32.const 664 - i32.const 8 + i32.const 520 + i32.const 16 i32.const 368 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 255 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 240 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -12269,43 +10720,32 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Int8Array#every (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -12313,23 +10753,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -12340,15 +10770,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12357,7 +10787,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 257 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 242 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -12366,7 +10796,7 @@ i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 258 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 243 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12375,17 +10805,17 @@ call $~lib/typedarray/Int8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 79 call $~lib/typedarray/Int8Array#every @@ -12396,7 +10826,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -12413,14 +10843,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 259 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 244 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -12429,43 +10859,32 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint8Array#every (; 260 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 245 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.12 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -12473,23 +10892,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.16 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -12500,15 +10909,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12517,14 +10926,14 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 261 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 246 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 262 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 247 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12533,17 +10942,17 @@ call $~lib/typedarray/Uint8Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 81 call $~lib/typedarray/Uint8Array#every @@ -12554,7 +10963,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -12571,14 +10980,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 263 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 248 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -12587,43 +10996,32 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#every (; 264 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#every (; 249 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.13 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -12631,23 +11029,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.18 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -12658,15 +11046,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12675,44 +11063,84 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 265 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 250 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 266 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 251 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 83 call $~lib/typedarray/Uint8ClampedArray#every - local.set $1 - local.get $1 + local.set $2 + local.get $2 i32.const 0 i32.ne i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -12721,22 +11149,22 @@ local.get $0 i32.const 84 call $~lib/typedarray/Uint8ClampedArray#every - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const 0 i32.ne i32.eqz i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 267 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 252 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -12747,43 +11175,32 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Int16Array#every (; 268 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 253 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -12791,23 +11208,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -12818,15 +11225,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12835,7 +11242,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 269 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 254 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -12844,7 +11251,7 @@ i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 270 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 255 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12853,17 +11260,17 @@ call $~lib/typedarray/Int16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 85 call $~lib/typedarray/Int16Array#every @@ -12874,7 +11281,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -12891,14 +11298,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 271 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 256 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and @@ -12907,43 +11314,32 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint16Array#every (; 272 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 257 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -12951,23 +11347,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -12978,15 +11364,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -12995,14 +11381,14 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 273 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 258 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 274 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 259 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13011,17 +11397,17 @@ call $~lib/typedarray/Uint16Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 87 call $~lib/typedarray/Uint16Array#every @@ -13032,7 +11418,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -13049,57 +11435,46 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 275 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 260 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.rem_s i32.const 0 i32.eq ) - (func $~lib/typedarray/Int32Array#every (; 276 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 261 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -13107,23 +11482,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -13134,15 +11499,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -13151,12 +11516,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 277 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 262 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 278 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 263 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13165,17 +11530,17 @@ call $~lib/typedarray/Int32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 89 call $~lib/typedarray/Int32Array#every @@ -13186,7 +11551,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -13203,57 +11568,46 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 279 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 264 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.rem_u i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint32Array#every (; 280 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#every (; 265 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -13261,23 +11615,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$iiii) @@ -13288,15 +11632,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -13305,12 +11649,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 281 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 266 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery (; 282 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 267 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13319,17 +11663,17 @@ call $~lib/typedarray/Uint32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store local.get $0 - i32.const 1 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 local.get $0 i32.const 91 call $~lib/typedarray/Uint32Array#every @@ -13340,7 +11684,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -13357,57 +11701,46 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 283 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 268 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_s i64.const 0 i64.eq ) - (func $~lib/typedarray/Int64Array#every (; 284 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 269 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -13415,23 +11748,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ijii) @@ -13442,15 +11765,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -13459,12 +11782,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 285 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 270 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $std/typedarray/testArrayEvery (; 286 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 271 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13473,17 +11796,17 @@ call $~lib/typedarray/Int64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 93 call $~lib/typedarray/Int64Array#every @@ -13494,7 +11817,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -13511,57 +11834,46 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 287 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 272 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_u i64.const 0 i64.eq ) - (func $~lib/typedarray/Uint64Array#every (; 288 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#every (; 273 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -13569,23 +11881,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result i64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ijii) @@ -13596,15 +11898,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -13613,12 +11915,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 289 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 274 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $std/typedarray/testArrayEvery (; 290 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 275 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13627,17 +11929,17 @@ call $~lib/typedarray/Uint64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 i64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i64.store local.get $0 - i32.const 1 + i32.load offset=4 i64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 i64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i64.store offset=16 local.get $0 i32.const 95 call $~lib/typedarray/Uint64Array#every @@ -13648,7 +11950,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -13665,14 +11967,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/math/NativeMathf.mod (; 291 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 276 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13928,50 +12230,39 @@ local.get $2 f32.reinterpret_i32 ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 292 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 277 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 call $~lib/math/NativeMathf.mod f32.const 0 f32.eq ) - (func $~lib/typedarray/Float32Array#every (; 293 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 278 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -13979,23 +12270,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.9 (result f32) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$ifii) @@ -14006,15 +12287,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -14023,12 +12304,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 294 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 279 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $std/typedarray/testArrayEvery (; 295 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 280 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14037,17 +12318,17 @@ call $~lib/typedarray/Float32Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 f32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 f32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 97 call $~lib/typedarray/Float32Array#every @@ -14058,7 +12339,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -14075,14 +12356,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/math/NativeMath.mod (; 296 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 281 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -14340,50 +12621,39 @@ local.get $2 f64.reinterpret_i64 ) - (func $std/typedarray/testArrayEvery~anonymous|0 (; 297 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|0 (; 282 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 call $~lib/math/NativeMath.mod f64.const 0 f64.eq ) - (func $~lib/typedarray/Float64Array#every (; 298 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 283 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - block $~lib/internal/typedarray/EVERY|inlined.0 (result i32) + block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + end loop $repeat|0 block $continue|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -14391,23 +12661,13 @@ block (result i32) i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.21 (result f64) - local.get $5 - local.set $10 - local.get $7 - local.set $9 - local.get $6 - local.set $8 - local.get $10 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$idii) @@ -14418,15 +12678,15 @@ br $continue|0 end i32.const 0 - br $~lib/internal/typedarray/EVERY|inlined.0 + br $~lib/typedarray/EVERY|inlined.0 unreachable end unreachable end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end @@ -14435,12 +12695,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery~anonymous|1 (; 299 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery~anonymous|1 (; 284 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $std/typedarray/testArrayEvery (; 300 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery (; 285 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14449,17 +12709,17 @@ call $~lib/typedarray/Float64Array#constructor local.set $0 local.get $0 - i32.const 0 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 99 call $~lib/typedarray/Float64Array#every @@ -14470,7 +12730,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 395 i32.const 2 call $~lib/env/abort @@ -14487,18 +12747,22 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 398 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 301 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 286 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 i32.const 24 @@ -14513,8 +12777,8 @@ i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -14525,8 +12789,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -14537,8 +12801,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -14549,79 +12813,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int8Array#forEach (; 302 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#forEach (; 287 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.add - i32.load8_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 303 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 288 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14632,35 +12875,35 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load i32.const 24 i32.shl i32.const 24 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 i32.const 24 i32.shl i32.const 24 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 i32.const 24 i32.shl i32.const 24 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 101 call $~lib/typedarray/Int8Array#forEach @@ -14669,19 +12912,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 304 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 289 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 i32.const 255 @@ -14692,8 +12939,8 @@ i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -14704,8 +12951,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -14716,8 +12963,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -14728,79 +12975,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint8Array#forEach (; 305 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 290 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.14 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.19 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 306 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 291 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14811,29 +13037,29 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load i32.const 255 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 i32.const 255 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 i32.const 255 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 local.get $0 i32.const 102 call $~lib/typedarray/Uint8Array#forEach @@ -14842,19 +13068,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 307 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 292 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 i32.const 255 @@ -14865,8 +13095,8 @@ i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -14877,8 +13107,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -14889,8 +13119,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -14901,80 +13131,60 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint8ClampedArray#forEach (; 308 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#forEach (; 293 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 0 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.20 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.add - i32.load8_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 309 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 294 ;) (type $FUNCSIG$v) (local $0 i32) + (local $1 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 @@ -14984,29 +13194,68 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=1 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $1 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $1 + i32.sub + i32.const 31 + i32.shr_s + local.get $1 + i32.or + i32.and + i32.store8 offset=2 local.get $0 i32.const 103 call $~lib/typedarray/Uint8ClampedArray#forEach @@ -15015,19 +13264,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 310 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 295 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 i32.const 16 @@ -15042,8 +13295,8 @@ i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -15054,8 +13307,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -15066,8 +13319,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -15078,79 +13331,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int16Array#forEach (; 311 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#forEach (; 296 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $10 - i32.add - i32.load16_s offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 312 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 297 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -15161,35 +13393,35 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load i32.const 16 i32.shl i32.const 16 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 i32.const 16 i32.shl i32.const 16 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 i32.const 16 i32.shl i32.const 16 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 104 call $~lib/typedarray/Int16Array#forEach @@ -15198,19 +13430,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 313 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 298 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 i32.const 65535 @@ -15221,8 +13457,8 @@ i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -15233,8 +13469,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -15245,8 +13481,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -15257,79 +13493,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint16Array#forEach (; 314 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 299 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 1 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $10 - i32.add - i32.load16_u offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 315 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 300 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -15340,29 +13555,29 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load i32.const 65535 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 i32.const 65535 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=2 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 i32.const 65535 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 offset=4 local.get $0 i32.const 105 call $~lib/typedarray/Uint16Array#forEach @@ -15371,27 +13586,31 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 316 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 301 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 local.get $3 i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -15402,8 +13621,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -15414,8 +13633,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -15426,79 +13645,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int32Array#forEach (; 317 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 302 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.15 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 318 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 303 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -15509,23 +13707,23 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load + i32.store local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=8 + i32.store offset=8 local.get $0 i32.const 106 call $~lib/typedarray/Int32Array#forEach @@ -15534,27 +13732,31 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 319 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 304 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 local.get $3 i32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -15565,8 +13767,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -15577,8 +13779,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -15589,79 +13791,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint32Array#forEach (; 320 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#forEach (; 305 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.add - i32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$viii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 321 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 306 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -15672,23 +13853,23 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load + i32.store local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=4 + i32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i32.load offset=8 + i32.store offset=8 local.get $0 i32.const 107 call $~lib/typedarray/Uint32Array#forEach @@ -15697,19 +13878,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 322 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 307 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 local.get $3 @@ -15717,8 +13902,8 @@ i64.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -15729,8 +13914,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -15741,8 +13926,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -15753,79 +13938,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int64Array#forEach (; 323 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 308 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$vjii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 324 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 309 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -15836,26 +14000,23 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s + i64.store local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s offset=4 + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s offset=8 + i64.store offset=16 local.get $0 i32.const 108 call $~lib/typedarray/Int64Array#forEach @@ -15864,19 +14025,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 325 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 310 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 local.get $3 @@ -15884,8 +14049,8 @@ i64.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -15896,8 +14061,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -15908,8 +14073,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -15920,79 +14085,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint64Array#forEach (; 326 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#forEach (; 311 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result i64) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - i64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$vjii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 327 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 312 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -16003,26 +14147,23 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s + i64.store local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s offset=4 + i64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.load offset=4 + i64.load32_s offset=8 + i64.store offset=16 local.get $0 i32.const 109 call $~lib/typedarray/Uint64Array#forEach @@ -16031,19 +14172,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 328 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 313 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 local.get $3 @@ -16051,8 +14196,8 @@ f32.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -16063,8 +14208,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -16075,8 +14220,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -16087,79 +14232,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float32Array#forEach (; 329 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#forEach (; 314 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 2 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.10 (result f32) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.add - f32.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$vfii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 330 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 315 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -16170,26 +14294,26 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=4 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store offset=8 local.get $0 i32.const 110 call $~lib/typedarray/Float32Array#forEach @@ -16198,19 +14322,23 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/typedarray/testArrayForEach~anonymous|0 (; 331 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach~anonymous|0 (; 316 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues + i32.load offset=4 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 local.get $0 local.get $3 @@ -16218,8 +14346,8 @@ f64.eq i32.eqz if - i32.const 752 - i32.const 8 + i32.const 616 + i32.const 16 i32.const 425 i32.const 4 call $~lib/env/abort @@ -16230,8 +14358,8 @@ i32.eq i32.eqz if - i32.const 800 - i32.const 8 + i32.const 672 + i32.const 16 i32.const 426 i32.const 4 call $~lib/env/abort @@ -16242,8 +14370,8 @@ i32.eq i32.eqz if - i32.const 848 - i32.const 8 + i32.const 728 + i32.const 16 i32.const 427 i32.const 4 call $~lib/env/abort @@ -16254,79 +14382,58 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float64Array#forEach (; 332 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#forEach (; 317 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) local.get $0 local.set $2 local.get $1 local.set $3 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.10 (result i32) - local.get $2 - local.set $4 - local.get $4 - i32.load offset=8 - i32.const 3 - i32.shr_u - end - local.set $4 - local.get $2 - i32.load - local.set $5 local.get $2 i32.load offset=4 - local.set $6 + local.set $4 block $break|0 - i32.const 0 - local.set $7 + block + i32.const 0 + local.set $5 + local.get $2 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + end loop $repeat|0 - local.get $7 - local.get $4 + local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 block i32.const 3 global.set $~lib/argc - block $~lib/internal/arraybuffer/LOAD|inlined.22 (result f64) - local.get $5 - local.set $8 - local.get $7 - local.set $9 - local.get $6 - local.set $10 - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $10 - i32.add - f64.load offset=8 - end - local.get $7 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 local.get $2 local.get $3 call_indirect (type $FUNCSIG$vdii) end - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $repeat|0 unreachable end unreachable end ) - (func $std/typedarray/testArrayForEach (; 333 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach (; 318 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -16337,26 +14444,26 @@ local.get $0 global.set $std/typedarray/forEachSelf local.get $0 - i32.const 0 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $0 - i32.const 1 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 1 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=4 f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 local.get $0 - i32.const 2 + i32.load offset=4 global.get $std/typedarray/forEachValues - i32.const 2 - call $~lib/array/Array#__get + i32.load offset=4 + i32.load offset=8 f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 local.get $0 i32.const 111 call $~lib/typedarray/Float64Array#forEach @@ -16365,15 +14472,15 @@ i32.eq i32.eqz if - i32.const 920 - i32.const 8 + i32.const 800 + i32.const 16 i32.const 430 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int8Array#reverse (; 334 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 319 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -16381,121 +14488,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Int8Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_s offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_s offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store8 offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store8 offset=8 - end + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $5 + i32.load8_s + local.set $7 + local.get $5 + local.get $6 + i32.load8_s + i32.store8 + local.get $6 + local.get $7 + i32.store8 end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -16504,7 +14550,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse (; 335 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 320 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16533,25 +14579,37 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 24 i32.shl i32.const 24 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $2 + i32.load offset=4 local.get $3 + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 24 i32.shl i32.const 24 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 end local.get $3 i32.const 1 @@ -16575,17 +14633,19 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.add + i32.load8_s local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 24 i32.shl i32.const 24 @@ -16593,8 +14653,8 @@ i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -16616,79 +14676,63 @@ call $~lib/typedarray/Int8Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s offset=1 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s offset=2 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s offset=3 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8Array#reverse (; 336 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reverse (; 321 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -16696,121 +14740,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Uint8Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.21 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.22 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_u offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store8 offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store8 offset=8 - end + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $5 + i32.load8_u + local.set $7 + local.get $5 + local.get $6 + i32.load8_u + i32.store8 + local.get $6 + local.get $7 + i32.store8 end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -16819,27 +14802,22 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8Array#subarray (; 337 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#subarray (; 322 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.17 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint8Array#get:length local.set $6 local.get $4 i32.const 0 @@ -16900,36 +14878,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.5 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.4 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.5 + i32.const 5 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 0 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 0 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 338 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 323 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16958,21 +14945,33 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 255 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 local.get $2 + i32.load offset=4 local.get $3 + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 255 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 end local.get $3 i32.const 1 @@ -16996,22 +14995,26 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.add + i32.load8_u local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 255 i32.and i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -17033,71 +15036,63 @@ call $~lib/typedarray/Uint8Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=1 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=2 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=3 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#reverse (; 339 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reverse (; 324 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17105,121 +15100,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.18 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Uint8Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.23 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.add - i32.load8_u offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.24 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.add - i32.load8_u offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store8 offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store8 offset=8 - end + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $5 + i32.load8_u + local.set $7 + local.get $5 + local.get $6 + i32.load8_u + i32.store8 + local.get $6 + local.get $7 + i32.store8 end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -17228,27 +15162,22 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (; 340 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 325 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.19 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint8Array#get:length local.set $6 local.get $4 i32.const 0 @@ -17309,41 +15238,51 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.6 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.5 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.6 + i32.const 6 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 0 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 0 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 341 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 326 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $std/typedarray/testArrayReverseValues local.set $0 i32.const 0 @@ -17367,21 +15306,59 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $4 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $4 + i32.sub + i32.const 31 + i32.shr_s + local.get $4 + i32.or + i32.and + i32.store8 local.get $2 + i32.load offset=4 local.get $3 + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 255 i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.tee $4 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $4 + i32.sub + i32.const 31 + i32.shr_s + local.get $4 + i32.or + i32.and + i32.store8 end local.get $3 i32.const 1 @@ -17405,22 +15382,26 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.add + i32.load8_u local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 255 i32.and i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -17440,73 +15421,65 @@ i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray call $~lib/typedarray/Uint8ClampedArray#reverse - local.set $4 - local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.set $5 + local.get $5 + i32.load offset=4 + i32.load8_u i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.get $5 + i32.load offset=4 + i32.load8_u offset=1 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.get $5 + i32.load offset=4 + i32.load8_u offset=2 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end - local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + local.get $5 + i32.load offset=4 + i32.load8_u offset=3 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int16Array#reverse (; 342 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reverse (; 327 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17514,121 +15487,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Int16Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_s offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.add - i32.load16_s offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store16 offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store16 offset=8 - end - end - block + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $5 + local.get $2 local.get $4 i32.const 1 + i32.shl i32.add - local.set $4 + local.set $6 local.get $5 + i32.load16_s + local.set $7 + local.get $5 + local.get $6 + i32.load16_s + i32.store16 + local.get $6 + local.get $7 + i32.store16 + end + block + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -17637,27 +15549,22 @@ end local.get $1 ) - (func $~lib/typedarray/Int16Array#subarray (; 343 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#subarray (; 328 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int16Array#get:length local.set $6 local.get $4 i32.const 0 @@ -17718,36 +15625,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.7 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.6 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.7 + i32.const 7 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 1 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 1 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 344 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 329 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17776,25 +15692,41 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 1 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 16 i32.shl i32.const 16 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $2 + i32.load offset=4 local.get $3 + i32.const 1 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 16 i32.shl i32.const 16 i32.shr_s - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 end local.get $3 i32.const 1 @@ -17818,17 +15750,21 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 + i32.const 1 i32.shl - i32.const 16 - i32.shr_s + i32.add + i32.load16_s local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 16 i32.shl i32.const 16 @@ -17836,8 +15772,8 @@ i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -17859,79 +15795,63 @@ call $~lib/typedarray/Int16Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s offset=2 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s offset=4 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.load offset=4 + i32.load16_s offset=6 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint16Array#reverse (; 345 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 330 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17939,121 +15859,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Uint16Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.add - i32.load16_u offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.0 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.add - i32.load16_u offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store16 offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.1 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store16 offset=8 - end - end - block + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $5 + local.get $2 local.get $4 i32.const 1 + i32.shl i32.add - local.set $4 + local.set $6 local.get $5 + i32.load16_u + local.set $7 + local.get $5 + local.get $6 + i32.load16_u + i32.store16 + local.get $6 + local.get $7 + i32.store16 + end + block + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -18062,27 +15921,22 @@ end local.get $1 ) - (func $~lib/typedarray/Uint16Array#subarray (; 346 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#subarray (; 331 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint16Array#get:length local.set $6 local.get $4 i32.const 0 @@ -18143,36 +15997,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.8 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.7 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.8 + i32.const 8 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 1 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 1 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 347 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 332 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18201,21 +16064,37 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 1 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 65535 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 local.get $2 + i32.load offset=4 local.get $3 + i32.const 1 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 65535 i32.and - call $~lib/internal/typedarray/TypedArray#__set + i32.store16 end local.get $3 i32.const 1 @@ -18239,22 +16118,28 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.const 1 + i32.shl + i32.add + i32.load16_u local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.const 65535 i32.and i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -18276,71 +16161,63 @@ call $~lib/typedarray/Uint16Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=2 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=4 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 65535 - i32.and + i32.load offset=4 + i32.load16_u offset=6 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int32Array#reverse (; 348 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 333 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -18348,121 +16225,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.16 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.13 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - i32.load offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.4 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store offset=8 - end + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $5 + i32.load + local.set $7 + local.get $5 + local.get $6 + i32.load + i32.store + local.get $6 + local.get $7 + i32.store end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -18471,7 +16287,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse (; 349 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 334 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18500,17 +16316,33 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 2 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i32.load + i32.store local.get $2 + i32.load offset=4 local.get $3 + i32.const 2 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i32.load + i32.store end local.get $3 i32.const 1 @@ -18534,18 +16366,26 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.shl + i32.add + i32.load local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -18567,63 +16407,63 @@ call $~lib/typedarray/Int32Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=12 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint32Array#reverse (; 350 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reverse (; 335 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -18631,121 +16471,60 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Uint32Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - i32.load offset=8 - end - local.set $8 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $2 - local.set $7 - local.get $4 - local.set $6 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i32) - local.get $2 - local.set $9 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - i32.load offset=8 - end - local.set $11 - local.get $3 - local.set $10 - local.get $7 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $10 - i32.add - local.get $11 - i32.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $2 - local.set $10 - local.get $5 - local.set $11 - local.get $8 - local.set $6 - local.get $3 - local.set $7 - local.get $10 - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.add - local.get $6 - i32.store offset=8 - end + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $5 + i32.load + local.set $7 + local.get $5 + local.get $6 + i32.load + i32.store + local.get $6 + local.get $7 + i32.store end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -18754,27 +16533,22 @@ end local.get $1 ) - (func $~lib/typedarray/Uint32Array#subarray (; 351 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 336 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint32Array#get:length local.set $6 local.get $4 i32.const 0 @@ -18835,36 +16609,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.9 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.8 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.9 + i32.const 10 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 2 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 2 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 352 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 337 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18893,17 +16676,33 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 2 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i32.load + i32.store local.get $2 + i32.load offset=4 local.get $3 + i32.const 2 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i32.load + i32.store end local.get $3 i32.const 1 @@ -18927,18 +16726,26 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.shl + i32.add + i32.load local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load i32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -18960,186 +16767,124 @@ call $~lib/typedarray/Uint32Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 8 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 7 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 6 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=12 i32.const 5 i32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Int64Array#reverse (; 353 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (; 338 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i64) + (local $7 i64) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.set $9 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $2 - local.set $8 - local.get $4 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) - local.get $2 - local.set $6 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $6 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - i64.load offset=8 - end - local.set $12 - local.get $3 - local.set $11 - local.get $8 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $12 - i64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $2 - local.set $11 - local.get $5 - local.set $7 - local.get $9 - local.set $12 - local.get $3 - local.set $8 - local.get $11 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - local.get $12 - i64.store offset=8 - end + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $5 + i64.load + local.set $7 + local.get $5 + local.get $6 + i64.load + i64.store + local.get $6 + local.get $7 + i64.store end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -19148,27 +16893,22 @@ end local.get $1 ) - (func $~lib/typedarray/Int64Array#subarray (; 354 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#subarray (; 339 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Int64Array#get:length local.set $6 local.get $4 i32.const 0 @@ -19229,36 +16969,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.10 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.9 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.10 + i32.const 11 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 3 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 3 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 355 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 340 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -19287,19 +17036,33 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 3 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i64.load32_s + i64.store local.get $2 + i32.load offset=4 local.get $3 + i32.const 3 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i64.load32_s + i64.store end local.get $3 i32.const 1 @@ -19323,19 +17086,26 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.shl + i32.add + i64.load local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s + i32.const 2 + i32.shl + i32.add + i64.load32_s i64.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -19357,186 +17127,124 @@ call $~lib/typedarray/Int64Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load i64.const 8 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=8 i64.const 7 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=16 i64.const 6 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=24 i64.const 5 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Uint64Array#reverse (; 356 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#reverse (; 341 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i64) + (local $7 i64) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Uint64Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result i64) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - i64.load offset=8 - end - local.set $9 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $2 - local.set $8 - local.get $4 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result i64) - local.get $2 - local.set $6 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $6 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - i64.load offset=8 - end - local.set $12 - local.get $3 - local.set $11 - local.get $8 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $12 - i64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $2 - local.set $11 - local.get $5 - local.set $7 - local.get $9 - local.set $12 - local.get $3 - local.set $8 - local.get $11 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - local.get $12 - i64.store offset=8 - end + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $5 + i64.load + local.set $7 + local.get $5 + local.get $6 + i64.load + i64.store + local.get $6 + local.get $7 + i64.store end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -19545,27 +17253,22 @@ end local.get $1 ) - (func $~lib/typedarray/Uint64Array#subarray (; 357 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 342 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Uint64Array#get:length local.set $6 local.get $4 i32.const 0 @@ -19626,36 +17329,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.11 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.10 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.11 + i32.const 12 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 3 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 3 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 358 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 343 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -19684,19 +17396,33 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 3 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i64.load32_s + i64.store local.get $2 + i32.load offset=4 local.get $3 + i32.const 3 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/internal/typedarray/TypedArray#__set + i32.const 2 + i32.shl + i32.add + i64.load32_s + i64.store end local.get $3 i32.const 1 @@ -19720,19 +17446,26 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.shl + i32.add + i64.load local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s + i32.const 2 + i32.shl + i32.add + i64.load32_s i64.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -19754,186 +17487,124 @@ call $~lib/typedarray/Uint64Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load i64.const 8 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=8 i64.const 7 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=16 i64.const 6 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i64.load offset=24 i64.const 5 i64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float32Array#reverse (; 359 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#reverse (; 344 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f32) - (local $10 i32) - (local $11 i32) - (local $12 f32) + (local $7 f32) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Float32Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.11 (result f32) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - f32.load offset=8 - end - local.set $9 - block $~lib/internal/arraybuffer/STORE|inlined.2 - local.get $2 - local.set $8 - local.get $4 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.12 (result f32) - local.get $2 - local.set $6 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $6 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - f32.load offset=8 - end - local.set $12 - local.get $3 - local.set $11 - local.get $8 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.add - local.get $12 - f32.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.3 - local.get $2 - local.set $11 - local.get $5 - local.set $7 - local.get $9 - local.set $12 - local.get $3 - local.set $8 - local.get $11 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.add - local.get $12 - f32.store offset=8 - end + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $5 + f32.load + local.set $7 + local.get $5 + local.get $6 + f32.load + f32.store + local.get $6 + local.get $7 + f32.store end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -19942,27 +17613,22 @@ end local.get $1 ) - (func $~lib/typedarray/Float32Array#subarray (; 360 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#subarray (; 345 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 local.set $3 local.get $1 local.set $4 local.get $2 local.set $5 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + local.get $3 + call $~lib/typedarray/Float32Array#get:length local.set $6 local.get $4 i32.const 0 @@ -20023,36 +17689,45 @@ select local.set $5 end - block $~lib/memory/memory.allocate|inlined.12 (result i32) - i32.const 12 + block $~lib/runtime/REGISTER|inlined.1 (result i32) + block $~lib/runtime/ALLOCATE|inlined.11 (result i32) + i32.const 12 + local.set $7 + local.get $7 + call $~lib/runtime/doAllocate + end local.set $7 local.get $7 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.12 + i32.const 13 + call $~lib/runtime/doRegister end local.set $7 - local.get $7 local.get $3 i32.load - i32.store - local.get $7 + local.set $8 local.get $3 i32.load offset=4 + local.set $9 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $9 local.get $4 i32.const 2 i32.shl i32.add i32.store offset=4 local.get $7 + local.get $9 local.get $5 - local.get $4 - i32.sub i32.const 2 i32.shl + i32.add i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse (; 361 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 346 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20081,19 +17756,35 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 2 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store local.get $2 + i32.load offset=4 local.get $3 + i32.const 2 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load f32.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f32.store end local.get $3 i32.const 1 @@ -20117,19 +17808,27 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 2 + i32.shl + i32.add + f32.load local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load f32.convert_i32_s f32.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -20151,186 +17850,124 @@ call $~lib/typedarray/Float32Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load f32.const 8 f32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=4 f32.const 7 f32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=8 f32.const 6 f32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f32.load offset=12 f32.const 5 f32.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/typedarray/Float64Array#reverse (; 362 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 347 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 i32) - (local $11 i32) - (local $12 f64) + (local $7 f64) local.get $0 local.set $1 local.get $1 - i32.load - local.set $2 - local.get $1 i32.load offset=4 - local.set $3 + local.set $2 block $break|0 block i32.const 0 - local.set $4 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.11 (result i32) - local.get $1 - local.set $5 - local.get $5 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + local.set $3 + local.get $1 + call $~lib/typedarray/Float64Array#get:length i32.const 1 i32.sub - local.set $5 + local.set $4 end loop $repeat|0 + local.get $3 local.get $4 - local.get $5 i32.lt_s i32.eqz br_if $break|0 block - block $~lib/internal/arraybuffer/LOAD|inlined.23 (result f64) - local.get $2 - local.set $6 - local.get $4 - local.set $7 - local.get $3 - local.set $8 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - f64.load offset=8 - end - local.set $9 - block $~lib/internal/arraybuffer/STORE|inlined.14 - local.get $2 - local.set $8 - local.get $4 - local.set $7 - block $~lib/internal/arraybuffer/LOAD|inlined.24 (result f64) - local.get $2 - local.set $6 - local.get $5 - local.set $10 - local.get $3 - local.set $11 - local.get $6 - local.get $10 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - f64.load offset=8 - end - local.set $12 - local.get $3 - local.set $11 - local.get $8 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $11 - i32.add - local.get $12 - f64.store offset=8 - end - block $~lib/internal/arraybuffer/STORE|inlined.15 - local.get $2 - local.set $11 - local.get $5 - local.set $7 - local.get $9 - local.set $12 - local.get $3 - local.set $8 - local.get $11 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.get $8 - i32.add - local.get $12 - f64.store offset=8 - end + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $5 + f64.load + local.set $7 + local.get $5 + local.get $6 + f64.load + f64.store + local.get $6 + local.get $7 + f64.store end block - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - local.get $5 + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 end br $repeat|0 unreachable @@ -20339,7 +17976,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse (; 363 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse (; 348 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20368,19 +18005,35 @@ br_if $break|0 block local.get $1 + i32.load offset=4 local.get $3 + i32.const 3 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store local.get $2 + i32.load offset=4 local.get $3 + i32.const 3 + i32.shl + i32.add local.get $0 + i32.load offset=4 local.get $3 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load f64.convert_i32_s - call $~lib/internal/typedarray/TypedArray#__set + f64.store end local.get $3 i32.const 1 @@ -20404,19 +18057,27 @@ i32.eqz br_if $break|1 local.get $1 + i32.load offset=4 local.get $3 - call $~lib/internal/typedarray/TypedArray#__get + i32.const 3 + i32.shl + i32.add + f64.load local.get $0 + i32.load offset=4 i32.const 8 local.get $3 i32.sub - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + i32.load f64.convert_i32_s f64.eq i32.eqz if - i32.const 1056 - i32.const 8 + i32.const 936 + i32.const 16 i32.const 461 i32.const 4 call $~lib/env/abort @@ -20438,63 +18099,63 @@ call $~lib/typedarray/Float64Array#reverse local.set $4 local.get $4 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load f64.const 8 f64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 466 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=8 f64.const 7 f64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 467 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=16 f64.const 6 f64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 468 i32.const 2 call $~lib/env/abort unreachable end local.get $4 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=24 f64.const 5 f64.eq i32.eqz if - i32.const 1128 - i32.const 8 + i32.const 1016 + i32.const 16 i32.const 469 i32.const 2 call $~lib/env/abort unreachable end ) - (func $start:std/typedarray (; 364 ;) (type $FUNCSIG$v) + (func $start:std/typedarray (; 349 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 @@ -20502,7 +18163,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 1 i32.const 0 call $~lib/env/abort @@ -20514,7 +18175,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 2 i32.const 0 call $~lib/env/abort @@ -20526,7 +18187,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 3 i32.const 0 call $~lib/env/abort @@ -20538,7 +18199,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 4 i32.const 0 call $~lib/env/abort @@ -20550,7 +18211,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 5 i32.const 0 call $~lib/env/abort @@ -20562,7 +18223,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 6 i32.const 0 call $~lib/env/abort @@ -20574,7 +18235,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 7 i32.const 0 call $~lib/env/abort @@ -20586,7 +18247,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 8 i32.const 0 call $~lib/env/abort @@ -20598,7 +18259,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 9 i32.const 0 call $~lib/env/abort @@ -20610,7 +18271,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 10 i32.const 0 call $~lib/env/abort @@ -20622,13 +18283,22 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 11 i32.const 0 call $~lib/env/abort unreachable end - call $start:~lib/allocator/arena + global.get $~lib/memory/HEAP_BASE + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + global.set $~lib/allocator/arena/startOffset + global.get $~lib/allocator/arena/startOffset + global.set $~lib/allocator/arena/offset i32.const 0 call $std/typedarray/testInstantiate i32.const 5 @@ -20638,51 +18308,45 @@ call $~lib/typedarray/Int32Array#constructor global.set $std/typedarray/arr global.get $std/typedarray/arr - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store global.get $std/typedarray/arr - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 global.get $std/typedarray/arr - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set - block $~lib/internal/typedarray/TypedArray#get:length|inlined.1 (result i32) - global.get $std/typedarray/arr - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + i32.store offset=8 + global.get $std/typedarray/arr + call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 96 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 97 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.const 4 i32.mul @@ -20690,49 +18354,49 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 98 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 99 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=4 i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 100 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load offset=8 i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 101 i32.const 0 call $~lib/env/abort @@ -20743,27 +18407,21 @@ i32.const 2 call $~lib/typedarray/Int32Array#subarray global.set $std/typedarray/arr - block $~lib/internal/typedarray/TypedArray#get:length|inlined.3 (result i32) - global.get $std/typedarray/arr - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + global.get $std/typedarray/arr + call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 104 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 1 i32.const 4 i32.mul @@ -20771,14 +18429,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 105 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 1 i32.const 4 i32.mul @@ -20786,21 +18444,21 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 106 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + i32.load i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 107 i32.const 0 call $~lib/env/abort @@ -20811,63 +18469,57 @@ call $~lib/typedarray/Float64Array#constructor global.set $std/typedarray/af64 global.get $std/typedarray/af64 - i32.const 0 + i32.load offset=4 f64.const 1 - call $~lib/internal/typedarray/TypedArray#__set + f64.store global.get $std/typedarray/af64 - i32.const 1 + i32.load offset=4 f64.const 2 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=8 global.get $std/typedarray/af64 - i32.const 2 + i32.load offset=4 f64.const 7 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=16 global.get $std/typedarray/af64 - i32.const 3 + i32.load offset=4 f64.const 6 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=24 global.get $std/typedarray/af64 - i32.const 4 + i32.load offset=4 f64.const 5 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=32 global.get $std/typedarray/af64 - i32.const 5 + i32.load offset=4 f64.const 4 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=40 global.get $std/typedarray/af64 - i32.const 6 + i32.load offset=4 f64.const 3 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=48 global.get $std/typedarray/af64 - i32.const 7 + i32.load offset=4 f64.const 8 - call $~lib/internal/typedarray/TypedArray#__set + f64.store offset=56 global.get $std/typedarray/af64 i32.const 2 i32.const 6 call $~lib/typedarray/Float64Array#subarray global.set $std/typedarray/af64 - block $~lib/internal/typedarray/TypedArray#get:length|inlined.2 (result i32) - global.get $std/typedarray/af64 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - end + global.get $std/typedarray/af64 + call $~lib/typedarray/Float64Array#get:length i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 121 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/af64 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 2 i32.const 8 i32.mul @@ -20875,14 +18527,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 122 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/af64 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 4 i32.const 8 i32.mul @@ -20890,7 +18542,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 123 i32.const 0 call $~lib/env/abort @@ -20905,15 +18557,15 @@ end drop global.get $std/typedarray/af64 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load f64.const 4 f64.eq local.tee $0 if (result i32) global.get $std/typedarray/af64 - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=8 f64.const 5 f64.eq else @@ -20922,8 +18574,8 @@ local.tee $0 if (result i32) global.get $std/typedarray/af64 - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=16 f64.const 6 f64.eq else @@ -20932,8 +18584,8 @@ local.tee $0 if (result i32) global.get $std/typedarray/af64 - i32.const 3 - call $~lib/internal/typedarray/TypedArray#__get + i32.load offset=4 + f64.load offset=24 f64.const 7 f64.eq else @@ -20942,7 +18594,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 125 i32.const 0 call $~lib/env/abort @@ -20953,60 +18605,93 @@ call $~lib/typedarray/Uint8ClampedArray#constructor global.set $std/typedarray/clampedArr global.get $std/typedarray/clampedArr - i32.const 0 + i32.load offset=4 i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $std/typedarray/clampedArr - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or i32.and + i32.store8 + global.get $std/typedarray/clampedArr + i32.load offset=4 + i32.const 2 + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + i32.and + i32.store8 offset=1 + global.get $std/typedarray/clampedArr + i32.load offset=4 + i32.const 256 + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + i32.and + i32.store8 offset=2 + global.get $std/typedarray/clampedArr + i32.load offset=4 + i32.load8_u i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 132 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/clampedArr - i32.const 1 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=1 i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 133 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/clampedArr - i32.const 2 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 255 - i32.and + i32.load offset=4 + i32.load8_u offset=2 i32.const 255 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 134 i32.const 0 call $~lib/env/abort @@ -21017,25 +18702,25 @@ call $~lib/typedarray/Int8Array#constructor global.set $std/typedarray/arr8 global.get $std/typedarray/arr8 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 global.get $std/typedarray/arr8 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 global.get $std/typedarray/arr8 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 global.get $std/typedarray/arr8 - i32.const 3 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=3 global.get $std/typedarray/arr8 - i32.const 4 + i32.load offset=4 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=4 global.get $std/typedarray/arr8 i32.const 1 i32.const 1 @@ -21043,34 +18728,44 @@ call $~lib/typedarray/Int8Array#fill drop global.get $std/typedarray/arr8 - i32.const 192 + block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) + i32.const 152 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 144 i32.const 0 call $~lib/env/abort unreachable end - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/arr8 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline - end + global.get $std/typedarray/arr8 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill drop global.get $std/typedarray/arr8 - i32.const 216 + block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) + i32.const 168 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 147 i32.const 0 call $~lib/env/abort @@ -21083,34 +18778,44 @@ call $~lib/typedarray/Int8Array#fill drop global.get $std/typedarray/arr8 - i32.const 240 + block $~lib/runtime/WRAPARRAY|inlined.2 (result i32) + i32.const 184 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 150 i32.const 0 call $~lib/env/abort unreachable end - block (result i32) - i32.const 2 - global.set $~lib/argc - global.get $std/typedarray/arr8 - i32.const 2 - i32.const -2 - i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline - end + global.get $std/typedarray/arr8 + i32.const 2 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill drop global.get $std/typedarray/arr8 - i32.const 264 + block $~lib/runtime/WRAPARRAY|inlined.3 (result i32) + i32.const 200 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 153 i32.const 0 call $~lib/env/abort @@ -21123,12 +18828,19 @@ call $~lib/typedarray/Int8Array#fill drop global.get $std/typedarray/arr8 - i32.const 288 + block $~lib/runtime/WRAPARRAY|inlined.4 (result i32) + i32.const 216 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 156 i32.const 0 call $~lib/env/abort @@ -21139,80 +18851,84 @@ i32.const 4 call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/sub8 - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/sub8 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#fill|trampoline - end + global.get $std/typedarray/sub8 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill drop - block $~lib/internal/typedarray/TypedArray#get:length|inlined.6 (result i32) - global.get $std/typedarray/sub8 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + global.get $std/typedarray/sub8 + call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 160 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub8 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 161 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub8 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 162 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub8 - i32.const 312 + block $~lib/runtime/WRAPARRAY|inlined.5 (result i32) + i32.const 232 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 163 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr8 - i32.const 336 + block $~lib/runtime/WRAPARRAY|inlined.6 (result i32) + i32.const 248 + local.set $0 + local.get $0 + i32.const 15 + i32.const 0 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 164 i32.const 0 call $~lib/env/abort @@ -21223,25 +18939,25 @@ call $~lib/typedarray/Int32Array#constructor global.set $std/typedarray/arr32 global.get $std/typedarray/arr32 - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store global.get $std/typedarray/arr32 - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=4 global.get $std/typedarray/arr32 - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=8 global.get $std/typedarray/arr32 - i32.const 3 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=12 global.get $std/typedarray/arr32 - i32.const 4 + i32.load offset=4 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set + i32.store offset=16 global.get $std/typedarray/arr32 i32.const 1 i32.const 1 @@ -21249,34 +18965,44 @@ call $~lib/typedarray/Int32Array#fill drop global.get $std/typedarray/arr32 - i32.const 376 + block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) + i32.const 264 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 174 i32.const 0 call $~lib/env/abort unreachable end - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/arr32 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline - end + global.get $std/typedarray/arr32 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill drop global.get $std/typedarray/arr32 - i32.const 416 + block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) + i32.const 296 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 177 i32.const 0 call $~lib/env/abort @@ -21289,34 +19015,44 @@ call $~lib/typedarray/Int32Array#fill drop global.get $std/typedarray/arr32 - i32.const 456 + block $~lib/runtime/WRAPARRAY|inlined.2 (result i32) + i32.const 328 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 180 i32.const 0 call $~lib/env/abort unreachable end - block (result i32) - i32.const 2 - global.set $~lib/argc - global.get $std/typedarray/arr32 - i32.const 2 - i32.const -2 - i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline - end + global.get $std/typedarray/arr32 + i32.const 2 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill drop global.get $std/typedarray/arr32 - i32.const 496 + block $~lib/runtime/WRAPARRAY|inlined.3 (result i32) + i32.const 360 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 183 i32.const 0 call $~lib/env/abort @@ -21329,12 +19065,19 @@ call $~lib/typedarray/Int32Array#fill drop global.get $std/typedarray/arr32 - i32.const 536 + block $~lib/runtime/WRAPARRAY|inlined.4 (result i32) + i32.const 392 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 186 i32.const 0 call $~lib/env/abort @@ -21345,37 +19088,27 @@ i32.const 4 call $~lib/typedarray/Int32Array#subarray global.set $std/typedarray/sub32 - block (result i32) - i32.const 1 - global.set $~lib/argc - global.get $std/typedarray/sub32 - i32.const 0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill|trampoline - end + global.get $std/typedarray/sub32 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill drop - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - global.get $std/typedarray/sub32 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - end + global.get $std/typedarray/sub32 + call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 190 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub32 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 1 i32.const 4 i32.mul @@ -21383,14 +19116,14 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 191 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub32 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.const 4 i32.mul @@ -21398,31 +19131,45 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 192 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/sub32 - i32.const 576 + block $~lib/runtime/WRAPARRAY|inlined.5 (result i32) + i32.const 424 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 193 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/arr32 - i32.const 616 + block $~lib/runtime/WRAPARRAY|inlined.6 (result i32) + i32.const 448 + local.set $0 + local.get $0 + i32.const 16 + i32.const 2 + call $~lib/runtime/doWrapArray + end call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 194 i32.const 0 call $~lib/env/abort @@ -21437,92 +19184,82 @@ call $~lib/typedarray/Int8Array#constructor global.set $std/typedarray/multisubarr global.get $std/typedarray/multisubarr - i32.const 0 + i32.load offset=4 i32.const 1 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 global.get $std/typedarray/multisubarr - i32.const 1 + i32.load offset=4 i32.const 2 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=1 global.get $std/typedarray/multisubarr - i32.const 2 + i32.load offset=4 i32.const 3 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=2 global.get $std/typedarray/multisubarr - i32.const 3 + i32.load offset=4 i32.const 4 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=3 global.get $std/typedarray/multisubarr - i32.const 4 + i32.load offset=4 i32.const 5 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=4 global.get $std/typedarray/multisubarr - i32.const 5 + i32.load offset=4 i32.const 6 - call $~lib/internal/typedarray/TypedArray#__set + i32.store8 offset=5 global.get $std/typedarray/multisubarr i32.const 1 i32.const 6 call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/multisubarr1 global.get $std/typedarray/multisubarr1 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 211 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.7 (result i32) - global.get $std/typedarray/multisubarr1 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + global.get $std/typedarray/multisubarr1 + call $~lib/typedarray/Int8Array#get:length i32.const 5 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 212 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr1 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 213 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr1 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 5 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 214 i32.const 0 call $~lib/env/abort @@ -21534,63 +19271,53 @@ call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/multisubarr2 global.get $std/typedarray/multisubarr2 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 217 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.8 (result i32) - global.get $std/typedarray/multisubarr2 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + global.get $std/typedarray/multisubarr2 + call $~lib/typedarray/Int8Array#get:length i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 218 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr2 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 219 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr2 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 220 i32.const 0 call $~lib/env/abort @@ -21602,63 +19329,53 @@ call $~lib/typedarray/Int8Array#subarray global.set $std/typedarray/multisubarr3 global.get $std/typedarray/multisubarr3 - i32.const 0 - call $~lib/internal/typedarray/TypedArray#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.load offset=4 + i32.load8_s i32.const 4 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 223 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/internal/typedarray/TypedArray#get:length|inlined.9 (result i32) - global.get $std/typedarray/multisubarr3 - local.set $0 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - end + global.get $std/typedarray/multisubarr3 + call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 224 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr3 - i32.load offset=4 + call $~lib/runtime/ArrayBufferView#get:byteOffset i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 225 i32.const 0 call $~lib/env/abort unreachable end global.get $std/typedarray/multisubarr3 - i32.load offset=8 + call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 226 i32.const 0 call $~lib/env/abort @@ -21753,9 +19470,9 @@ call $std/typedarray/testArrayReverse call $std/typedarray/testArrayReverse ) - (func $start (; 365 ;) (type $FUNCSIG$v) + (func $start (; 350 ;) (type $FUNCSIG$v) call $start:std/typedarray ) - (func $null (; 366 ;) (type $FUNCSIG$v) + (func $null (; 351 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/switch.optimized.wat b/tests/compiler/switch.optimized.wat index 2eb034e3..3bac6c9c 100644 --- a/tests/compiler/switch.optimized.wat +++ b/tests/compiler/switch.optimized.wat @@ -4,7 +4,7 @@ (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\t\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") + (data (i32.const 8) "\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (export "memory" (memory $0)) @@ -68,7 +68,7 @@ call $switch/doSwitch if i32.const 0 - i32.const 8 + i32.const 16 i32.const 10 i32.const 0 call $~lib/env/abort @@ -80,7 +80,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 11 i32.const 0 call $~lib/env/abort @@ -92,7 +92,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 12 i32.const 0 call $~lib/env/abort @@ -104,7 +104,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 13 i32.const 0 call $~lib/env/abort @@ -114,7 +114,7 @@ call $switch/doSwitch if i32.const 0 - i32.const 8 + i32.const 16 i32.const 14 i32.const 0 call $~lib/env/abort @@ -124,7 +124,7 @@ call $switch/doSwitch if i32.const 0 - i32.const 8 + i32.const 16 i32.const 24 i32.const 0 call $~lib/env/abort @@ -136,7 +136,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 25 i32.const 0 call $~lib/env/abort @@ -148,7 +148,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 26 i32.const 0 call $~lib/env/abort @@ -160,7 +160,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 27 i32.const 0 call $~lib/env/abort @@ -170,7 +170,7 @@ call $switch/doSwitch if i32.const 0 - i32.const 8 + i32.const 16 i32.const 28 i32.const 0 call $~lib/env/abort @@ -180,7 +180,7 @@ call $switch/doSwitchDefaultOmitted if i32.const 0 - i32.const 8 + i32.const 16 i32.const 38 i32.const 0 call $~lib/env/abort @@ -192,7 +192,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 39 i32.const 0 call $~lib/env/abort @@ -204,7 +204,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 40 i32.const 0 call $~lib/env/abort @@ -216,7 +216,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 41 i32.const 0 call $~lib/env/abort @@ -226,7 +226,7 @@ call $switch/doSwitchDefaultOmitted if i32.const 0 - i32.const 8 + i32.const 16 i32.const 42 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/switch.untouched.wat b/tests/compiler/switch.untouched.wat index ce046aa2..494c5039 100644 --- a/tests/compiler/switch.untouched.wat +++ b/tests/compiler/switch.untouched.wat @@ -4,10 +4,10 @@ (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\t\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00") + (data (i32.const 8) "\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -176,7 +176,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 10 i32.const 0 call $~lib/env/abort @@ -189,7 +189,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 11 i32.const 0 call $~lib/env/abort @@ -202,7 +202,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 12 i32.const 0 call $~lib/env/abort @@ -215,7 +215,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 13 i32.const 0 call $~lib/env/abort @@ -228,7 +228,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 14 i32.const 0 call $~lib/env/abort @@ -241,7 +241,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 24 i32.const 0 call $~lib/env/abort @@ -254,7 +254,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 25 i32.const 0 call $~lib/env/abort @@ -267,7 +267,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 26 i32.const 0 call $~lib/env/abort @@ -280,7 +280,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 27 i32.const 0 call $~lib/env/abort @@ -293,7 +293,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 28 i32.const 0 call $~lib/env/abort @@ -306,7 +306,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 38 i32.const 0 call $~lib/env/abort @@ -319,7 +319,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 39 i32.const 0 call $~lib/env/abort @@ -332,7 +332,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 40 i32.const 0 call $~lib/env/abort @@ -345,7 +345,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 41 i32.const 0 call $~lib/env/abort @@ -358,7 +358,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 42 i32.const 0 call $~lib/env/abort @@ -371,7 +371,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 51 i32.const 0 call $~lib/env/abort @@ -384,7 +384,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 52 i32.const 0 call $~lib/env/abort @@ -397,7 +397,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 53 i32.const 0 call $~lib/env/abort @@ -410,7 +410,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 62 i32.const 0 call $~lib/env/abort @@ -423,7 +423,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 63 i32.const 0 call $~lib/env/abort @@ -436,7 +436,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 64 i32.const 0 call $~lib/env/abort @@ -449,7 +449,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 73 i32.const 0 call $~lib/env/abort @@ -462,7 +462,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 74 i32.const 0 call $~lib/env/abort @@ -475,7 +475,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 75 i32.const 0 call $~lib/env/abort @@ -488,7 +488,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 84 i32.const 0 call $~lib/env/abort @@ -501,7 +501,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 85 i32.const 0 call $~lib/env/abort @@ -514,7 +514,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 86 i32.const 0 call $~lib/env/abort @@ -527,7 +527,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 92 i32.const 0 call $~lib/env/abort @@ -540,7 +540,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 93 i32.const 0 call $~lib/env/abort @@ -553,7 +553,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 94 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/while.optimized.wat b/tests/compiler/while.optimized.wat index 30cf03a3..6f28b556 100644 --- a/tests/compiler/while.optimized.wat +++ b/tests/compiler/while.optimized.wat @@ -3,7 +3,7 @@ (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\08\00\00\00w\00h\00i\00l\00e\00.\00t\00s") + (data (i32.const 8) "\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $while/n (mut i32) (i32.const 10)) @@ -31,7 +31,7 @@ global.get $while/n if i32.const 0 - i32.const 8 + i32.const 16 i32.const 8 i32.const 0 call $~lib/env/abort @@ -42,7 +42,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 9 i32.const 0 call $~lib/env/abort @@ -80,7 +80,7 @@ global.get $while/n if i32.const 0 - i32.const 8 + i32.const 16 i32.const 21 i32.const 2 call $~lib/env/abort @@ -91,7 +91,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 22 i32.const 2 call $~lib/env/abort @@ -103,7 +103,7 @@ global.get $while/n if i32.const 0 - i32.const 8 + i32.const 16 i32.const 24 i32.const 0 call $~lib/env/abort @@ -114,7 +114,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 25 i32.const 0 call $~lib/env/abort @@ -125,7 +125,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 26 i32.const 0 call $~lib/env/abort @@ -158,7 +158,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 31 i32.const 0 call $~lib/env/abort @@ -169,7 +169,7 @@ i32.ne if i32.const 0 - i32.const 8 + i32.const 16 i32.const 32 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/while.untouched.wat b/tests/compiler/while.untouched.wat index 1b84c404..68278d4a 100644 --- a/tests/compiler/while.untouched.wat +++ b/tests/compiler/while.untouched.wat @@ -3,13 +3,13 @@ (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\08\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00") + (data (i32.const 8) "\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $while/n (mut i32) (i32.const 10)) (global $while/m (mut i32) (i32.const 0)) (global $while/o (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 28)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -39,7 +39,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 8 i32.const 0 call $~lib/env/abort @@ -51,7 +51,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 9 i32.const 0 call $~lib/env/abort @@ -98,7 +98,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 21 i32.const 2 call $~lib/env/abort @@ -110,7 +110,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 22 i32.const 2 call $~lib/env/abort @@ -127,7 +127,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 24 i32.const 0 call $~lib/env/abort @@ -139,7 +139,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 25 i32.const 0 call $~lib/env/abort @@ -151,7 +151,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 26 i32.const 0 call $~lib/env/abort @@ -193,7 +193,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 31 i32.const 0 call $~lib/env/abort @@ -205,7 +205,7 @@ i32.eqz if i32.const 0 - i32.const 8 + i32.const 16 i32.const 32 i32.const 0 call $~lib/env/abort