diff --git a/package-lock.json b/package-lock.json index 7f104ca906..ec47c0f469 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "108.0.0-nightly.20220528", + "binaryen": "109.0.0-nightly.20220813", "long": "^5.2.0" }, "bin": { @@ -398,9 +398,9 @@ "dev": true }, "node_modules/binaryen": { - "version": "108.0.0-nightly.20220528", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-108.0.0-nightly.20220528.tgz", - "integrity": "sha512-9biG357fx3NXmJNotIuY9agZBcCNHP7d1mgOGaTlPYVHZE7/61lt1IyHCXAL+W5jUOYgmFZ260PR4IbD19RKuA==", + "version": "109.0.0-nightly.20220813", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220813.tgz", + "integrity": "sha512-u85Ti3LiGRrV0HqdNDRknalkx7QiCSL0jNsEsT522nnZacWxUaSJEILphxc2OnzmHVtdiWBE3c4lEzlU3ZEyDw==", "bin": { "wasm-opt": "bin/wasm-opt", "wasm2js": "bin/wasm2js" @@ -2117,9 +2117,9 @@ "dev": true }, "binaryen": { - "version": "108.0.0-nightly.20220528", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-108.0.0-nightly.20220528.tgz", - "integrity": "sha512-9biG357fx3NXmJNotIuY9agZBcCNHP7d1mgOGaTlPYVHZE7/61lt1IyHCXAL+W5jUOYgmFZ260PR4IbD19RKuA==" + "version": "109.0.0-nightly.20220813", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-109.0.0-nightly.20220813.tgz", + "integrity": "sha512-u85Ti3LiGRrV0HqdNDRknalkx7QiCSL0jNsEsT522nnZacWxUaSJEILphxc2OnzmHVtdiWBE3c4lEzlU3ZEyDw==" }, "brace-expansion": { "version": "1.1.11", diff --git a/package.json b/package.json index 543fdbefcd..7830005c10 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "engineStrict": true, "dependencies": { - "binaryen": "108.0.0-nightly.20220528", + "binaryen": "109.0.0-nightly.20220813", "long": "^5.2.0" }, "devDependencies": { diff --git a/scripts/update-constants.js b/scripts/update-constants.js index 8ef7161811..572aabaab7 100644 --- a/scripts/update-constants.js +++ b/scripts/update-constants.js @@ -11,6 +11,10 @@ const srcfile = path.join(__dirname, "..", "src", "module.ts"); var src = fs.readFileSync(srcfile, "utf8") .replace(/(?:enum|namespace) (\w+) \{([^}]*)\}/g, function($0) { return $0.replace(/(\w+)[ ]+=[ ]+([^,;\n]+)/g, function($0, key, val) { + // ignore values which have runtime assignments + if (val.startsWith("binaryen.")) { + return $0; + } var match = val.match(/\b(_(?:Binaryen|Relooper|ExpressionRunner)\w+)\b/); if (match) { let fn = match[1]; diff --git a/src/glue/binaryen.d.ts b/src/glue/binaryen.d.ts index 17b3f098c9..883fdeabfc 100644 --- a/src/glue/binaryen.d.ts +++ b/src/glue/binaryen.d.ts @@ -9,6 +9,8 @@ */ module "binaryen"; +type Ref = usize; + export type Index = u32; export type ExpressionId = i32; export type FeatureFlags = u32; @@ -16,10 +18,11 @@ export type Op = i32; export type ExternalKind = u32; export type SideEffects = u32; export type ExpressionRunnerFlags = u32; -type Ref = usize; + export type StringRef = Ref; export type ArrayRef = Ref; export type TypeRef = Ref; +export type HeapTypeRef = Ref; export type ModuleRef = Ref; export type LiteralRef = Ref; export type ExpressionRef = Ref; @@ -33,10 +36,35 @@ export type ElementSegmentRef = Ref; export type RelooperRef = Ref; export type RelooperBlockRef = Ref; export type ExpressionRunnerRef = Ref; +export type BinaryenModuleAllocateAndWriteResultRef = Ref; export declare function _BinaryenTypeCreate(types: ArrayRef, numTypes: u32): TypeRef; export declare function _BinaryenTypeArity(type: TypeRef): u32; export declare function _BinaryenTypeExpand(type: TypeRef, typesOut: ArrayRef): void; +export declare function _BinaryenTypeGetHeapType(type: TypeRef): HeapTypeRef; +export declare function _BinaryenTypeFromHeapType(heapType: HeapTypeRef, nullable: bool): TypeRef; +export declare function _BinaryenTypeIsNullable(type: TypeRef): bool; + +export declare function _BinaryenTypeFuncref(): TypeRef; +export declare function _BinaryenTypeExternref(): TypeRef; +export declare function _BinaryenTypeAnyref(): TypeRef; +export declare function _BinaryenTypeEqref(): TypeRef; +export declare function _BinaryenTypeI31ref(): TypeRef; +export declare function _BinaryenTypeDataref(): TypeRef; +export declare function _BinaryenTypeStringref(): TypeRef; +export declare function _BinaryenTypeStringviewWTF8(): TypeRef; +export declare function _BinaryenTypeStringviewWTF16(): TypeRef; +export declare function _BinaryenTypeStringviewIter(): TypeRef; + +export declare function _BinaryenHeapTypeFunc(): HeapTypeRef; +export declare function _BinaryenHeapTypeAny(): HeapTypeRef; +export declare function _BinaryenHeapTypeEq(): HeapTypeRef; +export declare function _BinaryenHeapTypeI31(): HeapTypeRef; +export declare function _BinaryenHeapTypeData(): HeapTypeRef; +export declare function _BinaryenHeapTypeString(): HeapTypeRef; +export declare function _BinaryenHeapTypeStringviewWTF8(): HeapTypeRef; +export declare function _BinaryenHeapTypeStringviewWTF16(): HeapTypeRef; +export declare function _BinaryenHeapTypeStringviewIter(): HeapTypeRef; export declare function _BinaryenModuleCreate(): ModuleRef; export declare function _BinaryenModuleDispose(module: ModuleRef): void; @@ -594,7 +622,10 @@ export declare function _BinaryenModuleValidate(module: ModuleRef): i32; export declare function _BinaryenModuleOptimize(module: ModuleRef): void; export declare function _BinaryenModuleRunPasses(module: ModuleRef, passes: ArrayRef, numPasses: Index): void; export declare function _BinaryenModuleAutoDrop(module: ModuleRef): void; -export declare function _BinaryenModuleAllocateAndWrite(out: ArrayRef, module: ModuleRef, sourceMapUrl: StringRef): void; +export declare function _BinaryenSizeofAllocateAndWriteResult(): i32; +export declare function _BinaryenModuleAllocateAndWrite(resultOut: BinaryenModuleAllocateAndWriteResultRef, module: ModuleRef, sourceMapUrl: StringRef): void; +export declare function _BinaryenModuleAllocateAndWriteText(module: ModuleRef): StringRef; +export declare function _BinaryenModuleAllocateAndWriteStackIR(module: ModuleRef, optimize: bool): StringRef; export declare function _BinaryenModuleRead(input: ArrayRef, inputSize: usize): ModuleRef; export declare function _BinaryenModuleInterpret(module: ModuleRef): void; export declare function _BinaryenModuleAddDebugInfoFileName(module: ModuleRef, filename: StringRef): Index; diff --git a/src/glue/binaryen.js b/src/glue/binaryen.js index eb0e869fb2..f5ea338ff5 100644 --- a/src/glue/binaryen.js +++ b/src/glue/binaryen.js @@ -4,24 +4,35 @@ */ import binaryen from "../../lib/binaryen.js"; -import { Module } from "../module.ts"; - -Module.prototype.toText = function toText(watFormat = true) { - if (watFormat) { - // NOTE: Conversion to StackIR can yield conversion artifacts like sequences - // of unreachable statements not actually emitted by the compiler. Optimizing - // StackIR removes these again, but may also suppress useless code emitted by - // the compiler that's then no longer visible in tests. Both not ideal. - return binaryen.wrapModule(this.ref).emitStackIR(/* optimize-stack-ir */ true); - } else { - return binaryen.wrapModule(this.ref).emitText(); - } -}; export const { _BinaryenTypeCreate, _BinaryenTypeArity, _BinaryenTypeExpand, + _BinaryenTypeGetHeapType, + _BinaryenTypeFromHeapType, + _BinaryenTypeIsNullable, + + _BinaryenTypeFuncref, + _BinaryenTypeExternref, + _BinaryenTypeAnyref, + _BinaryenTypeEqref, + _BinaryenTypeI31ref, + _BinaryenTypeDataref, + _BinaryenTypeStringref, + _BinaryenTypeStringviewWTF8, + _BinaryenTypeStringviewWTF16, + _BinaryenTypeStringviewIter, + + _BinaryenHeapTypeFunc, + _BinaryenHeapTypeAny, + _BinaryenHeapTypeEq, + _BinaryenHeapTypeI31, + _BinaryenHeapTypeData, + _BinaryenHeapTypeString, + _BinaryenHeapTypeStringviewWTF8, + _BinaryenHeapTypeStringviewWTF16, + _BinaryenHeapTypeStringviewIter, _BinaryenModuleCreate, _BinaryenModuleDispose, @@ -34,14 +45,14 @@ export const { _BinaryenLiteralVec128, _BinaryenLiteralFloat32Bits, _BinaryenLiteralFloat64Bits, - + _BinaryenExpressionGetId, _BinaryenExpressionGetType, _BinaryenExpressionSetType, _BinaryenExpressionPrint, _BinaryenExpressionCopy, _BinaryenExpressionFinalize, - + _BinaryenBlock, _BinaryenBlockGetName, _BinaryenBlockSetName, @@ -51,7 +62,7 @@ export const { _BinaryenBlockAppendChild, _BinaryenBlockInsertChildAt, _BinaryenBlockRemoveChildAt, - + _BinaryenIf, _BinaryenIfGetCondition, _BinaryenIfSetCondition, @@ -59,13 +70,13 @@ export const { _BinaryenIfSetIfTrue, _BinaryenIfGetIfFalse, _BinaryenIfSetIfFalse, - + _BinaryenLoop, _BinaryenLoopGetName, _BinaryenLoopSetName, _BinaryenLoopGetBody, _BinaryenLoopSetBody, - + _BinaryenBreak, _BinaryenBreakGetName, _BinaryenBreakSetName, @@ -73,7 +84,7 @@ export const { _BinaryenBreakSetCondition, _BinaryenBreakGetValue, _BinaryenBreakSetValue, - + _BinaryenSwitch, _BinaryenSwitchGetNumNames, _BinaryenSwitchGetNameAt, @@ -87,7 +98,7 @@ export const { _BinaryenSwitchSetCondition, _BinaryenSwitchGetValue, _BinaryenSwitchSetValue, - + _BinaryenCall, _BinaryenCallGetTarget, _BinaryenCallSetTarget, @@ -100,7 +111,7 @@ export const { _BinaryenCallIsReturn, _BinaryenCallSetReturn, _BinaryenReturnCall, - + _BinaryenCallIndirect, _BinaryenCallIndirectGetTable, _BinaryenCallIndirectSetTable, @@ -115,11 +126,11 @@ export const { _BinaryenCallIndirectIsReturn, _BinaryenCallIndirectSetReturn, _BinaryenReturnCallIndirect, - + _BinaryenLocalGet, _BinaryenLocalGetGetIndex, _BinaryenLocalGetSetIndex, - + _BinaryenLocalSet, _BinaryenLocalSetIsTee, _BinaryenLocalSetGetIndex, @@ -127,23 +138,23 @@ export const { _BinaryenLocalSetGetValue, _BinaryenLocalSetSetValue, _BinaryenLocalTee, - + _BinaryenGlobalGet, _BinaryenGlobalGetGetName, _BinaryenGlobalGetSetName, - + _BinaryenGlobalSet, _BinaryenGlobalSetGetName, _BinaryenGlobalSetSetName, _BinaryenGlobalSetGetValue, _BinaryenGlobalSetSetValue, - + _BinaryenMemorySize, - + _BinaryenMemoryGrow, _BinaryenMemoryGrowGetDelta, _BinaryenMemoryGrowSetDelta, - + _BinaryenLoad, _BinaryenLoadIsAtomic, _BinaryenLoadSetAtomic, @@ -158,7 +169,7 @@ export const { _BinaryenLoadGetPtr, _BinaryenLoadSetPtr, _BinaryenAtomicLoad, - + _BinaryenStore, _BinaryenStoreIsAtomic, _BinaryenStoreSetAtomic, @@ -175,7 +186,7 @@ export const { _BinaryenStoreGetValueType, _BinaryenStoreSetValueType, _BinaryenAtomicStore, - + _BinaryenConst, _BinaryenConstGetValueI32, _BinaryenConstSetValueI32, @@ -189,13 +200,13 @@ export const { _BinaryenConstSetValueF64, _BinaryenConstGetValueV128, _BinaryenConstSetValueV128, - + _BinaryenUnary, _BinaryenUnaryGetOp, _BinaryenUnarySetOp, _BinaryenUnaryGetValue, _BinaryenUnarySetValue, - + _BinaryenBinary, _BinaryenBinaryGetOp, _BinaryenBinarySetOp, @@ -203,7 +214,7 @@ export const { _BinaryenBinarySetLeft, _BinaryenBinaryGetRight, _BinaryenBinarySetRight, - + _BinaryenSelect, _BinaryenSelectGetIfTrue, _BinaryenSelectSetIfTrue, @@ -211,19 +222,19 @@ export const { _BinaryenSelectSetIfFalse, _BinaryenSelectGetCondition, _BinaryenSelectSetCondition, - + _BinaryenDrop, _BinaryenDropGetValue, _BinaryenDropSetValue, - + _BinaryenReturn, _BinaryenReturnGetValue, _BinaryenReturnSetValue, - + _BinaryenNop, - + _BinaryenUnreachable, - + _BinaryenAtomicRMW, _BinaryenAtomicRMWGetOp, _BinaryenAtomicRMWSetOp, @@ -235,7 +246,7 @@ export const { _BinaryenAtomicRMWSetPtr, _BinaryenAtomicRMWGetValue, _BinaryenAtomicRMWSetValue, - + _BinaryenAtomicCmpxchg, _BinaryenAtomicCmpxchgGetBytes, _BinaryenAtomicCmpxchgSetBytes, @@ -247,7 +258,7 @@ export const { _BinaryenAtomicCmpxchgSetExpected, _BinaryenAtomicCmpxchgGetReplacement, _BinaryenAtomicCmpxchgSetReplacement, - + _BinaryenAtomicWait, _BinaryenAtomicWaitGetPtr, _BinaryenAtomicWaitSetPtr, @@ -257,17 +268,17 @@ export const { _BinaryenAtomicWaitSetTimeout, _BinaryenAtomicWaitGetExpectedType, _BinaryenAtomicWaitSetExpectedType, - + _BinaryenAtomicNotify, _BinaryenAtomicNotifyGetPtr, _BinaryenAtomicNotifySetPtr, _BinaryenAtomicNotifyGetNotifyCount, _BinaryenAtomicNotifySetNotifyCount, - + _BinaryenAtomicFence, _BinaryenAtomicFenceGetOrder, _BinaryenAtomicFenceSetOrder, - + _BinaryenSIMDExtract, _BinaryenSIMDExtractGetOp, _BinaryenSIMDExtractSetOp, @@ -275,7 +286,7 @@ export const { _BinaryenSIMDExtractSetVec, _BinaryenSIMDExtractGetIndex, _BinaryenSIMDExtractSetIndex, - + _BinaryenSIMDReplace, _BinaryenSIMDReplaceGetOp, _BinaryenSIMDReplaceSetOp, @@ -285,7 +296,7 @@ export const { _BinaryenSIMDReplaceSetIndex, _BinaryenSIMDReplaceGetValue, _BinaryenSIMDReplaceSetValue, - + _BinaryenSIMDShuffle, _BinaryenSIMDShuffleGetLeft, _BinaryenSIMDShuffleSetLeft, @@ -293,7 +304,7 @@ export const { _BinaryenSIMDShuffleSetRight, _BinaryenSIMDShuffleGetMask, _BinaryenSIMDShuffleSetMask, - + _BinaryenSIMDTernary, _BinaryenSIMDTernaryGetOp, _BinaryenSIMDTernarySetOp, @@ -303,7 +314,7 @@ export const { _BinaryenSIMDTernarySetB, _BinaryenSIMDTernaryGetC, _BinaryenSIMDTernarySetC, - + _BinaryenSIMDShift, _BinaryenSIMDShiftGetOp, _BinaryenSIMDShiftSetOp, @@ -311,7 +322,7 @@ export const { _BinaryenSIMDShiftSetVec, _BinaryenSIMDShiftGetShift, _BinaryenSIMDShiftSetShift, - + _BinaryenSIMDLoad, _BinaryenSIMDLoadGetOp, _BinaryenSIMDLoadSetOp, @@ -321,7 +332,7 @@ export const { _BinaryenSIMDLoadSetAlign, _BinaryenSIMDLoadGetPtr, _BinaryenSIMDLoadSetPtr, - + _BinaryenSIMDLoadStoreLane, _BinaryenSIMDLoadStoreLaneGetOp, _BinaryenSIMDLoadStoreLaneSetOp, @@ -336,7 +347,7 @@ export const { _BinaryenSIMDLoadStoreLaneGetVec, _BinaryenSIMDLoadStoreLaneSetVec, _BinaryenSIMDLoadStoreLaneIsStore, - + _BinaryenMemoryInit, _BinaryenMemoryInitGetSegment, _BinaryenMemoryInitSetSegment, @@ -346,11 +357,11 @@ export const { _BinaryenMemoryInitSetOffset, _BinaryenMemoryInitGetSize, _BinaryenMemoryInitSetSize, - + _BinaryenDataDrop, _BinaryenDataDropGetSegment, _BinaryenDataDropSetSegment, - + _BinaryenMemoryCopy, _BinaryenMemoryCopyGetDest, _BinaryenMemoryCopySetDest, @@ -358,7 +369,7 @@ export const { _BinaryenMemoryCopySetSource, _BinaryenMemoryCopyGetSize, _BinaryenMemoryCopySetSize, - + _BinaryenMemoryFill, _BinaryenMemoryFillGetDest, _BinaryenMemoryFillSetDest, @@ -366,37 +377,37 @@ export const { _BinaryenMemoryFillSetValue, _BinaryenMemoryFillGetSize, _BinaryenMemoryFillSetSize, - + _BinaryenRefNull, - + _BinaryenRefIs, _BinaryenRefIsGetOp, _BinaryenRefIsSetOp, _BinaryenRefIsGetValue, _BinaryenRefIsSetValue, - + _BinaryenRefAs, _BinaryenRefAsGetOp, _BinaryenRefAsSetOp, _BinaryenRefAsGetValue, _BinaryenRefAsSetValue, - + _BinaryenRefFunc, _BinaryenRefFuncGetFunc, _BinaryenRefFuncSetFunc, - + _BinaryenRefEq, _BinaryenRefEqGetLeft, _BinaryenRefEqSetLeft, _BinaryenRefEqGetRight, _BinaryenRefEqSetRight, - + _BinaryenTableGet, _BinaryenTableGetGetTable, _BinaryenTableGetSetTable, _BinaryenTableGetGetIndex, _BinaryenTableGetSetIndex, - + _BinaryenTableSet, _BinaryenTableSetGetTable, _BinaryenTableSetSetTable, @@ -404,11 +415,11 @@ export const { _BinaryenTableSetSetIndex, _BinaryenTableSetGetValue, _BinaryenTableSetSetValue, - + _BinaryenTableSize, _BinaryenTableSizeGetTable, _BinaryenTableSizeSetTable, - + _BinaryenTableGrow, _BinaryenTableGrowGetTable, _BinaryenTableGrowSetTable, @@ -416,7 +427,7 @@ export const { _BinaryenTableGrowSetValue, _BinaryenTableGrowGetDelta, _BinaryenTableGrowSetDelta, - + _BinaryenTry, _BinaryenTryGetName, _BinaryenTrySetName, @@ -438,7 +449,7 @@ export const { _BinaryenTryGetDelegateTarget, _BinaryenTrySetDelegateTarget, _BinaryenTryIsDelegate, - + _BinaryenThrow, _BinaryenThrowGetTag, _BinaryenThrowSetTag, @@ -448,11 +459,11 @@ export const { _BinaryenThrowAppendOperand, _BinaryenThrowInsertOperandAt, _BinaryenThrowRemoveOperandAt, - + _BinaryenRethrow, _BinaryenRethrowGetTarget, _BinaryenRethrowSetDepth, - + _BinaryenTupleMake, _BinaryenTupleMakeGetNumOperands, _BinaryenTupleMakeGetOperandAt, @@ -460,31 +471,31 @@ export const { _BinaryenTupleMakeAppendOperand, _BinaryenTupleMakeInsertOperandAt, _BinaryenTupleMakeRemoveOperandAt, - + _BinaryenTupleExtract, _BinaryenTupleExtractGetTuple, _BinaryenTupleExtractSetTuple, _BinaryenTupleExtractGetIndex, _BinaryenTupleExtractSetIndex, - + _BinaryenPop, - + _BinaryenI31New, _BinaryenI31NewGetValue, _BinaryenI31NewSetValue, - + _BinaryenI31Get, _BinaryenI31GetGetI31, _BinaryenI31GetSetI31, _BinaryenI31GetIsSigned, _BinaryenI31GetSetSigned, - + _BinaryenAddFunction, _BinaryenGetFunction, _BinaryenRemoveFunction, _BinaryenGetNumFunctions, _BinaryenGetFunctionByIndex, - + _BinaryenFunctionGetName, _BinaryenFunctionGetParams, _BinaryenFunctionGetResults, @@ -499,13 +510,13 @@ export const { _BinaryenFunctionOptimize, _BinaryenFunctionRunPasses, _BinaryenFunctionSetDebugLocation, - + _BinaryenAddFunctionImport, _BinaryenAddTableImport, _BinaryenAddMemoryImport, _BinaryenAddGlobalImport, _BinaryenAddTagImport, - + _BinaryenAddFunctionExport, _BinaryenAddTableExport, _BinaryenAddMemoryExport, @@ -518,32 +529,32 @@ export const { _BinaryenExportGetKind, _BinaryenExportGetName, _BinaryenExportGetValue, - + _BinaryenAddGlobal, _BinaryenGetGlobal, _BinaryenRemoveGlobal, _BinaryenGetNumGlobals, _BinaryenGetGlobalByIndex, - + _BinaryenGlobalGetName, _BinaryenGlobalGetType, _BinaryenGlobalIsMutable, _BinaryenGlobalGetInitExpr, - + _BinaryenAddTag, _BinaryenGetTag, _BinaryenRemoveTag, - + _BinaryenTagGetName, _BinaryenTagGetParams, _BinaryenTagGetResults, - + _BinaryenAddTable, _BinaryenRemoveTable, _BinaryenGetNumTables, _BinaryenGetTable, _BinaryenGetTableByIndex, - + _BinaryenTableGetName, _BinaryenTableSetName, _BinaryenTableGetInitial, @@ -551,22 +562,22 @@ export const { _BinaryenTableHasMax, _BinaryenTableGetMax, _BinaryenTableSetMax, - + _BinaryenAddActiveElementSegment, _BinaryenAddPassiveElementSegment, _BinaryenRemoveElementSegment, _BinaryenGetNumElementSegments, _BinaryenGetElementSegment, _BinaryenGetElementSegmentByIndex, - + _BinaryenSetMemory, _BinaryenGetNumMemorySegments, _BinaryenGetMemorySegmentByteOffset, _BinaryenGetMemorySegmentByteLength, _BinaryenCopyMemorySegmentData, - + _BinaryenSetStart, - + _BinaryenModuleParse, _BinaryenModulePrint, _BinaryenModulePrintAsmjs, @@ -574,30 +585,33 @@ export const { _BinaryenModuleOptimize, _BinaryenModuleRunPasses, _BinaryenModuleAutoDrop, + _BinaryenSizeofAllocateAndWriteResult, _BinaryenModuleAllocateAndWrite, + _BinaryenModuleAllocateAndWriteText, + _BinaryenModuleAllocateAndWriteStackIR, _BinaryenModuleRead, _BinaryenModuleInterpret, _BinaryenModuleAddDebugInfoFileName, _BinaryenModuleGetDebugInfoFileName, _BinaryenModuleGetFeatures, _BinaryenModuleSetFeatures, - + _BinaryenAddCustomSection, - + _BinaryenExpressionGetSideEffects, - + _RelooperCreate, _RelooperAddBlock, _RelooperAddBranch, _RelooperAddBlockWithSwitch, _RelooperAddBranchForSwitch, _RelooperRenderAndDispose, - + _ExpressionRunnerCreate, _ExpressionRunnerSetLocalValue, _ExpressionRunnerSetGlobalValue, _ExpressionRunnerRunAndDispose, - + _BinaryenGetOptimizeLevel, _BinaryenSetOptimizeLevel, _BinaryenGetShrinkLevel, @@ -621,9 +635,9 @@ export const { _BinaryenSetOneCallerInlineMaxSize, _BinaryenGetAllowInliningFunctionsWithLoops, _BinaryenSetAllowInliningFunctionsWithLoops, - + // Helpers - + _malloc, _free, __i32_store8, @@ -638,7 +652,7 @@ export const { __i32_load, __f32_load, __f64_load - + } = binaryen; export default binaryen; diff --git a/src/module.ts b/src/module.ts index b9328b249f..7595dc60aa 100644 --- a/src/module.ts +++ b/src/module.ts @@ -58,15 +58,32 @@ export namespace TypeRef { export const F32: TypeRef = 4 /* _BinaryenTypeFloat32 */; export const F64: TypeRef = 5 /* _BinaryenTypeFloat64 */; export const V128: TypeRef = 6 /* _BinaryenTypeVec128 */; - export const Funcref: TypeRef = 7 /* _BinaryenTypeFuncref */; - export const Externref: TypeRef = 8 /* _BinaryenTypeExternref */; - export const Anyref: TypeRef = 8 /* _BinaryenTypeAnyref */; - export const Eqref: TypeRef = 9 /* _BinaryenTypeEqref */; - export const I31ref: TypeRef = 10 /* _BinaryenTypeI31ref */; - export const Dataref: TypeRef = 11 /* _BinaryenTypeDataref */; + export const Funcref = binaryen._BinaryenTypeFuncref(); + export const Externref = binaryen._BinaryenTypeExternref(); + export const Anyref = binaryen._BinaryenTypeAnyref(); + export const Eqref = binaryen._BinaryenTypeEqref(); + export const I31ref = binaryen._BinaryenTypeI31ref(); + export const Dataref = binaryen._BinaryenTypeDataref(); + export const Stringref = binaryen._BinaryenTypeStringref(); + export const StringviewWTF8 = binaryen._BinaryenTypeStringviewWTF8(); + export const StringviewWTF16 = binaryen._BinaryenTypeStringviewWTF16(); + export const StringviewIter = binaryen._BinaryenTypeStringviewIter(); export const Auto: TypeRef = -1 /* _BinaryenTypeAuto */; } +export type HeapTypeRef = binaryen.HeapTypeRef; +export namespace HeapTypeRef { + export const Func = binaryen._BinaryenHeapTypeFunc(); + export const Any = binaryen._BinaryenHeapTypeAny(); + export const Eq = binaryen._BinaryenHeapTypeEq(); + export const I31 = binaryen._BinaryenHeapTypeI31(); + export const Data = binaryen._BinaryenHeapTypeData(); + export const String = binaryen._BinaryenHeapTypeString(); + export const StringviewWTF8 = binaryen._BinaryenHeapTypeStringviewWTF8(); + export const StringviewWTF16 = binaryen._BinaryenHeapTypeStringviewWTF16(); + export const StringviewIter = binaryen._BinaryenHeapTypeStringviewIter(); +} + /** Binaryen feature constants. */ export enum FeatureFlags { MVP = 0 /* _BinaryenFeatureMVP */, @@ -85,7 +102,8 @@ export enum FeatureFlags { FunctionReferences = 4096 /* _BinaryenFeatureTypedFunctionReferences */, RelaxedSIMD = 16384 /* _BinaryenFeatureRelaxedSIMD */, ExtendedConst = 32768 /* _BinaryenFeatureExtendedConst */, - All = 57343 /* _BinaryenFeatureAll */ + Strings = 65536 /* _BinaryenFeatureStrings */, + All = 122879 /* _BinaryenFeatureAll */ } /** Binaryen expression id constants. */ @@ -150,18 +168,16 @@ export enum ExpressionId { RefTest = 57 /* _BinaryenRefTestId */, RefCast = 58 /* _BinaryenRefCastId */, BrOn = 59 /* _BinaryenBrOnId */, - RttCanon = 60 /* _BinaryenRttCanonId */, - RttSub = 61 /* _BinaryenRttSubId */, - StructNew = 62 /* _BinaryenStructNewId */, - StructGet = 63 /* _BinaryenStructGetId */, - StructSet = 64 /* _BinaryenStructSetId */, - ArrayNew = 65 /* _BinaryenArrayNewId */, - ArrayInit = 66 /* _BinaryenArrayInitId */, - ArrayGet = 67 /* _BinaryenArrayGetId */, - ArraySet = 68 /* _BinaryenArraySetId */, - ArrayLen = 69 /* _BinaryenArrayLenId */, - ArrayCopy = 70 /* _BinaryenArrayCopyId */, - RefAs = 71 /* _BinaryenRefAsId */ + StructNew = 60 /* _BinaryenStructNewId */, + StructGet = 61 /* _BinaryenStructGetId */, + StructSet = 62 /* _BinaryenStructSetId */, + ArrayNew = 63 /* _BinaryenArrayNewId */, + ArrayInit = 64 /* _BinaryenArrayInitId */, + ArrayGet = 65 /* _BinaryenArrayGetId */, + ArraySet = 66 /* _BinaryenArraySetId */, + ArrayLen = 67 /* _BinaryenArrayLenId */, + ArrayCopy = 68 /* _BinaryenArrayCopyId */, + RefAs = 69 /* _BinaryenRefAsId */ } /** Binaryen external kind constants. */ @@ -1173,7 +1189,7 @@ export class Module { assert(bytes.length == 16); var out = this.lit; for (let i = 0; i < 16; ++i) { - binaryen.__i32_store8(out + i, bytes[i]); + binaryen.__i32_store8(out + i, unchecked(bytes[i])); } binaryen._BinaryenLiteralVec128(out, out); return binaryen._BinaryenConst(this.ref, out); @@ -1545,7 +1561,7 @@ export class Module { var numNames = names.length; var strs = new Array(numNames); for (let i = 0; i < numNames; ++i) { - strs[i] = this.allocStringCached(names[i]); + unchecked(strs[i] = this.allocStringCached(names[i])); } var cArr = allocPtrArray(strs); var cStr = this.allocStringCached(defaultName); @@ -1777,7 +1793,11 @@ export class Module { ref_is_null( expr: ExpressionRef ): ExpressionRef { - return binaryen._BinaryenRefIs(this.ref, RefIsOp.RefIsNull, expr); + if (isNullableType(getExpressionType(expr))) { + return binaryen._BinaryenRefIs(this.ref, RefIsOp.RefIsNull, expr); + } else { + return this.i32(0); // false literal + } } ref_as( @@ -1790,7 +1810,11 @@ export class Module { ref_as_nonnull( expr: ExpressionRef ): ExpressionRef { - return binaryen._BinaryenRefAs(this.ref, RefAsOp.RefAsNonNull, expr); + if (isNullableType(getExpressionType(expr))) { + return binaryen._BinaryenRefAs(this.ref, RefAsOp.RefAsNonNull, expr); + } else { + return expr; + } } ref_func( @@ -2080,15 +2104,16 @@ export class Module { var offs = new Array(k); var sizs = new Array(k); for (let i = 0; i < k; ++i) { - let segment = segments[i]; + let segment = unchecked(segments[i]); let buffer = segment.buffer; let offset = segment.offset; - segs[i] = allocU8Array(buffer); - psvs[i] = 0; // no passive segments currently - offs[i] = target == Target.WASM64 + unchecked(segs[i] = allocU8Array(buffer)); + unchecked(psvs[i] = 0); // no passive segments currently + unchecked(offs[i] = target == Target.WASM64 ? this.i64(i64_low(offset), i64_high(offset)) - : this.i32(i64_low(offset)); - sizs[i] = buffer.length; + : this.i32(i64_low(offset)) + ); + unchecked(sizs[i] = buffer.length); } var cArr1 = allocPtrArray(segs); var cArr2 = allocU8Array(psvs); @@ -2102,7 +2127,7 @@ export class Module { binaryen._free(cArr2); binaryen._free(cArr1); for (let i = k - 1; i >= 0; --i) { - binaryen._free(segs[i]); + binaryen._free(unchecked(segs[i])); } } @@ -2122,7 +2147,7 @@ export class Module { var numNames = funcs.length; var names = new Array(numNames); for (let i = 0; i < numNames; ++i) { - names[i] = this.allocStringCached(funcs[i]); + unchecked(names[i] = this.allocStringCached(funcs[i])); } var cArr = allocPtrArray(names); var tableRef = binaryen._BinaryenGetTable(this.ref, cStr); @@ -2347,6 +2372,8 @@ export class Module { passes.push("merge-blocks"); passes.push("precompute-propagate"); passes.push("simplify-globals-optimizing"); + passes.push("gufa-optimizing"); + passes.push("dae-optimizing"); } if (optimizeLevel >= 3) { passes.push("simplify-locals-nostructure"); @@ -2357,7 +2384,6 @@ export class Module { passes.push("licm"); passes.push("merge-locals"); passes.push("reorder-locals"); - passes.push("dae-optimizing"); } passes.push("optimize-instructions"); if (optimizeLevel >= 3 || shrinkLevel >= 1) { @@ -2488,6 +2514,9 @@ export class Module { } // clean up passes.push("duplicate-function-elimination"); + if (shrinkLevel >= 2) { + passes.push("merge-similar-functions"); + } passes.push("memory-packing"); passes.push("remove-unused-module-elements"); @@ -2504,24 +2533,41 @@ export class Module { } toBinary(sourceMapUrl: string | null = null): BinaryModule { - var out = this.lit; // safe to reuse as long as.. - assert(binaryen._BinaryenSizeofLiteral() >= 12); - var cStr = allocString(sourceMapUrl); - var binaryPtr: usize = 0; - var sourceMapPtr: usize = 0; - binaryen._BinaryenModuleAllocateAndWrite(out, this.ref, cStr); - binaryPtr = assert(binaryen.__i32_load(out)); - var binaryLen = binaryen.__i32_load(out + 4); - sourceMapPtr = binaryen.__i32_load(out + 8); // may be NULL - var binary = new BinaryModule(readBuffer(binaryPtr, binaryLen), readString(sourceMapPtr)); - if (cStr) binaryen._free(cStr); + assert( + binaryen._BinaryenSizeofLiteral() >= + binaryen._BinaryenSizeofAllocateAndWriteResult() + ); + + // now safely reuse lit buffer for BinaryenModuleAllocateAndWriteResult + var resPtr = this.lit; + var urlPtr = allocString(sourceMapUrl); + + binaryen._BinaryenModuleAllocateAndWrite(resPtr, this.ref, urlPtr); + + // read BinaryenModuleAllocateAndWriteResult struct + var binaryPtr = binaryen.__i32_load(resPtr + 0) as usize; // non-nullabe + var binaryLen = binaryen.__i32_load(resPtr + 4); + var srcMapPtr = binaryen.__i32_load(resPtr + 8) as usize; // nullable + + var binary = new BinaryModule( + readBuffer(assert(binaryPtr), binaryLen), + readString(srcMapPtr) + ); + + if (urlPtr) binaryen._free(urlPtr); + if (srcMapPtr) binaryen._free(srcMapPtr); binaryen._free(binaryPtr); - if (sourceMapPtr) binaryen._free(sourceMapPtr); + return binary; } toText(watFormat: bool = true): string { - throw new Error("not implemented"); // JS glue overrides this + var textPtr = watFormat + ? binaryen._BinaryenModuleAllocateAndWriteStackIR(this.ref, true) + : binaryen._BinaryenModuleAllocateAndWriteText(this.ref); + var text = readString(textPtr); + if (textPtr) binaryen._free(textPtr); + return text || ""; } private cachedStringsToPointers: Map = new Map(); @@ -2575,8 +2621,7 @@ export class Module { case ExpressionId.Nop: case ExpressionId.Unreachable: case ExpressionId.DataDrop: - case ExpressionId.RefNull: - case ExpressionId.RttCanon: return this.copyExpression(expr); + case ExpressionId.RefNull: return this.copyExpression(expr); } return 0; } @@ -2602,7 +2647,7 @@ export class Module { return precomp; } - isConstExpression(expr: ExpressionRef, features: FeatureFlags = 0): bool { + isConstExpression(expr: ExpressionRef): bool { switch (getExpressionId(expr)) { case ExpressionId.Const: case ExpressionId.RefNull: @@ -2669,12 +2714,16 @@ export function expandType(type: TypeRef): TypeRef[] { binaryen._BinaryenTypeExpand(type, cArr); var types = new Array(arity); for (let i: u32 = 0; i < arity; ++i) { - types[i] = binaryen.__i32_load(cArr + (i << 2)); + unchecked(types[i] = binaryen.__i32_load(cArr + (i << 2))); } binaryen._free(cArr); return types; } +export function isNullableType(type: TypeRef): bool { + return binaryen._BinaryenTypeIsNullable(type); +} + // expressions export function getExpressionId(expr: ExpressionRef): ExpressionId { @@ -2906,7 +2955,7 @@ export function getFunctionVars(func: FunctionRef): TypeRef[] { var count = binaryen._BinaryenFunctionGetNumVars(func); var types = new Array(count); for (let i: Index = 0; i < count; ++i) { - types[i] = binaryen._BinaryenFunctionGetVar(func, i); + unchecked(types[i] = binaryen._BinaryenFunctionGetVar(func, i)); } return types; } @@ -3042,17 +3091,17 @@ export class SwitchBuilder { var entry = new Array(1 + numValues + 1); var labels = new Array(numCases); for (let i = 0; i < numCases; ++i) { - labels[i] = `case${i}${labelPostfix}`; + unchecked(labels[i] = `case${i}${labelPostfix}`); } entry[0] = module.local_set(localIndex, this.condition, false); // u32 for (let i = 0; i < numValues; ++i) { - let index = indexes[i]; - entry[1 + i] = module.br(labels[index], + let index = unchecked(indexes[i]); + unchecked(entry[1 + i] = module.br(labels[index], module.binary(BinaryOp.EqI32, module.local_get(localIndex, TypeRef.I32), module.i32(values[i]) ) - ); + )); } var defaultIndex = this.defaultIndex; var defaultLabel = `default${labelPostfix}`; @@ -3065,7 +3114,7 @@ export class SwitchBuilder { for (let i = 1; i < numCases; ++i) { let block = cases[i - 1]; block.unshift(current); - current = module.block(labels[i], block); + current = module.block(unchecked(labels[i]), block); } var lastCase = cases[numCases - 1]; lastCase.unshift(current); @@ -3114,7 +3163,7 @@ function allocU8Array(u8s: Uint8Array | null): usize { var len = u8s.length; var ptr = binaryen._malloc(len); for (let i = 0; i < len; ++i) { - binaryen.__i32_store8(ptr + i, u8s[i]); + binaryen.__i32_store8(ptr + i, unchecked(u8s[i])); } return ptr; } @@ -3125,7 +3174,7 @@ function allocI32Array(i32s: i32[] | null): usize { var ptr = binaryen._malloc(len << 2); var idx = ptr; for (let i = 0; i < len; ++i) { - let val = i32s[i]; + let val = unchecked(i32s[i]); binaryen.__i32_store(idx, val); idx += 4; } @@ -3138,7 +3187,7 @@ function allocU32Array(u32s: u32[] | null): usize { var ptr = binaryen._malloc(len << 2); var idx = ptr; for (let i = 0; i < len; ++i) { - let val = u32s[i]; + let val = unchecked(u32s[i]); binaryen.__i32_store(idx, val); idx += 4; } @@ -3153,7 +3202,7 @@ export function allocPtrArray(ptrs: usize[] | null): usize { var ptr = binaryen._malloc(len << 2); var idx = ptr; for (let i = 0, k = len; i < k; ++i) { - let val = ptrs[i]; + let val = unchecked(ptrs[i]); binaryen.__i32_store(idx, val); idx += 4; } @@ -3224,7 +3273,7 @@ function allocString(str: string | null): usize { function readBuffer(ptr: usize, len: i32): Uint8Array { var ret = new Uint8Array(len); for (let i = 0; i < len; ++i) { - ret[i] = binaryen.__i32_load8_u(ptr + i); + unchecked(ret[i] = binaryen.__i32_load8_u(ptr + i)); } return ret; } diff --git a/src/passes/pass.ts b/src/passes/pass.ts index 6af6307be3..baf6bc5d26 100644 --- a/src/passes/pass.ts +++ b/src/passes/pass.ts @@ -431,14 +431,6 @@ export abstract class Visitor { // unimp } - visitRttCanon(expr: ExpressionRef): void { - // unimp - } - - visitRttSub(expr: ExpressionRef): void { - // unimp - } - visitStructNew(expr: ExpressionRef): void { // unimp } @@ -925,20 +917,6 @@ export abstract class Visitor { this.visitBrOn(expr); break; } - case ExpressionId.RttCanon: { - this.stack.push(expr); - assert(false); // TODO - assert(this.stack.pop() == expr); - this.visitRttCanon(expr); - break; - } - case ExpressionId.RttSub: { - this.stack.push(expr); - assert(false); // TODO - assert(this.stack.pop() == expr); - this.visitRttSub(expr); - break; - } case ExpressionId.StructNew: { this.stack.push(expr); assert(false); // TODO @@ -1622,14 +1600,6 @@ export function replaceChild( assert(false); // TODO break; } - case ExpressionId.RttCanon: { - assert(false); // TODO - break; - } - case ExpressionId.RttSub: { - assert(false); // TODO - break; - } case ExpressionId.StructNew: { assert(false); // TODO break; diff --git a/tests/compiler/assert-nonnull.release.wat b/tests/compiler/assert-nonnull.release.wat index 8f517ab174..3ad8fd4a36 100644 --- a/tests/compiler/assert-nonnull.release.wat +++ b/tests/compiler/assert-nonnull.release.wat @@ -139,10 +139,12 @@ end local.get $0 i32.load + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $export:assert-nonnull/testProp (param $0 i32) (result i32) (local $1 i32) @@ -536,10 +538,8 @@ local.get $0 i32.load call_indirect $0 (type $none_=>_i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + drop + unreachable ) (func $export:assert-nonnull/testFn2 (param $0 i32) (result i32) (local $1 i32) @@ -584,15 +584,8 @@ local.get $0 i32.load call_indirect $0 (type $none_=>_i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return + drop + unreachable end i32.const 17808 i32.const 17856 @@ -625,35 +618,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.store - local.get $1 local.get $0 i32.load call_indirect $0 (type $none_=>_i32) - local.tee $0 - i32.store - local.get $0 - i32.eqz - if - i32.const 1056 - i32.const 1120 - i32.const 44 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + drop + unreachable end i32.const 17808 i32.const 17856 @@ -685,10 +656,8 @@ i32.load offset=4 i32.load call_indirect $0 (type $none_=>_i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + drop + unreachable ) (func $export:assert-nonnull/testObjRet (param $0 i32) (result i32) (local $1 i32) @@ -714,36 +683,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=4 i32.load call_indirect $0 (type $none_=>_i32) - local.tee $0 - i32.store - local.get $0 - i32.eqz - if - i32.const 1056 - i32.const 1120 - i32.const 52 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + drop + unreachable end i32.const 17808 i32.const 17856 diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 966856ec7e..4397e959f7 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -139,12 +139,8 @@ (local $1 i32) i32.const 1056 call $byn-split-outlined-A$~lib/rt/itcms/__visit - global.get $bindings/esm/mutableStringGlobal - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.const 1088 + call $byn-split-outlined-A$~lib/rt/itcms/__visit i32.const 1552 call $byn-split-outlined-A$~lib/rt/itcms/__visit i32.const 1248 @@ -1132,6 +1128,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1164,6 +1161,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2442,10 +2440,12 @@ local.get $0 local.get $1 call $~lib/string/String.__concat + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $export:bindings/esm/stringFunctionOptional@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2495,6 +2495,7 @@ local.get $0 local.get $1 call $~lib/string/String.__concat + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2503,6 +2504,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 @@ -2557,7 +2559,7 @@ i32.const 2 i32.shr_u i32.add - local.set $4 + local.set $5 local.get $2 i32.const 4 i32.sub @@ -2578,7 +2580,7 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $4 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2608,7 +2610,7 @@ local.get $2 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const 134217727 i32.gt_u if @@ -2620,25 +2622,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.const 3 i32.shl local.tee $6 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store offset=4 local.get $2 - local.get $4 + local.get $5 i32.store - local.get $4 + local.get $5 if local.get $2 - local.get $4 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $4 + local.get $5 i32.store offset=4 local.get $2 local.get $6 @@ -2647,7 +2649,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 local.get $2 i32.store global.get $~lib/memory/__stack_pointer @@ -2916,10 +2918,12 @@ end br $folding-inner1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 @@ -3134,10 +3138,12 @@ end br $folding-inner1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 @@ -3276,10 +3282,12 @@ end br $folding-inner1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index 86de2503df..0796327308 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -1068,6 +1068,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1100,6 +1101,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1552,7 +1554,7 @@ local.get $1 ) (func $bindings/noExportRuntime/takesReturnsBasic (param $0 i32) (result i32) - global.get $bindings/noExportRuntime/isBasic + i32.const 0 ) (func $bindings/noExportRuntime/returnsString (result i32) i32.const 1056 diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index bd048982a0..efafa27a83 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -149,12 +149,8 @@ call $byn-split-outlined-A$~lib/rt/itcms/__visit i32.const 1056 call $byn-split-outlined-A$~lib/rt/itcms/__visit - global.get $bindings/esm/mutableStringGlobal - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.const 1088 + call $byn-split-outlined-A$~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 i32.load offset=4 @@ -1132,6 +1128,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1164,6 +1161,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2442,10 +2440,12 @@ local.get $0 local.get $1 call $~lib/string/String.__concat + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $export:bindings/esm/stringFunctionOptional@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2495,6 +2495,7 @@ local.get $0 local.get $1 call $~lib/string/String.__concat + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2503,6 +2504,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 @@ -2557,7 +2559,7 @@ i32.const 2 i32.shr_u i32.add - local.set $4 + local.set $5 local.get $2 i32.const 4 i32.sub @@ -2578,7 +2580,7 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $4 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2608,7 +2610,7 @@ local.get $2 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const 134217727 i32.gt_u if @@ -2620,25 +2622,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.const 3 i32.shl local.tee $6 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store offset=4 local.get $2 - local.get $4 + local.get $5 i32.store - local.get $4 + local.get $5 if local.get $2 - local.get $4 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $4 + local.get $5 i32.store offset=4 local.get $2 local.get $6 @@ -2647,7 +2649,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 local.get $2 i32.store global.get $~lib/memory/__stack_pointer @@ -2916,10 +2918,12 @@ end br $folding-inner1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 @@ -3134,10 +3138,12 @@ end br $folding-inner1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 @@ -3276,10 +3282,12 @@ end br $folding-inner1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 18608 diff --git a/tests/compiler/call-optional.release.wat b/tests/compiler/call-optional.release.wat index 1ad83abdcf..f17519ba7b 100644 --- a/tests/compiler/call-optional.release.wat +++ b/tests/compiler/call-optional.release.wat @@ -31,8 +31,8 @@ i32.const -2 local.set $2 end - local.get $0 local.get $1 + i32.const 3 i32.add local.get $2 i32.add diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index 1f66273759..6e707a1961 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -884,6 +884,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -916,6 +917,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2157,19 +2159,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index de6f1dc31a..53e2f448b5 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -898,6 +898,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -930,6 +931,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1045,13 +1047,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1532,19 +1534,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index 9b3b0d2bb3..966d1dbded 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -920,6 +920,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -952,6 +953,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1067,13 +1069,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1970,19 +1972,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index ff4df62b21..0bd9a70282 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -944,6 +944,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -976,6 +977,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1091,13 +1093,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -3104,19 +3106,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/class-static-function.release.wat b/tests/compiler/class-static-function.release.wat index b63a68e416..cccc3f51b3 100644 --- a/tests/compiler/class-static-function.release.wat +++ b/tests/compiler/class-static-function.release.wat @@ -43,16 +43,7 @@ i32.const 1056 i32.load call_indirect $0 (type $none_=>_i32) - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 11 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + drop global.get $~lib/memory/__stack_pointer i32.const 4 i32.add diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index f912da8398..d549355183 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -1024,6 +1024,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1056,6 +1057,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index cb96b2304a..308b9f77b3 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -947,6 +947,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -979,6 +980,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1990,19 +1992,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index d62f29d1f4..9f8050b65e 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -884,6 +884,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -916,6 +917,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1533,13 +1535,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1848,19 +1850,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index de6a5d9544..0ba35afd52 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -1032,6 +1032,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1064,6 +1065,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/empty-exportruntime.release.wat b/tests/compiler/empty-exportruntime.release.wat index 5e8a23b58b..583f044a69 100644 --- a/tests/compiler/empty-exportruntime.release.wat +++ b/tests/compiler/empty-exportruntime.release.wat @@ -1030,6 +1030,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1062,6 +1063,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/empty-new.release.wat b/tests/compiler/empty-new.release.wat index bbe6dc5941..cde1a44c13 100644 --- a/tests/compiler/empty-new.release.wat +++ b/tests/compiler/empty-new.release.wat @@ -880,6 +880,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -912,6 +913,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1391,19 +1393,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index de594b1be2..3f8d88cba0 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -915,6 +915,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -947,6 +948,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1245,13 +1247,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1565,19 +1567,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 5447244b76..6c645c78dc 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -1030,6 +1030,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1062,6 +1063,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1719,18 +1721,19 @@ i32.store offset=4 i32.const 1180 i32.load - local.tee $3 + local.tee $4 i32.const 1 i32.add - local.tee $4 + local.tee $3 + local.tee $0 i32.const 1176 i32.load - local.tee $0 + local.tee $1 i32.const 2 i32.shr_u i32.gt_u if - local.get $4 + local.get $0 i32.const 268435455 i32.gt_u if @@ -1742,28 +1745,28 @@ unreachable end block $__inlined_func$~lib/rt/itcms/__renew - local.get $0 + local.get $1 i32.const 1 i32.shl - local.tee $0 + local.tee $1 i32.const 1073741820 - local.get $0 + local.get $1 i32.const 1073741820 i32.lt_u select - local.tee $0 - local.get $4 + local.tee $1 + local.get $0 i32.const 8 - local.get $4 + local.get $0 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $1 + local.tee $0 local.get $0 local.get $1 - i32.gt_u + i32.lt_u select local.tee $2 i32.const 1168 @@ -1825,7 +1828,7 @@ end i32.const 1172 i32.load - local.get $3 + local.get $4 i32.const 2 i32.shl i32.add @@ -1838,7 +1841,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 1180 - local.get $4 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index cc4c9842b2..5be0d5cd6e 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -882,6 +882,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -914,6 +915,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1029,13 +1031,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index d8f9c226ad..6b77d3dfaa 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -1037,6 +1037,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1069,6 +1070,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2206,6 +2208,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2237,6 +2240,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 local.get $2 i32.store offset=4 local.get $0 diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index 8526f3d8e0..c29bf04d7b 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -1015,6 +1015,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1047,6 +1048,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index cb9acc257b..4122d1e7fc 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -884,6 +884,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -916,6 +917,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1529,13 +1531,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1844,19 +1846,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index e99cea5dce..9f910789d3 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -65,7 +65,7 @@ i32.add ) (func $start:function-call~fn2|4 (param $0 i32) (result i32) - local.get $0 + i32.const 1 ) (func $~lib/rt/itcms/visitRoots (local $0 i32) @@ -922,6 +922,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -954,6 +955,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1069,13 +1071,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1267,9 +1269,7 @@ nop ) (func $function-call/Foo#fnRet (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - local.get $2 - i32.add + i32.const 3 ) (func $~lib/rt/__visit_members (param $0 i32) block $folding-inner0 @@ -1363,16 +1363,7 @@ i32.const 1248 i32.load call_indirect $0 (type $i32_=>_i32) - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1152 - i32.const 20 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + drop memory.size i32.const 16 i32.shl @@ -1439,16 +1430,7 @@ i32.const 1712 i32.load call_indirect $0 (type $i32_=>_i32) - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1152 - i32.const 33 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + drop global.get $~lib/memory/__stack_pointer global.get $function-call/foo local.tee $0 @@ -1596,19 +1578,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index 1b48f86156..e11e1ff131 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -87,12 +87,10 @@ i32.const 1 ) (func $start:function-expression~anonymous|4 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.add + i32.const 3 ) (func $start:function-expression~anonymous|5 (param $0 i32) (param $1 i32) (result i32) - local.get $0 + i32.const 1 ) (func $start:function-expression~anonymous|6 (param $0 i32) (param $1 i32) (result i32) i32.const 42 @@ -1083,6 +1081,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1115,6 +1114,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1192,7 +1192,7 @@ end ) (func $function-expression/semanticallyAnonymous~fnDecl|0 (param $0 i64) (result i64) - local.get $0 + unreachable ) (func $function-expression/semanticallyAnonymous (local $0 i32) diff --git a/tests/compiler/function-types.release.wat b/tests/compiler/function-types.release.wat index 099f353cbb..3841458c85 100644 --- a/tests/compiler/function-types.release.wat +++ b/tests/compiler/function-types.release.wat @@ -29,14 +29,10 @@ i32.add ) (func $function-types/makeAdder~anonymous|0 (param $0 i64) (param $1 i64) (result i64) - local.get $0 - local.get $1 - i64.add + i64.const 30 ) (func $function-types/makeAdder~anonymous|0 (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - f64.add + f64.const 4 ) (func $~start (local $0 i32) @@ -200,10 +196,12 @@ local.get $0 i32.load call_indirect $0 (type $i32_i32_=>_i32) + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 i32.const 3 i32.ne if diff --git a/tests/compiler/getter-call.release.wat b/tests/compiler/getter-call.release.wat index 8c4538296b..d07fa747ea 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -887,6 +887,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -919,6 +920,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1130,13 +1132,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1358,10 +1360,12 @@ i32.const 1456 i32.load call_indirect $0 (type $none_=>_i32) + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) @@ -1477,19 +1481,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/heap.release.wat b/tests/compiler/heap.release.wat index 04805b3570..1eae6dcc58 100644 --- a/tests/compiler/heap.release.wat +++ b/tests/compiler/heap.release.wat @@ -1119,6 +1119,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 call $~lib/rt/tlsf/checkUsedBlock local.tee $0 @@ -1127,6 +1128,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $0 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/if.release.wat b/tests/compiler/if.release.wat index 4f5d7d31d9..cb1de7ed68 100644 --- a/tests/compiler/if.release.wat +++ b/tests/compiler/if.release.wat @@ -14,8 +14,8 @@ (export "memory" (memory $0)) (func $if/ifThenElse (param $0 i32) (result i32) local.get $0 - i32.eqz - i32.eqz + i32.const 0 + i32.ne ) (func $if/ifThen (param $0 i32) (result i32) local.get $0 diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index c055b1145c..487c046058 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -1051,6 +1051,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1083,6 +1084,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1765,6 +1767,7 @@ local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -1785,6 +1788,7 @@ i32.const 1 local.get $1 call $~lib/array/Array#__uset + local.get $2 local.get $3 i32.store offset=12 local.get $3 @@ -1799,6 +1803,7 @@ local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -1819,6 +1824,7 @@ i32.const 1 local.get $1 call $~lib/array/Array#__uset + local.get $2 local.get $3 i32.store offset=8 local.get $3 @@ -1829,6 +1835,7 @@ local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -1849,6 +1856,7 @@ i32.const 1 i32.const 0 call $~lib/array/Array#__uset + local.get $1 local.get $2 i32.store offset=12 local.get $2 @@ -1922,6 +1930,7 @@ local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -1950,6 +1959,7 @@ i32.const 1968 call $~lib/rt/__newArray call $~lib/array/Array#__uset + local.get $0 local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index b1e303a597..36339efcc2 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -910,6 +910,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -942,6 +943,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1057,13 +1059,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1610,19 +1612,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index 46aa5b6879..11ce8908d5 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -45,7 +45,7 @@ i32.const 3 ) (func $inlining/func_fe~anonymous|0 (param $0 i32) (result i32) - local.get $0 + i32.const 2 ) (func $~lib/rt/itcms/visitRoots (local $0 i32) @@ -896,6 +896,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -928,6 +929,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1444,21 +1446,11 @@ i32.const 1104 i32.load call_indirect $0 (type $i32_=>_i32) - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 123 i32.store - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1522,6 +1514,7 @@ i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $2 local.get $0 i32.eqz if @@ -1541,6 +1534,7 @@ local.get $0 i32.const 2 i32.store offset=4 + local.get $2 local.get $0 i32.store local.get $0 @@ -1724,19 +1718,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/instanceof-class.release.wat b/tests/compiler/instanceof-class.release.wat index 8a55e8b949..e4879953b9 100644 --- a/tests/compiler/instanceof-class.release.wat +++ b/tests/compiler/instanceof-class.release.wat @@ -898,6 +898,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -930,6 +931,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1045,13 +1047,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1623,19 +1625,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index af20bd99bf..15114bfab9 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -1019,6 +1019,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1051,6 +1052,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1166,13 +1168,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index 09bcc40685..3ca18e56e0 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -893,6 +893,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -925,6 +926,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1523,19 +1525,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 4bd0b09542..16b7e8cfd8 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -1026,6 +1026,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1058,6 +1059,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index c02200ee5d..9c3671f287 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -893,6 +893,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -925,6 +926,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1040,13 +1042,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1737,19 +1739,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 6fa036930f..d014bf078b 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -883,6 +883,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -915,6 +916,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1450,19 +1452,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/logical.release.wat b/tests/compiler/logical.release.wat index e6503c7536..5bed1958f8 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -884,6 +884,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -916,6 +917,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1202,13 +1204,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1517,19 +1519,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/loop-flow.release.wat b/tests/compiler/loop-flow.release.wat index 86b6f8db31..82218b6de4 100644 --- a/tests/compiler/loop-flow.release.wat +++ b/tests/compiler/loop-flow.release.wat @@ -128,39 +128,12 @@ (func $~start i32.const 1 call $loop-flow/whileAny - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 29 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + drop i32.const 1 call $loop-flow/forAny - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 59 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + drop i32.const 1 call $loop-flow/doAny - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 83 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + drop ) ) diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 132edfb312..8676b314fd 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -888,6 +888,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -920,6 +921,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1035,13 +1037,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1851,19 +1853,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/memory.release.wat b/tests/compiler/memory.release.wat index 2342a4f84e..fa940780be 100644 --- a/tests/compiler/memory.release.wat +++ b/tests/compiler/memory.release.wat @@ -73,8 +73,10 @@ global.get $memory/ptr i32.const 16 i32.add + local.set $0 i32.const 1104 global.set $memory/ptr + local.get $0 i32.const 1104 i32.ne if @@ -88,8 +90,10 @@ global.get $memory/ptr i32.const 8 i32.add + local.set $0 i32.const 1112 global.set $memory/ptr + local.get $0 i32.const 1112 i32.ne if @@ -103,8 +107,10 @@ global.get $memory/ptr i32.const 4 i32.add + local.set $0 i32.const 1116 global.set $memory/ptr + local.get $0 i32.const 1116 i32.ne if @@ -118,8 +124,10 @@ global.get $memory/ptr i32.const 2 i32.add + local.set $0 i32.const 1118 global.set $memory/ptr + local.get $0 i32.const 1118 i32.ne if @@ -133,8 +141,10 @@ global.get $memory/ptr i32.const 1 i32.add + local.set $0 i32.const 1119 global.set $memory/ptr + local.get $0 i32.const 1119 i32.ne if diff --git a/tests/compiler/memset.release.wat b/tests/compiler/memset.release.wat index ce3406910e..4d6a774fcf 100644 --- a/tests/compiler/memset.release.wat +++ b/tests/compiler/memset.release.wat @@ -173,9 +173,9 @@ local.get $1 i64.extend_i32_u local.tee $3 + local.get $3 i64.const 32 i64.shl - local.get $3 i64.or local.set $3 loop $while-continue|0 diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index bf063a2cfe..68919cada1 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -924,6 +924,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -956,6 +957,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1071,13 +1073,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1651,19 +1653,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/number.release.wat b/tests/compiler/number.release.wat index 546d9d890b..7df0459ec4 100644 --- a/tests/compiler/number.release.wat +++ b/tests/compiler/number.release.wat @@ -931,6 +931,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -963,6 +964,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1159,13 +1161,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 - local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl + local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1759,27 +1761,26 @@ (local $5 i32) (local $6 i32) (local $7 i64) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) - (local $12 i64) local.get $1 local.get $0 i64.sub - local.set $9 + local.set $8 i64.const 1 i32.const 0 local.get $2 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $0 i64.shl - local.tee $11 + local.tee $10 i64.const 1 i64.sub - local.tee $12 + local.tee $11 local.get $1 i64.and local.set $7 @@ -1960,11 +1961,6 @@ i32.or if local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 i32.const 1 i32.shl i32.const 3456 @@ -1975,6 +1971,10 @@ i32.const 48 i32.add i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 end local.get $2 i32.const 1 @@ -1983,7 +1983,7 @@ local.get $3 local.get $5 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 @@ -2001,7 +2001,7 @@ i32.const 4384 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $1 @@ -2015,7 +2015,7 @@ local.set $2 loop $while-continue|3 local.get $0 - local.get $9 + local.get $8 i64.lt_u local.get $3 local.get $0 @@ -2024,19 +2024,19 @@ i64.ge_u i32.and if (result i32) - local.get $9 - local.get $0 - i64.sub + local.get $8 local.get $0 local.get $1 i64.add local.tee $7 - local.get $9 - i64.sub i64.gt_u + local.get $8 + local.get $0 + i64.sub local.get $7 - local.get $9 - i64.lt_u + local.get $8 + i64.sub + i64.gt_u i32.or else i32.const 0 @@ -2071,7 +2071,7 @@ i64.const 10 i64.mul local.tee $0 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $1 @@ -2104,7 +2104,7 @@ i32.sub local.set $2 local.get $0 - local.get $12 + local.get $11 i64.and local.tee $7 local.get $3 @@ -2117,7 +2117,7 @@ global.set $~lib/util/number/_K local.get $7 local.set $0 - local.get $9 + local.get $8 i32.const 0 local.get $2 i32.sub @@ -2143,7 +2143,7 @@ local.get $3 local.get $0 i64.sub - local.get $11 + local.get $10 i64.ge_u i32.and if (result i32) @@ -2151,7 +2151,7 @@ local.get $0 i64.sub local.get $0 - local.get $11 + local.get $10 i64.add local.tee $7 local.get $1 @@ -2170,7 +2170,7 @@ i32.sub local.set $2 local.get $0 - local.get $11 + local.get $10 i64.add local.set $0 br $while-continue|6 @@ -2413,9 +2413,13 @@ local.get $1 i32.const 3456 i32.add - local.tee $3 + local.tee $1 i32.const 101 i32.store16 offset=2 + local.get $1 + i32.const 4 + i32.add + local.tee $3 local.get $2 i32.const 1 i32.sub @@ -2429,9 +2433,6 @@ i32.sub local.set $1 end - local.get $3 - i32.const 4 - i32.add local.get $1 local.get $1 i32.const 100000 @@ -2488,7 +2489,7 @@ i32.const 43 local.get $2 select - i32.store16 offset=4 + i32.store16 local.get $0 local.get $1 i32.add @@ -2532,11 +2533,12 @@ ) (func $start:number (local $0 i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) + (local $2 f64) (local $3 i64) (local $4 i64) - (local $5 f64) + (local $5 i64) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2628,18 +2630,27 @@ local.tee $4 i64.const 31 i64.shl - local.set $2 + local.get $4 + i64.const 10 + i64.shl + i64.const 32 + i64.shr_u + i64.add + local.set $1 local.get $3 i64.const 32 i64.shr_u local.tee $3 i64.const 31 i64.shl - local.get $2 + local.get $4 + i64.const 31 + i64.shl + local.tee $5 i64.const 32 i64.shr_u i64.add - local.get $2 + local.get $5 i64.const 4294967295 i64.and i64.const 2147483647 @@ -2650,20 +2661,11 @@ local.get $3 i64.const 31 i64.shl - local.get $4 - i64.const 31 - i64.shl - local.get $4 - i64.const 10 - i64.shl - i64.const 32 - i64.shr_u - i64.add - local.tee $2 + local.get $1 i64.const 32 i64.shr_u i64.add - local.get $2 + local.get $1 i64.const 4294967295 i64.and local.get $3 @@ -2677,11 +2679,11 @@ i64.add i64.const 1 i64.sub - local.tee $2 + local.tee $1 global.get $~lib/util/number/_exp_pow i32.const 2 i32.add - local.get $2 + local.get $1 local.get $3 i64.const 2147483647 i64.mul @@ -2694,14 +2696,14 @@ i64.const 32 i64.shr_u i64.add - local.tee $2 + local.tee $1 i64.const 32 i64.shr_u i64.add local.get $3 i64.const 4294966784 i64.mul - local.get $2 + local.get $1 i64.const 4294967295 i64.and i64.add @@ -2722,9 +2724,9 @@ global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $6 i32.store - local.get $1 + local.get $6 i32.const 3456 local.get $0 memory.copy @@ -2734,12 +2736,12 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.tee $0 - local.get $1 + local.get $6 i32.store local.get $0 i32.const 4448 i32.store offset=4 - local.get $1 + local.get $6 i32.const 4448 call $~lib/string/String.__eq i32.eqz @@ -2753,15 +2755,15 @@ end i32.const 3 call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 4480 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4480 call $~lib/string/String.__eq i32.eqz @@ -2775,15 +2777,15 @@ end i32.const -5 call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 4512 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4512 call $~lib/string/String.__eq i32.eqz @@ -2797,15 +2799,15 @@ end i32.const 4 call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 4544 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4544 call $~lib/string/String.__eq i32.eqz @@ -2823,15 +2825,15 @@ global.set $number/a global.get $number/a call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 4576 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4576 call $~lib/string/String.__eq i32.eqz @@ -2849,15 +2851,15 @@ global.set $number/a global.get $number/a call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 3232 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3232 call $~lib/string/String.__eq i32.eqz @@ -2914,15 +2916,15 @@ global.set $number/a local.get $0 call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 3232 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3232 call $~lib/string/String.__eq i32.eqz @@ -2941,15 +2943,15 @@ global.set $number/a local.get $0 call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 4576 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4576 call $~lib/string/String.__eq i32.eqz @@ -3088,19 +3090,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index 943f5dd550..96fa3e192e 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -829,6 +829,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -861,6 +862,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -2043,6 +2045,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2107,6 +2110,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $1 i32.store offset=8 local.get $1 @@ -2176,8 +2180,8 @@ end local.get $1 i64.load offset=8 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1504 @@ -2188,8 +2192,8 @@ end local.get $1 i64.load offset=16 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1504 @@ -2414,6 +2418,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2472,6 +2477,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $1 i32.store offset=16 local.get $1 diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index 13005e7d0e..ddb8d5a540 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -896,6 +896,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -928,6 +929,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1043,13 +1045,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1495,19 +1497,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/reexport.release.wat b/tests/compiler/reexport.release.wat index 227e72b848..4946973406 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -917,6 +917,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -949,6 +950,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1064,13 +1066,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1512,19 +1514,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/rereexport.release.wat b/tests/compiler/rereexport.release.wat index 905a617af1..4795d668f4 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -915,6 +915,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -947,6 +948,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1243,13 +1245,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1563,19 +1565,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 2f6c9bb56f..5e8c3714cc 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -1037,6 +1037,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1069,6 +1070,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1656,7 +1658,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1728 - local.set $1 + local.set $2 br $__inlined_func$~lib/util/number/utoa64 end local.get $0 @@ -1666,47 +1668,47 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.wrap_i64 - local.tee $2 + local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $1 i32.const 100000000 i32.ge_u i32.add @@ -1717,10 +1719,10 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store - local.get $1 local.get $2 + local.get $1 local.get $3 call $~lib/util/number/utoa32_dec_lut else @@ -1775,23 +1777,23 @@ i32.add end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store loop $while-continue|0 local.get $0 i64.const 100000000 i64.ge_u if - local.get $1 local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.add @@ -1827,11 +1829,11 @@ i64.shl i64.or i64.store - local.get $1 local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.add @@ -1861,10 +1863,10 @@ br $while-continue|0 end end - local.get $1 + local.get $2 local.get $0 i32.wrap_i64 - local.get $2 + local.get $1 call $~lib/util/number/utoa32_dec_lut end global.get $~lib/memory/__stack_pointer @@ -1872,7 +1874,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $1 + local.get $2 ) (func $~lib/rt/__visit_members (param $0 i32) block $folding-inner0 @@ -2064,10 +2066,12 @@ i32.load offset=4 i64.load call $~lib/number/U64#toString + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 19760 @@ -2144,10 +2148,12 @@ local.get $0 i64.load call $~lib/number/U64#toString + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $resolve-access/propertyAccess (result i32) (local $0 i32) @@ -2176,7 +2182,7 @@ local.get $0 i64.load i32.wrap_i64 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2189,7 +2195,7 @@ i32.const 0 i32.store block $__inlined_func$~lib/util/number/utoa32 - local.get $2 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -2201,53 +2207,53 @@ br $__inlined_func$~lib/util/number/utoa32 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $1 i32.const 100000000 i32.ge_u i32.add end end - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 @@ -2255,8 +2261,8 @@ local.tee $0 i32.store local.get $0 - local.get $2 local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/resolve-binary.release.wat b/tests/compiler/resolve-binary.release.wat index c82f00f790..a32120bfaf 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -1231,6 +1231,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1263,6 +1264,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1941,32 +1943,31 @@ (func $~lib/util/number/genDigits (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (result i32) (local $4 i32) (local $5 i32) - (local $6 i64) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $6 i32) + (local $7 i64) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) - (local $12 i64) local.get $1 local.get $0 i64.sub - local.set $9 + local.set $8 i64.const 1 i32.const 0 local.get $2 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $0 i64.shl - local.tee $11 + local.tee $10 i64.const 1 i64.sub - local.tee $12 + local.tee $11 local.get $1 i64.and - local.set $6 + local.set $7 local.get $1 local.get $0 i64.shr_u @@ -2043,7 +2044,7 @@ local.get $5 i32.const 1000000000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 1000000000 i32.rem_u @@ -2053,7 +2054,7 @@ local.get $5 i32.const 100000000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 100000000 i32.rem_u @@ -2063,7 +2064,7 @@ local.get $5 i32.const 10000000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 10000000 i32.rem_u @@ -2073,7 +2074,7 @@ local.get $5 i32.const 1000000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 1000000 i32.rem_u @@ -2083,7 +2084,7 @@ local.get $5 i32.const 100000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 100000 i32.rem_u @@ -2093,7 +2094,7 @@ local.get $5 i32.const 10000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 10000 i32.rem_u @@ -2103,7 +2104,7 @@ local.get $5 i32.const 1000 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 1000 i32.rem_u @@ -2113,7 +2114,7 @@ local.get $5 i32.const 100 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 100 i32.rem_u @@ -2123,7 +2124,7 @@ local.get $5 i32.const 10 i32.div_u - local.set $7 + local.set $6 local.get $5 i32.const 10 i32.rem_u @@ -2131,34 +2132,33 @@ br $break|1 end local.get $5 - local.set $7 + local.set $6 i32.const 0 local.set $5 br $break|1 end i32.const 0 - local.set $7 + local.set $6 end local.get $4 - local.get $7 + local.get $6 i32.or if local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 i32.const 1 i32.shl i32.const 9728 i32.add - local.get $7 + local.get $6 i32.const 65535 i32.and i32.const 48 i32.add i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 end local.get $2 i32.const 1 @@ -2167,10 +2167,10 @@ local.get $3 local.get $5 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl - local.get $6 + local.get $7 i64.add local.tee $0 i64.ge_u @@ -2185,7 +2185,7 @@ i32.const 10656 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $1 @@ -2199,7 +2199,7 @@ local.set $2 loop $while-continue|3 local.get $0 - local.get $9 + local.get $8 i64.lt_u local.get $3 local.get $0 @@ -2208,19 +2208,19 @@ i64.ge_u i32.and if (result i32) - local.get $9 - local.get $0 - i64.sub local.get $0 local.get $1 i64.add - local.tee $6 - local.get $9 + local.tee $7 + local.get $8 + i64.lt_u + local.get $8 + local.get $0 + i64.sub + local.get $7 + local.get $8 i64.sub i64.gt_u - local.get $6 - local.get $9 - i64.lt_u i32.or else i32.const 0 @@ -2251,11 +2251,11 @@ i64.const 10 i64.mul local.set $3 - local.get $6 + local.get $7 i64.const 10 i64.mul local.tee $0 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $1 @@ -2288,9 +2288,9 @@ i32.sub local.set $2 local.get $0 - local.get $12 + local.get $11 i64.and - local.tee $6 + local.tee $7 local.get $3 i64.ge_u br_if $while-continue|4 @@ -2299,9 +2299,9 @@ local.get $2 i32.add global.set $~lib/util/number/_K - local.get $6 + local.get $7 local.set $0 - local.get $9 + local.get $8 i32.const 0 local.get $2 i32.sub @@ -2327,7 +2327,7 @@ local.get $3 local.get $0 i64.sub - local.get $11 + local.get $10 i64.ge_u i32.and if (result i32) @@ -2335,14 +2335,14 @@ local.get $0 i64.sub local.get $0 - local.get $11 + local.get $10 i64.add - local.tee $6 + local.tee $7 local.get $1 i64.sub i64.gt_u local.get $1 - local.get $6 + local.get $7 i64.gt_u i32.or else @@ -2354,7 +2354,7 @@ i32.sub local.set $2 local.get $0 - local.get $11 + local.get $10 i64.add local.set $0 br $while-continue|6 @@ -4368,19 +4368,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 0cb924d1b7..fc6c385944 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -1089,6 +1089,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1121,6 +1122,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1623,27 +1625,26 @@ (local $5 i32) (local $6 i32) (local $7 i64) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) - (local $12 i64) local.get $1 local.get $0 i64.sub - local.set $9 + local.set $8 i64.const 1 i32.const 0 local.get $2 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $0 i64.shl - local.tee $11 + local.tee $10 i64.const 1 i64.sub - local.tee $12 + local.tee $11 local.get $1 i64.and local.set $7 @@ -1824,11 +1825,6 @@ i32.or if local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 i32.const 1 i32.shl i32.const 1776 @@ -1839,6 +1835,10 @@ i32.const 48 i32.add i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 end local.get $2 i32.const 1 @@ -1847,7 +1847,7 @@ local.get $3 local.get $5 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 @@ -1865,7 +1865,7 @@ i32.const 2704 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $1 @@ -1879,7 +1879,7 @@ local.set $2 loop $while-continue|3 local.get $0 - local.get $9 + local.get $8 i64.lt_u local.get $3 local.get $0 @@ -1888,19 +1888,19 @@ i64.ge_u i32.and if (result i32) - local.get $9 - local.get $0 - i64.sub + local.get $8 local.get $0 local.get $1 i64.add local.tee $7 - local.get $9 - i64.sub i64.gt_u + local.get $8 + local.get $0 + i64.sub local.get $7 - local.get $9 - i64.lt_u + local.get $8 + i64.sub + i64.gt_u i32.or else i32.const 0 @@ -1935,7 +1935,7 @@ i64.const 10 i64.mul local.tee $0 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $1 @@ -1968,7 +1968,7 @@ i32.sub local.set $2 local.get $0 - local.get $12 + local.get $11 i64.and local.tee $7 local.get $3 @@ -1981,7 +1981,7 @@ global.set $~lib/util/number/_K local.get $7 local.set $0 - local.get $9 + local.get $8 i32.const 0 local.get $2 i32.sub @@ -2007,7 +2007,7 @@ local.get $3 local.get $0 i64.sub - local.get $11 + local.get $10 i64.ge_u i32.and if (result i32) @@ -2015,7 +2015,7 @@ local.get $0 i64.sub local.get $0 - local.get $11 + local.get $10 i64.add local.tee $7 local.get $1 @@ -2034,7 +2034,7 @@ i32.sub local.set $2 local.get $0 - local.get $11 + local.get $10 i64.add local.set $0 br $while-continue|6 @@ -2483,10 +2483,10 @@ (local $3 i64) (local $4 i64) (local $5 i64) - (local $6 i32) + (local $6 i64) (local $7 i32) (local $8 i32) - (local $9 i64) + (local $9 i32) (local $10 i64) (local $11 i64) (local $12 i64) @@ -2512,19 +2512,19 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $6 + local.tee $7 i32.const 1 - local.get $6 + local.get $7 select i32.const 1075 i32.sub - local.tee $7 + local.tee $8 i32.const 1 i32.sub local.get $1 i64.const 4503599627370495 i64.and - local.get $6 + local.get $7 i32.const 0 i32.ne i64.extend_i32_u @@ -2539,11 +2539,11 @@ local.tee $3 i64.clz i32.wrap_i64 - local.tee $6 + local.tee $7 i32.sub - local.set $8 + local.set $9 local.get $3 - local.get $6 + local.get $7 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -2553,25 +2553,25 @@ i64.eq i32.const 1 i32.add - local.tee $6 + local.tee $7 i64.extend_i32_s i64.shl i64.const 1 i64.sub + local.get $8 local.get $7 - local.get $6 i32.sub - local.get $8 + local.get $9 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $8 + local.get $9 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $6 + local.tee $7 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -2580,8 +2580,8 @@ f64.add local.tee $0 i32.trunc_sat_f64_s - local.tee $7 - local.get $7 + local.tee $8 + local.get $8 f64.convert_i32_s local.get $0 f64.ne @@ -2590,18 +2590,18 @@ i32.shr_s i32.const 1 i32.add - local.tee $7 + local.tee $8 i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.sub global.set $~lib/util/number/_K - local.get $8 + local.get $9 i32.const 1832 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $7 + local.get $8 i32.const 1 i32.shl i32.const 2528 @@ -2616,78 +2616,78 @@ i64.const 4294967295 i64.and local.set $4 + global.get $~lib/util/number/_frc_pow + local.tee $10 + i64.const 4294967295 + i64.and + local.tee $11 local.get $1 i64.const 32 i64.shr_u local.tee $1 - global.get $~lib/util/number/_frc_pow - local.tee $9 - i64.const 4294967295 - i64.and - local.tee $10 i64.mul local.get $4 - local.get $10 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 + local.set $5 global.get $~lib/util/number/_frc_plus local.tee $3 i64.const 4294967295 i64.and local.set $12 - local.get $10 local.get $3 i64.const 32 i64.shr_u local.tee $3 + local.get $11 i64.mul - local.get $10 + local.get $11 local.get $12 i64.mul i64.const 32 i64.shr_u i64.add - local.set $5 + local.set $6 global.get $~lib/util/number/_frc_minus local.tee $13 i64.const 4294967295 i64.and local.set $14 - local.get $10 local.get $13 i64.const 32 i64.shr_u local.tee $13 + local.get $11 i64.mul - local.get $10 + local.get $11 local.get $14 i64.mul i64.const 32 i64.shr_u i64.add - local.set $10 + local.set $11 local.get $2 i32.const 1 i32.shl i32.const 1776 i32.add - local.get $9 + local.get $1 + local.get $10 i64.const 32 i64.shr_u - local.tee $9 - local.get $1 + local.tee $1 i64.mul - local.get $11 + local.get $5 i64.const 32 i64.shr_u i64.add + local.get $1 local.get $4 - local.get $9 i64.mul - local.get $11 + local.get $5 i64.const 4294967295 i64.and i64.add @@ -2696,17 +2696,17 @@ i64.const 32 i64.shr_u i64.add + local.get $1 local.get $3 - local.get $9 i64.mul - local.get $5 + local.get $6 i64.const 32 i64.shr_u i64.add - local.get $9 + local.get $1 local.get $12 i64.mul - local.get $5 + local.get $6 i64.const 4294967295 i64.and i64.add @@ -2717,24 +2717,24 @@ i64.add i64.const 1 i64.sub - local.tee $1 - local.get $6 + local.tee $3 + local.get $7 global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub + local.get $3 local.get $1 - local.get $9 local.get $13 i64.mul - local.get $10 + local.get $11 i64.const 32 i64.shr_u i64.add - local.get $9 + local.get $1 local.get $14 i64.mul - local.get $10 + local.get $11 i64.const 4294967295 i64.and i64.add @@ -3105,26 +3105,16 @@ (func $~lib/rt/__visit_members (param $0 i32) block $folding-inner0 block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end return end unreachable diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index 9b5467d348..895a7904a7 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -924,6 +924,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -956,6 +957,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1142,6 +1144,7 @@ br $__inlined_func$~lib/util/number/itoa32 end global.get $~lib/memory/__stack_pointer + local.set $5 i32.const 0 local.get $0 i32.sub @@ -1249,13 +1252,13 @@ end global.get $~lib/rt/itcms/total local.tee $2 - local.get $2 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl + local.get $2 i32.add global.set $~lib/rt/itcms/threshold end @@ -1502,6 +1505,7 @@ i32.const 0 local.get $4 memory.fill + local.get $5 local.get $2 i32.store local.get $2 @@ -1986,19 +1990,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-new.release.wat b/tests/compiler/resolve-new.release.wat index 767da2e72c..fee6cd1a0e 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -889,6 +889,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -921,6 +922,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1149,13 +1151,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1464,19 +1466,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index 7633236b17..ccf0143312 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -924,6 +924,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -956,6 +957,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1453,7 +1455,7 @@ i32.shr_u i32.const 1 i32.shl - local.tee $4 + local.tee $3 select local.tee $0 i32.const 100000 @@ -1504,16 +1506,16 @@ local.tee $1 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 - local.get $4 + local.get $3 i32.add - local.set $3 + local.set $5 loop $while-continue|0 local.get $0 i32.const 10000 @@ -1522,12 +1524,12 @@ local.get $0 i32.const 10000 i32.rem_u - local.set $5 + local.set $4 local.get $0 i32.const 10000 i32.div_u local.set $0 - local.get $3 + local.get $5 local.get $1 i32.const 4 i32.sub @@ -1535,7 +1537,7 @@ i32.const 1 i32.shl i32.add - local.get $5 + local.get $4 i32.const 100 i32.div_u i32.const 2 @@ -1543,7 +1545,7 @@ i32.const 1660 i32.add i64.load32_u - local.get $5 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -1562,7 +1564,7 @@ i32.const 100 i32.ge_u if - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.sub @@ -1588,7 +1590,7 @@ i32.const 10 i32.ge_u if - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.sub @@ -1603,7 +1605,7 @@ i32.load i32.store else - local.get $3 + local.get $5 local.get $1 i32.const 1 i32.sub @@ -1615,7 +1617,7 @@ i32.add i32.store16 end - local.get $4 + local.get $3 if local.get $2 i32.const 45 @@ -2247,19 +2249,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index f6a158d7fb..d55dea6648 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -928,6 +928,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -960,6 +961,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1156,13 +1158,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 - local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl + local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1637,27 +1639,26 @@ (local $5 i32) (local $6 i32) (local $7 i64) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) - (local $12 i64) local.get $1 local.get $0 i64.sub - local.set $9 + local.set $8 i64.const 1 i32.const 0 local.get $2 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $0 i64.shl - local.tee $11 + local.tee $10 i64.const 1 i64.sub - local.tee $12 + local.tee $11 local.get $1 i64.and local.set $7 @@ -1838,11 +1839,6 @@ i32.or if local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 i32.const 1 i32.shl i32.const 3472 @@ -1853,6 +1849,10 @@ i32.const 48 i32.add i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 end local.get $2 i32.const 1 @@ -1861,7 +1861,7 @@ local.get $3 local.get $5 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 @@ -1879,7 +1879,7 @@ i32.const 4400 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $1 @@ -1893,7 +1893,7 @@ local.set $2 loop $while-continue|3 local.get $0 - local.get $9 + local.get $8 i64.lt_u local.get $3 local.get $0 @@ -1902,19 +1902,19 @@ i64.ge_u i32.and if (result i32) - local.get $9 - local.get $0 - i64.sub + local.get $8 local.get $0 local.get $1 i64.add local.tee $7 - local.get $9 - i64.sub i64.gt_u + local.get $8 + local.get $0 + i64.sub local.get $7 - local.get $9 - i64.lt_u + local.get $8 + i64.sub + i64.gt_u i32.or else i32.const 0 @@ -1949,7 +1949,7 @@ i64.const 10 i64.mul local.tee $0 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $1 @@ -1982,7 +1982,7 @@ i32.sub local.set $2 local.get $0 - local.get $12 + local.get $11 i64.and local.tee $7 local.get $3 @@ -1995,7 +1995,7 @@ global.set $~lib/util/number/_K local.get $7 local.set $0 - local.get $9 + local.get $8 i32.const 0 local.get $2 i32.sub @@ -2021,7 +2021,7 @@ local.get $3 local.get $0 i64.sub - local.get $11 + local.get $10 i64.ge_u i32.and if (result i32) @@ -2029,7 +2029,7 @@ local.get $0 i64.sub local.get $0 - local.get $11 + local.get $10 i64.add local.tee $7 local.get $1 @@ -2048,7 +2048,7 @@ i32.sub local.set $2 local.get $0 - local.get $11 + local.get $10 i64.add local.set $0 br $while-continue|6 @@ -2291,9 +2291,13 @@ local.get $1 i32.const 3472 i32.add - local.tee $3 + local.tee $1 i32.const 101 i32.store16 offset=2 + local.get $1 + i32.const 4 + i32.add + local.tee $3 local.get $2 i32.const 1 i32.sub @@ -2307,9 +2311,6 @@ i32.sub local.set $1 end - local.get $3 - i32.const 4 - i32.add local.get $1 local.get $1 i32.const 100000 @@ -2366,7 +2367,7 @@ i32.const 43 local.get $2 select - i32.store16 offset=4 + i32.store16 local.get $0 local.get $1 i32.add @@ -2380,24 +2381,16 @@ end ) (func $start:resolve-ternary~anonymous|0 (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.add + i32.const 2 ) (func $start:resolve-ternary~anonymous|1 (param $0 i32) (result i32) - local.get $0 - i32.const 2 - i32.add + i32.const 3 ) (func $resolve-ternary/g1 (param $0 i32) (result i32) - local.get $0 - i32.const 3 - i32.add + i32.const 4 ) (func $resolve-ternary/g2 (param $0 i32) (result i32) - local.get $0 - i32.const 4 - i32.add + i32.const 5 ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -2438,10 +2431,11 @@ (func $~start (local $0 i32) (local $1 i64) - (local $2 i64) + (local $2 f64) (local $3 i64) - (local $4 i32) - (local $5 f64) + (local $4 i64) + (local $5 i64) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2550,24 +2544,33 @@ i32.load16_s global.set $~lib/util/number/_exp_pow global.get $~lib/util/number/_frc_pow - local.tee $2 + local.tee $3 i64.const 4294967295 i64.and - local.tee $3 + local.tee $4 i64.const 31 i64.shl + local.get $4 + i64.const 10 + i64.shl + i64.const 32 + i64.shr_u + i64.add local.set $1 - local.get $2 + local.get $3 i64.const 32 i64.shr_u - local.tee $2 + local.tee $3 i64.const 31 i64.shl - local.get $1 + local.get $4 + i64.const 31 + i64.shl + local.tee $5 i64.const 32 i64.shr_u i64.add - local.get $1 + local.get $5 i64.const 4294967295 i64.and i64.const 2147483647 @@ -2575,26 +2578,17 @@ i64.const 32 i64.shr_u i64.add - local.get $2 - i64.const 31 - i64.shl local.get $3 i64.const 31 i64.shl - local.get $3 - i64.const 10 - i64.shl - i64.const 32 - i64.shr_u - i64.add - local.tee $1 + local.get $1 i64.const 32 i64.shr_u i64.add local.get $1 i64.const 4294967295 i64.and - local.get $2 + local.get $3 i64.const 10 i64.shl i64.add @@ -2610,13 +2604,13 @@ i32.const 1 i32.add local.get $1 - local.get $2 + local.get $3 i64.const 2147483647 i64.mul - local.get $3 + local.get $4 i64.const 2147483647 i64.mul - local.get $3 + local.get $4 i64.const 4294966784 i64.mul i64.const 32 @@ -2626,7 +2620,7 @@ i64.const 32 i64.shr_u i64.add - local.get $2 + local.get $3 i64.const 4294966784 i64.mul local.get $1 @@ -2646,28 +2640,28 @@ call $~lib/util/number/prettify i32.const 1 i32.shl - local.set $0 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $0 i32.store - local.get $4 - i32.const 3472 local.get $0 + i32.const 3472 + local.get $6 memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store + local.tee $6 local.get $0 + i32.store + local.get $6 i32.const 4464 i32.store offset=4 - local.get $4 + local.get $0 i32.const 4464 call $~lib/string/String.__eq i32.eqz @@ -2848,19 +2842,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/resolve-unary.release.wat b/tests/compiler/resolve-unary.release.wat index 0a439e4858..0aaf687926 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -950,6 +950,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -982,6 +983,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1479,7 +1481,7 @@ i32.shr_u i32.const 1 i32.shl - local.tee $4 + local.tee $3 select local.tee $0 i32.const 100000 @@ -1530,16 +1532,16 @@ local.tee $1 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 - local.get $4 + local.get $3 i32.add - local.set $3 + local.set $5 loop $while-continue|0 local.get $0 i32.const 10000 @@ -1548,12 +1550,12 @@ local.get $0 i32.const 10000 i32.rem_u - local.set $5 + local.set $4 local.get $0 i32.const 10000 i32.div_u local.set $0 - local.get $3 + local.get $5 local.get $1 i32.const 4 i32.sub @@ -1561,7 +1563,7 @@ i32.const 1 i32.shl i32.add - local.get $5 + local.get $4 i32.const 100 i32.div_u i32.const 2 @@ -1569,7 +1571,7 @@ i32.const 1660 i32.add i64.load32_u - local.get $5 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -1588,7 +1590,7 @@ i32.const 100 i32.ge_u if - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.sub @@ -1614,7 +1616,7 @@ i32.const 10 i32.ge_u if - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.sub @@ -1629,7 +1631,7 @@ i32.load i32.store else - local.get $3 + local.get $5 local.get $1 i32.const 1 i32.sub @@ -1641,7 +1643,7 @@ i32.add i32.store16 end - local.get $4 + local.get $3 if local.get $2 i32.const 45 @@ -2560,19 +2562,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index ef22c1a601..27c5e15f17 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -1022,6 +1022,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1054,6 +1055,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index cb83e0fd41..c96b823ce0 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -902,6 +902,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -934,6 +935,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1498,19 +1500,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/rt/instanceof.release.wat b/tests/compiler/rt/instanceof.release.wat index 376715d693..99bb1f1be4 100644 --- a/tests/compiler/rt/instanceof.release.wat +++ b/tests/compiler/rt/instanceof.release.wat @@ -927,6 +927,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -959,6 +960,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1074,13 +1076,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -2216,19 +2218,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/rt/runtime-incremental-export.release.wat b/tests/compiler/rt/runtime-incremental-export.release.wat index 5e8a23b58b..583f044a69 100644 --- a/tests/compiler/rt/runtime-incremental-export.release.wat +++ b/tests/compiler/rt/runtime-incremental-export.release.wat @@ -1030,6 +1030,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1062,6 +1063,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/rt/runtime-minimal-export.release.wat b/tests/compiler/rt/runtime-minimal-export.release.wat index ed4afb8117..5e71ab1e11 100644 --- a/tests/compiler/rt/runtime-minimal-export.release.wat +++ b/tests/compiler/rt/runtime-minimal-export.release.wat @@ -1278,6 +1278,7 @@ i32.load offset=4 i32.const -4 i32.and + local.set $1 local.get $0 i32.const 1484 i32.lt_u @@ -1311,6 +1312,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $6 local.get $0 i32.const 4 i32.sub @@ -1343,10 +1345,12 @@ i32.const 1 i32.or i32.store + local.get $6 local.get $4 call $~lib/rt/tlsf/insertBlock end end + local.get $1 local.set $0 br $while-continue|2 end diff --git a/tests/compiler/simd.release.wat b/tests/compiler/simd.release.wat index c2edfbc789..cf6fa39352 100644 --- a/tests/compiler/simd.release.wat +++ b/tests/compiler/simd.release.wat @@ -844,6 +844,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -876,6 +877,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -1456,13 +1458,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end diff --git a/tests/compiler/std-wasi/console.release.wat b/tests/compiler/std-wasi/console.release.wat index 5da6b38550..23da33243a 100644 --- a/tests/compiler/std-wasi/console.release.wat +++ b/tests/compiler/std-wasi/console.release.wat @@ -2047,6 +2047,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -2079,6 +2080,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -2172,6 +2174,7 @@ return end local.get $1 + local.set $2 local.get $1 local.get $1 i32.const 20 @@ -2260,6 +2263,7 @@ local.set $1 i32.const 3 global.set $~argumentsLength + local.get $2 local.get $5 local.get $1 call $~lib/string/String.UTF8.encodeUnsafe@varargs @@ -3328,7 +3332,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 6000 - local.set $1 + local.set $2 br $__inlined_func$~lib/util/number/utoa64 end local.get $0 @@ -3338,47 +3342,47 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.wrap_i64 - local.tee $2 + local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $1 i32.const 100000000 i32.ge_u i32.add @@ -3389,10 +3393,10 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store - local.get $1 local.get $2 + local.get $1 local.get $3 call $~lib/util/number/utoa32_dec_lut else @@ -3447,23 +3451,23 @@ i32.add end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store loop $while-continue|0 local.get $0 i64.const 100000000 i64.ge_u if - local.get $1 local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.add @@ -3499,11 +3503,11 @@ i64.shl i64.or i64.store - local.get $1 local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.add @@ -3533,10 +3537,10 @@ br $while-continue|0 end end - local.get $1 + local.get $2 local.get $0 i32.wrap_i64 - local.get $2 + local.get $1 call $~lib/util/number/utoa32_dec_lut end global.get $~lib/memory/__stack_pointer @@ -3544,7 +3548,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $1 + local.get $2 ) (func $~lib/rt/__visit_members (param $0 i32) (local $1 i32) @@ -3587,7 +3591,7 @@ i32.mul local.get $0 i32.load offset=8 - local.tee $2 + local.tee $1 local.tee $0 i32.add local.set $3 @@ -3604,9 +3608,9 @@ if local.get $0 i32.load - local.tee $1 + local.tee $2 if - local.get $1 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__visit end end @@ -3617,9 +3621,9 @@ br $while-continue|0 end end - local.get $2 + local.get $1 if - local.get $2 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__visit end return diff --git a/tests/compiler/std-wasi/crypto.release.wat b/tests/compiler/std-wasi/crypto.release.wat index 65bd1f9059..10272b58d2 100644 --- a/tests/compiler/std-wasi/crypto.release.wat +++ b/tests/compiler/std-wasi/crypto.release.wat @@ -1454,6 +1454,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -1486,6 +1487,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -3167,6 +3169,7 @@ return end local.get $0 + local.set $1 local.get $0 local.get $0 i32.const 20 @@ -3255,6 +3258,7 @@ local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $4 local.get $0 call $~lib/string/String.UTF8.encodeUnsafe@varargs @@ -3374,10 +3378,12 @@ i32.store local.get $0 call $~lib/typedarray/Uint8Array#join + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/console/console.log (param $0 i32) global.get $~lib/memory/__stack_pointer @@ -3789,32 +3795,31 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $1 i32.const 0 i32.store i32.const 0 local.get $0 - local.tee $1 i32.load offset=8 - local.tee $0 - local.get $0 + local.tee $3 + local.get $3 i32.const 0 i32.gt_s select local.set $2 - local.get $4 + local.get $3 + local.get $2 + i32.sub + local.tee $3 + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select + local.set $3 + local.get $1 block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) - local.get $0 - local.get $2 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $3 - local.get $4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3824,14 +3829,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer local.tee $5 @@ -3845,23 +3850,23 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store end - local.get $0 + local.get $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 0 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 local.get $3 @@ -3881,19 +3886,19 @@ call $~lib/rt/itcms/__new local.tee $4 i32.store offset=4 - local.get $0 + local.get $1 local.get $4 i32.store local.get $4 if - local.get $0 + local.get $1 local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 local.get $4 i32.store offset=4 - local.get $0 + local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer @@ -3901,23 +3906,23 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 br $__inlined_func$~lib/typedarray/Uint8Array#constructor end br $folding-inner1 end - local.tee $0 + local.tee $1 i32.store - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 local.get $2 i32.add local.get $3 @@ -3926,7 +3931,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 return end i32.const 23312 diff --git a/tests/compiler/std-wasi/process.release.wat b/tests/compiler/std-wasi/process.release.wat index b67d9c41f6..51011012f1 100644 --- a/tests/compiler/std-wasi/process.release.wat +++ b/tests/compiler/std-wasi/process.release.wat @@ -2038,6 +2038,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -2070,6 +2071,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -2163,6 +2165,7 @@ return end local.get $0 + local.set $1 local.get $0 local.get $0 i32.const 20 @@ -2251,6 +2254,7 @@ local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $4 local.get $0 call $~lib/string/String.UTF8.encodeUnsafe@varargs @@ -3975,27 +3979,27 @@ end i32.const 1088 i32.load - local.tee $4 + local.tee $5 i32.const 2 i32.shl local.tee $3 i32.const 1092 i32.load i32.add - local.set $5 + local.set $6 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.get $5 + local.get $6 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $6 + local.tee $7 local.get $3 - local.get $6 + local.get $7 i32.add call $~lib/bindings/wasi_snapshot_preview1/args_get local.tee $3 @@ -4011,33 +4015,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 call $~lib/array/Array<~lib/string/String>#constructor - local.tee $7 + local.tee $3 i32.store loop $for-loop|0 local.get $0 - local.get $4 + local.get $5 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $7 local.get $0 i32.const 2 i32.shl i32.add i32.load - local.tee $3 - local.get $3 - local.get $5 - i32.add + local.tee $4 + local.get $4 local.get $6 + i32.add + local.get $7 i32.sub call $~lib/string/String.UTF8.decodeUnsafe - local.tee $8 + local.tee $4 i32.store offset=4 local.get $0 - local.get $7 + local.get $3 i32.load offset=12 i32.ge_u if @@ -4052,20 +4056,20 @@ call $~lib/wasi/index/abort unreachable end - local.get $7 + local.get $3 local.get $0 i32.const 1 i32.add - local.tee $3 + local.tee $8 i32.const 1 call $~lib/array/ensureCapacity - local.get $7 local.get $3 + local.get $8 i32.store offset=12 end - local.get $7 + local.get $3 local.get $0 - local.get $8 + local.get $4 call $~lib/array/Array<~lib/string/String>#__uset local.get $0 i32.const 1 @@ -4074,13 +4078,13 @@ br $for-loop|0 end end - local.get $6 + local.get $7 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $3 global.set $~lib/process/process.argv global.get $~lib/process/process.argv global.set $std-wasi/process/argv @@ -4302,23 +4306,23 @@ call $~lib/wasi/index/abort unreachable end - block $__inlined_func$~lib/util/number/itoa64 (result i32) - i32.const 1088 - i64.load - i64.const 1000000 - i64.div_u - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7404 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i32.const 1088 + i64.load + i64.const 1000000 + i64.div_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7404 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/itoa64 local.get $1 i64.eqz if @@ -4327,6 +4331,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 5696 + local.set $0 br $__inlined_func$~lib/util/number/itoa64 end i64.const 0 @@ -4487,9 +4492,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -4550,46 +4553,47 @@ local.get $1 i32.wrap_i64 local.tee $2 + local.tee $0 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $0 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $0 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $0 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $0 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $0 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $0 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $0 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $0 i32.const 100000000 i32.ge_u i32.add @@ -5035,10 +5039,12 @@ local.get $2 i32.sub call $~lib/rt/itcms/__renew + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array-access.release.wat b/tests/compiler/std/array-access.release.wat index 5d8f11cce1..5238741786 100644 --- a/tests/compiler/std/array-access.release.wat +++ b/tests/compiler/std/array-access.release.wat @@ -222,6 +222,7 @@ local.get $0 i32.load offset=4 i32.load offset=4 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -230,6 +231,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 17712 @@ -278,6 +280,7 @@ i32.load offset=16 i32.const 1 i32.shr_u + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -286,6 +289,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 17712 @@ -333,6 +337,7 @@ i32.store offset=4 local.get $0 call $~lib/string/String#startsWith + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -341,6 +346,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 17712 @@ -396,6 +402,7 @@ i32.load offset=16 i32.const 1 i32.shr_u + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -404,6 +411,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 17712 @@ -462,6 +470,7 @@ i32.store offset=4 local.get $0 call $~lib/string/String#startsWith + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -470,6 +479,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 17712 diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index d7487ded79..759ed6bb88 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -1110,6 +1110,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1142,6 +1143,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 329733f97c..2844f9352d 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -1457,6 +1457,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -1489,6 +1490,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -2733,9 +2735,11 @@ i32.shl i32.add i32.load + local.set $2 local.get $0 local.get $1 i32.store offset=12 + local.get $2 ) (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 @@ -3764,6 +3768,7 @@ i32.shl i32.add f32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -3773,8 +3778,11 @@ i32.shl i32.add f32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f32_f32_=>_i32) @@ -3793,10 +3801,14 @@ i32.add local.tee $6 f32.load offset=4 + local.set $5 local.get $6 f32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f32_f32_=>_i32) @@ -3864,10 +3876,14 @@ i32.add local.tee $1 f32.load offset=4 + local.set $5 local.get $1 f32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f32_f32_=>_i32) @@ -4602,6 +4618,7 @@ i32.shl i32.add f64.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -4611,8 +4628,11 @@ i32.shl i32.add f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) @@ -4631,10 +4651,14 @@ i32.add local.tee $6 f64.load offset=8 + local.set $5 local.get $6 f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) @@ -4702,10 +4726,14 @@ i32.add local.tee $1 f64.load offset=8 + local.set $5 local.get $1 f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) @@ -5460,6 +5488,7 @@ i32.shl i32.add i32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -5469,8 +5498,11 @@ i32.shl i32.add i32.load + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -5489,10 +5521,14 @@ i32.add local.tee $5 i32.load offset=4 + local.set $6 local.get $5 i32.load + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -5560,10 +5596,14 @@ i32.add local.tee $1 i32.load offset=4 + local.set $5 local.get $1 i32.load + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -6268,6 +6308,7 @@ i32.shl i32.add i32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -6277,8 +6318,11 @@ i32.shl i32.add i32.load + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -6297,10 +6341,14 @@ i32.add local.tee $5 i32.load offset=4 + local.set $6 local.get $5 i32.load + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -6368,10 +6416,14 @@ i32.add local.tee $1 i32.load offset=4 + local.set $5 local.get $1 i32.load + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -8737,26 +8789,25 @@ (local $7 i64) (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i64) - (local $13 i64) local.get $2 local.get $1 i64.sub - local.set $12 + local.set $11 i64.const 1 i32.const 0 local.get $3 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $1 i64.shl - local.tee $13 + local.tee $12 i64.const 1 i64.sub - local.tee $11 + local.tee $10 local.get $2 i64.and local.set $7 @@ -8810,9 +8861,9 @@ i32.add end end - local.set $9 + local.set $8 loop $while-continue|0 - local.get $9 + local.get $8 i32.const 0 i32.gt_s if @@ -8828,7 +8879,7 @@ block $case2|1 block $case1|1 block $case0|1 - local.get $9 + local.get $8 i32.const 1 i32.sub br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 @@ -8936,13 +8987,8 @@ local.get $6 i32.or if - local.get $5 - local.tee $8 - i32.const 1 - i32.add - local.set $5 local.get $0 - local.get $8 + local.get $5 i32.const 1 i32.shl i32.add @@ -8952,33 +8998,37 @@ i32.const 48 i32.add i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 + local.set $8 + local.get $4 local.get $3 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 i64.add local.tee $1 - local.get $4 - i64.le_u + i64.ge_u if global.get $~lib/util/number/_K - local.get $9 + local.get $8 i32.add global.set $~lib/util/number/_K - local.get $9 + local.get $8 i32.const 2 i32.shl i32.const 13296 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $2 @@ -8991,10 +9041,10 @@ i32.add local.tee $0 i32.load16_u - local.set $9 + local.set $8 loop $while-continue|3 local.get $1 - local.get $12 + local.get $11 i64.lt_u local.get $4 local.get $1 @@ -9003,28 +9053,28 @@ i64.ge_u i32.and if (result i32) - local.get $12 - local.get $1 - i64.sub + local.get $11 local.get $1 local.get $2 i64.add local.tee $7 - local.get $12 - i64.sub i64.gt_u + local.get $11 + local.get $1 + i64.sub local.get $7 - local.get $12 - i64.lt_u + local.get $11 + i64.sub + i64.gt_u i32.or else i32.const 0 end if - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 + local.set $8 local.get $1 local.get $2 i64.add @@ -9033,7 +9083,7 @@ end end local.get $0 - local.get $9 + local.get $8 i32.store16 local.get $5 return @@ -9041,7 +9091,7 @@ br $while-continue|0 end end - loop $while-continue|4 (result i32) + loop $while-continue|4 local.get $4 i64.const 10 i64.mul @@ -9050,7 +9100,7 @@ i64.const 10 i64.mul local.tee $1 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $2 @@ -9060,13 +9110,8 @@ i64.const 0 i64.ne if - local.get $5 - local.tee $3 - i32.const 1 - i32.add - local.set $5 local.get $0 - local.get $3 + local.get $5 i32.const 1 i32.shl i32.add @@ -9077,90 +9122,94 @@ i32.const 48 i32.add i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 - local.get $4 + local.set $8 local.get $1 - local.get $11 + local.get $10 i64.and local.tee $7 - i64.le_u + local.get $4 + i64.ge_u br_if $while-continue|4 - global.get $~lib/util/number/_K - local.get $9 - i32.add - global.set $~lib/util/number/_K - local.get $7 - local.set $1 + end + global.get $~lib/util/number/_K + local.get $8 + i32.add + global.set $~lib/util/number/_K + local.get $7 + local.set $1 + local.get $11 + i32.const 0 + local.get $8 + i32.sub + i32.const 2 + i32.shl + i32.const 13296 + i32.add + i64.load32_u + i64.mul + local.set $2 + local.get $0 + local.get $5 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $8 + loop $while-continue|6 + local.get $1 + local.get $2 + i64.lt_u + local.get $4 + local.get $1 + i64.sub local.get $12 - i32.const 0 - local.get $9 - i32.sub - i32.const 2 - i32.shl - i32.const 13296 - i32.add - i64.load32_u - i64.mul - local.set $2 - local.get $0 - local.get $5 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $9 - loop $while-continue|6 + i64.ge_u + i32.and + if (result i32) + local.get $2 local.get $1 + local.get $12 + i64.add + local.tee $7 + i64.gt_u local.get $2 - i64.lt_u - local.get $4 local.get $1 i64.sub - local.get $13 - i64.ge_u - i32.and - if (result i32) - local.get $2 - local.get $1 - i64.sub - local.get $1 - local.get $13 - i64.add - local.tee $7 - local.get $2 - i64.sub - i64.gt_u - local.get $2 - local.get $7 - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $1 - local.get $13 - i64.add - local.set $1 - br $while-continue|6 - end + local.get $7 + local.get $2 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $8 + i32.const 1 + i32.sub + local.set $8 + local.get $1 + local.get $12 + i64.add + local.set $1 + br $while-continue|6 end - local.get $0 - local.get $9 - i32.store16 - local.get $5 end + local.get $0 + local.get $8 + i32.store16 + local.get $5 ) (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -10035,6 +10084,7 @@ br $for-loop|0 end end + local.get $7 local.get $1 local.get $0 i32.const 1 @@ -10050,8 +10100,7 @@ local.get $0 i32.add local.tee $0 - local.get $7 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -11021,6 +11070,7 @@ br $for-loop|0 end end + local.get $5 local.get $1 local.get $0 i32.const 1 @@ -11036,8 +11086,7 @@ local.get $0 i32.add local.tee $0 - local.get $5 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -11220,354 +11269,6 @@ local.get $3 i32.add ) - (func $~lib/array/Array#join (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load offset=4 - local.set $5 - local.get $0 - i32.load offset=12 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16268 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9696 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - block $__inlined_func$~lib/util/number/itoa64 (result i32) - local.get $5 - i64.load - i64.extend32_s - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16268 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 10288 - br $__inlined_func$~lib/util/number/itoa64 - end - i64.const 0 - local.get $2 - i64.sub - local.get $2 - local.get $2 - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.const 1 - i32.shl - local.tee $1 - select - local.tee $2 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.wrap_i64 - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $4 - i32.const 1 - i32.shl - local.get $1 - i32.add - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $1 - i32.add - local.get $3 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $2 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $2 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $2 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $2 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $2 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $2 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $2 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $3 - i32.const 1 - i32.shl - local.get $1 - i32.add - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $1 - i32.add - local.get $2 - local.get $3 - call $~lib/util/number/utoa64_dec_lut - end - local.get $1 - if - local.get $0 - i32.const 45 - i32.store16 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9980 - i32.load - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 21 - i32.add - local.get $6 - i32.mul - i32.const 21 - i32.add - local.tee $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.set $0 - local.get $7 - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 9984 - local.get $7 - i32.const 1 - i32.shl - memory.copy - local.get $0 - local.get $7 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $0 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 - end - local.get $0 - return - end - i32.const 32672 - i32.const 32720 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 @@ -12318,13 +12019,17 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 + local.set $7 + local.get $0 i32.const 8160 i32.store offset=4 call $~lib/math/NativeMath.random + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8160 i32.store offset=8 + local.get $6 i32.const 8156 i32.load i32.const 1 @@ -12455,10 +12160,12 @@ local.get $0 i32.const 9984 call $~lib/array/Array#join + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) @@ -12592,6 +12299,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -12605,8 +12313,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -12669,10 +12376,12 @@ i32.load offset=12 i32.const 9984 call $~lib/util/string/joinStringArray + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) @@ -12806,6 +12515,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -12819,8 +12529,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -12880,10 +12589,12 @@ local.get $0 i32.const 9984 call $~lib/array/Array#join + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) (local $1 i32) @@ -12994,12 +12705,14 @@ local.get $6 if global.get $~lib/memory/__stack_pointer + local.set $2 local.get $6 call $~lib/array/Array#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=8 + local.get $2 local.get $0 local.get $6 call $~lib/string/String.__concat @@ -13034,12 +12747,14 @@ local.get $1 if global.get $~lib/memory/__stack_pointer + local.set $2 local.get $1 call $~lib/array/Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 + local.get $2 local.get $0 local.get $1 call $~lib/string/String.__concat @@ -15371,6 +15086,7 @@ i32.load offset=4 local.tee $9 i32.load + local.set $10 local.get $9 local.get $9 i32.const 4 @@ -15391,6 +15107,7 @@ local.get $0 local.get $8 i32.store offset=12 + local.get $10 global.set $std/array/i global.get $std/array/i i32.const 41 @@ -15998,6 +15715,7 @@ i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 4 i32.const 0 i32.const 6 @@ -16007,6 +15725,7 @@ global.get $~lib/memory/__stack_pointer local.get $8 i32.store + local.get $0 local.get $8 call $~lib/array/Array#reverse local.tee $0 @@ -16045,6 +15764,7 @@ end end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 8 i32.const 0 i32.const 6 @@ -16054,6 +15774,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store + local.get $0 local.get $1 call $~lib/array/Array#reverse local.tee $1 @@ -16094,6 +15815,7 @@ end end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 17 i32.const 0 i32.const 6 @@ -16103,6 +15825,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store + local.get $0 local.get $1 call $~lib/array/Array#reverse local.tee $0 @@ -16141,6 +15864,7 @@ end end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 7 i32.const 1 i32.const 10 @@ -16150,6 +15874,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store + local.get $0 local.get $1 call $~lib/array/Array#reverse local.tee $1 @@ -16190,6 +15915,7 @@ end end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 8 i32.const 1 i32.const 10 @@ -16199,6 +15925,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store + local.get $0 local.get $1 call $~lib/array/Array#reverse local.tee $0 @@ -16239,6 +15966,7 @@ end end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 9 i32.const 1 i32.const 10 @@ -16248,6 +15976,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store + local.get $0 local.get $1 call $~lib/array/Array#reverse local.tee $0 @@ -19196,6 +18925,7 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19283,6 +19013,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $10 i32.store offset=12 local.get $10 @@ -19440,8 +19171,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 6608 @@ -19502,8 +19235,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 6640 @@ -19566,8 +19301,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 6672 @@ -19630,8 +19367,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 6704 @@ -19710,8 +19449,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 6736 @@ -19801,8 +19542,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 6768 @@ -19891,8 +19634,10 @@ i32.shl i32.add i32.load + local.set $3 i32.const 3 global.set $~argumentsLength + local.get $3 local.get $0 local.get $1 i32.const 6848 @@ -19941,8 +19686,10 @@ i32.shl i32.add i32.load + local.set $3 i32.const 3 global.set $~argumentsLength + local.get $3 local.get $0 local.get $1 i32.const 6880 @@ -19993,8 +19740,10 @@ i32.shl i32.add i32.load + local.set $3 i32.const 3 global.set $~argumentsLength + local.get $3 local.get $0 local.get $1 i32.const 6912 @@ -20045,8 +19794,10 @@ i32.shl i32.add i32.load + local.set $3 i32.const 3 global.set $~argumentsLength + local.get $3 local.get $0 local.get $1 i32.const 6944 @@ -20884,8 +20635,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 7296 @@ -20943,8 +20696,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 7328 @@ -21018,8 +20773,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 7360 @@ -21104,8 +20861,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 7392 @@ -21190,8 +20949,10 @@ i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $0 local.get $1 i32.const 7424 @@ -21270,6 +21031,7 @@ i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer + local.set $1 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $3 @@ -21348,6 +21110,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 local.get $9 i32.store offset=4 local.get $9 @@ -21365,10 +21128,12 @@ local.get $9 i32.const 0 call $~lib/array/Array#__get + local.set $7 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 i32.store + local.get $7 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -23883,6 +23648,7 @@ i32.const 9472 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -23990,6 +23756,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 local.get $3 i32.store offset=156 global.get $~lib/memory/__stack_pointer @@ -23999,6 +23766,7 @@ i32.const 9504 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 0 local.set $3 global.get $~lib/memory/__stack_pointer @@ -24125,6 +23893,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $4 i32.store offset=156 global.get $~lib/memory/__stack_pointer @@ -25050,40 +24819,235 @@ call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 0 - i32.const 36 - i32.const 14080 - call $~lib/rt/__newArray - local.set $0 + i32.const 3 + i32.const 0 + i32.const 36 + i32.const 14080 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=164 + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 14112 + i32.store offset=8 + local.get $0 + i32.const 14112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1217 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 1 + i32.const 10 + i32.const 14160 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store offset=164 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16268 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 9984 + i32.store + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16268 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $0 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9696 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + local.get $4 + i32.eqz + if + local.get $3 + i32.load16_u + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 9980 + i32.load + i32.const 1 + i32.shr_u + local.tee $8 + i32.const 10 + i32.add + local.get $4 + i32.mul + i32.const 10 + i32.add + local.tee $9 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + i32.const 0 + local.set $0 + loop $for-loop|054 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $8 + if + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.const 9984 + local.get $8 + i32.const 1 + i32.shl + memory.copy + local.get $0 + local.get $8 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|054 + end + end + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + local.get $9 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=164 - local.get $0 - call $~lib/array/Array#toString - local.set $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14112 + i32.const 14192 i32.store offset=8 local.get $0 - i32.const 14112 + i32.const 14192 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1217 + i32.const 1218 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 + i32.const 2 i32.const 1 - i32.const 10 - i32.const 14160 + i32.const 37 + i32.const 14240 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25124,7 +25088,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/string/joinIntegerArray + block $__inlined_func$~lib/util/string/joinIntegerArray local.get $0 i32.const 1 i32.sub @@ -25138,20 +25102,20 @@ global.set $~lib/memory/__stack_pointer i32.const 9696 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray end local.get $4 i32.eqz if local.get $3 - i32.load16_u - call $~lib/util/number/utoa32 + i32.load16_s + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer i32.const 9980 @@ -25159,11 +25123,11 @@ i32.const 1 i32.shr_u local.tee $8 - i32.const 10 + i32.const 11 i32.add local.get $4 i32.mul - i32.const 10 + i32.const 11 i32.add local.tee $9 i32.const 1 @@ -25174,7 +25138,7 @@ i32.store i32.const 0 local.set $0 - loop $for-loop|054 + loop $for-loop|056 local.get $2 local.get $4 i32.lt_s @@ -25189,8 +25153,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u - call $~lib/util/number/itoa_buffered + i32.load16_s + call $~lib/util/number/itoa_buffered local.get $0 i32.add local.set $0 @@ -25215,7 +25179,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|054 + br $for-loop|056 end end local.get $1 @@ -25228,8 +25192,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u - call $~lib/util/number/itoa_buffered + i32.load16_s + call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 @@ -25244,7 +25208,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25261,24 +25225,104 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14192 + i32.const 14272 i32.store offset=8 local.get $0 - i32.const 14192 + i32.const 14272 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1218 + i32.const 1219 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 2 - i32.const 1 - i32.const 37 - i32.const 14240 + i32.const 2 + i32.const 3 + i32.const 14320 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=164 + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 14352 + i32.store offset=8 + local.get $0 + i32.const 14352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1220 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 3 + i32.const 38 + i32.const 14416 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store offset=164 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16268 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 9984 + i32.store + local.get $0 + call $~lib/array/Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store offset=8 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1221 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 3 + i32.const 39 + i32.const 14544 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25319,7 +25363,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/string/joinIntegerArray + block $__inlined_func$~lib/util/string/joinIntegerArray local.get $0 i32.const 1 i32.sub @@ -25333,20 +25377,203 @@ global.set $~lib/memory/__stack_pointer i32.const 9696 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray end local.get $4 i32.eqz if - local.get $3 - i32.load16_s - call $~lib/util/number/itoa32 + block $__inlined_func$~lib/util/number/itoa64 (result i32) + local.get $3 + i64.load + i64.extend32_s + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16268 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $5 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 10288 + br $__inlined_func$~lib/util/number/itoa64 + end + i64.const 0 + local.get $5 + i64.sub + local.get $5 + local.get $5 + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.const 1 + i32.shl + local.tee $0 + select + local.tee $5 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.wrap_i64 + local.tee $2 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $2 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $2 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $3 + i32.const 1 + i32.shl + local.get $0 + i32.add + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $0 + local.get $1 + i32.add + local.get $2 + local.get $3 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $5 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $5 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $5 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $5 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $5 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $5 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $5 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $5 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $5 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $5 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $2 + i32.const 1 + i32.shl + local.get $0 + i32.add + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $0 + local.get $1 + i32.add + local.get $5 + local.get $2 + call $~lib/util/number/utoa64_dec_lut + end + local.get $0 + if + local.get $1 + i32.const 45 + i32.store16 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + end local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer i32.const 9980 @@ -25354,11 +25581,11 @@ i32.const 1 i32.shr_u local.tee $8 - i32.const 11 + i32.const 21 i32.add local.get $4 i32.mul - i32.const 11 + i32.const 21 i32.add local.tee $9 i32.const 1 @@ -25369,7 +25596,7 @@ i32.store i32.const 0 local.set $0 - loop $for-loop|056 + loop $for-loop|057 local.get $2 local.get $4 i32.lt_s @@ -25381,11 +25608,11 @@ i32.add local.get $3 local.get $2 - i32.const 1 + i32.const 3 i32.shl i32.add - i32.load16_s - call $~lib/util/number/itoa_buffered + i64.load + call $~lib/util/number/itoa_buffered local.get $0 i32.add local.set $0 @@ -25410,7 +25637,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|056 + br $for-loop|057 end end local.get $1 @@ -25420,11 +25647,11 @@ i32.add local.get $3 local.get $4 - i32.const 1 + i32.const 3 i32.shl i32.add - i32.load16_s - call $~lib/util/number/itoa_buffered + i64.load + call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 @@ -25439,7 +25666,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25456,136 +25683,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14272 - i32.store offset=8 - local.get $0 - i32.const 14272 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1219 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 14320 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=164 - local.get $0 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 14352 - i32.store offset=8 - local.get $0 - i32.const 14352 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1220 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 3 - i32.const 38 - i32.const 14416 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=164 - local.get $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16268 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store - local.get $1 - i32.const 9984 - i32.store - local.get $0 - call $~lib/array/Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store offset=8 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1221 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 3 - i32.const 39 - i32.const 14544 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store offset=164 - local.get $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16268 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store - local.get $1 - i32.const 9984 - i32.store - local.get $0 - call $~lib/array/Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 14608 i32.store offset=8 local.get $0 @@ -25777,7 +25874,7 @@ i32.const 1 i32.shr_u local.set $4 - loop $for-loop|057 + loop $for-loop|058 local.get $1 local.get $2 i32.gt_s @@ -25794,12 +25891,14 @@ local.get $8 if global.get $~lib/memory/__stack_pointer + local.set $9 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 i32.store offset=8 + local.get $9 local.get $0 local.get $8 call $~lib/string/String.__concat @@ -25819,7 +25918,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|057 + br $for-loop|058 end end global.get $~lib/memory/__stack_pointer @@ -25834,12 +25933,14 @@ local.get $1 if global.get $~lib/memory/__stack_pointer + local.set $2 local.get $1 call $~lib/array/Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 + local.get $2 local.get $0 local.get $1 call $~lib/string/String.__concat @@ -25991,7 +26092,7 @@ i32.const 1 i32.shr_u local.set $4 - loop $for-loop|058 + loop $for-loop|059 local.get $1 local.get $2 i32.gt_s @@ -26008,12 +26109,14 @@ local.get $8 if global.get $~lib/memory/__stack_pointer + local.set $9 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 i32.store offset=8 + local.get $9 local.get $0 local.get $8 call $~lib/string/String.__concat @@ -26033,7 +26136,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|058 + br $for-loop|059 end end global.get $~lib/memory/__stack_pointer @@ -26048,12 +26151,14 @@ local.get $1 if global.get $~lib/memory/__stack_pointer + local.set $2 local.get $1 call $~lib/array/Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 + local.get $2 local.get $0 local.get $1 call $~lib/string/String.__concat @@ -26213,7 +26318,7 @@ i32.const 1 i32.shr_u local.set $4 - loop $for-loop|059 + loop $for-loop|060 local.get $1 local.get $2 i32.gt_s @@ -26230,12 +26335,14 @@ local.get $8 if global.get $~lib/memory/__stack_pointer + local.set $9 local.get $8 call $~lib/array/Array<~lib/array/Array>#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 i32.store offset=8 + local.get $9 local.get $0 local.get $8 call $~lib/string/String.__concat @@ -26255,7 +26362,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|059 + br $for-loop|060 end end global.get $~lib/memory/__stack_pointer @@ -26270,12 +26377,14 @@ local.get $1 if global.get $~lib/memory/__stack_pointer + local.set $2 local.get $1 call $~lib/array/Array<~lib/array/Array>#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 + local.get $2 local.get $0 local.get $1 call $~lib/string/String.__concat @@ -26450,6 +26559,7 @@ local.get $1 i32.store offset=160 global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -26604,6 +26714,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $10 i32.store offset=140 global.get $~lib/memory/__stack_pointer @@ -26748,6 +26859,7 @@ local.get $1 i32.store offset=152 global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 15888 i32.store offset=164 @@ -26842,6 +26954,7 @@ global.get $~lib/memory/__stack_pointer local.get $4 i32.store + local.get $2 local.get $4 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 @@ -27190,10 +27303,12 @@ i32.load offset=16 i32.const 2 i32.shr_s + local.set $0 local.get $1 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -27569,11 +27684,11 @@ i32.const 2 i32.shl memory.copy + local.get $4 local.get $3 local.get $5 i32.add local.tee $5 - local.get $4 i32.ne if local.get $2 diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 8f68ae2e30..3027a1cec3 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -1027,6 +1027,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1059,6 +1060,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index a690472e16..fac0b6797b 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -1033,6 +1033,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1065,6 +1066,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index f7a4d07a69..5629d101f5 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -1401,6 +1401,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1433,6 +1434,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2219,7 +2221,7 @@ i32.shr_u i32.const 1 i32.shl - local.tee $4 + local.tee $3 select local.tee $0 i32.const 100000 @@ -2270,16 +2272,16 @@ local.tee $1 i32.const 1 i32.shl - local.get $4 + local.get $3 i32.add i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 - local.get $4 + local.get $3 i32.add - local.set $3 + local.set $5 loop $while-continue|0 local.get $0 i32.const 10000 @@ -2288,12 +2290,12 @@ local.get $0 i32.const 10000 i32.rem_u - local.set $5 + local.set $4 local.get $0 i32.const 10000 i32.div_u local.set $0 - local.get $3 + local.get $5 local.get $1 i32.const 4 i32.sub @@ -2301,7 +2303,7 @@ i32.const 1 i32.shl i32.add - local.get $5 + local.get $4 i32.const 100 i32.div_u i32.const 2 @@ -2309,7 +2311,7 @@ i32.const 1884 i32.add i64.load32_u - local.get $5 + local.get $4 i32.const 100 i32.rem_u i32.const 2 @@ -2328,7 +2330,7 @@ i32.const 100 i32.ge_u if - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.sub @@ -2354,7 +2356,7 @@ i32.const 10 i32.ge_u if - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.sub @@ -2369,7 +2371,7 @@ i32.load i32.store else - local.get $3 + local.get $5 local.get $1 i32.const 1 i32.sub @@ -2381,7 +2383,7 @@ i32.add i32.store16 end - local.get $4 + local.get $3 if local.get $2 i32.const 45 @@ -2410,222 +2412,6 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - block $__inlined_func$~lib/util/string/joinStringArray (result i32) - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 2 - i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7852 - i32.lt_s - if - i32.const 24256 - i32.const 24304 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store - local.get $5 - i32.const 0 - i32.store offset=8 - local.get $4 - i32.const 1 - i32.sub - local.tee $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 3456 - br $__inlined_func$~lib/util/string/joinStringArray - end - local.get $5 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load - local.tee $0 - i32.store - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 3456 - local.get $0 - select - br $__inlined_func$~lib/util/string/joinStringArray - end - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - if - local.get $1 - local.get $6 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 3452 - i32.load - i32.const 1 - i32.shr_u - local.tee $1 - local.get $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $6 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 1 - i32.shl - memory.copy - local.get $2 - local.get $6 - i32.add - local.set $2 - end - local.get $1 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 3456 - local.get $1 - i32.const 1 - i32.shl - memory.copy - local.get $1 - local.get $2 - i32.add - local.set $2 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 - i32.store offset=4 - local.get $0 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - memory.copy - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - end - ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $0 @@ -2825,18 +2611,19 @@ (local $7 i32) local.get $0 i32.load offset=12 - local.tee $5 + local.tee $6 i32.const 1 i32.add - local.tee $6 + local.tee $5 + local.tee $2 local.get $0 i32.load offset=8 - local.tee $2 + local.tee $3 i32.const 2 i32.shr_u i32.gt_u if - local.get $6 + local.get $2 i32.const 268435455 i32.gt_u if @@ -2848,28 +2635,28 @@ unreachable end block $__inlined_func$~lib/rt/itcms/__renew - local.get $2 + local.get $3 i32.const 1 i32.shl - local.tee $2 + local.tee $3 i32.const 1073741820 - local.get $2 + local.get $3 i32.const 1073741820 i32.lt_u select - local.tee $2 - local.get $6 + local.tee $3 + local.get $2 i32.const 8 - local.get $6 + local.get $2 i32.const 8 i32.gt_u select i32.const 2 i32.shl - local.tee $3 + local.tee $2 local.get $2 local.get $3 - i32.gt_u + i32.lt_u select local.tee $4 local.get $0 @@ -2932,7 +2719,7 @@ end local.get $0 i32.load offset=4 - local.get $5 + local.get $6 i32.const 2 i32.shl i32.add @@ -2946,7 +2733,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $6 + local.get $5 i32.store offset=12 ) (func $~lib/util/string/strtol (param $0 i32) (result i32) @@ -3754,11 +3541,17 @@ i32.const 3456 i32.store offset=4 i32.const 3616 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 3612 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end i32.const 24256 @@ -3806,6 +3599,7 @@ local.get $2 i32.store global.get $~lib/memory/__stack_pointer + local.set $1 i32.const 48 i32.const 4 call $~lib/rt/itcms/__new @@ -3813,6 +3607,7 @@ i32.const 5072 i32.const 48 memory.copy + local.get $1 local.get $3 i32.store offset=4 local.get $0 @@ -3966,11 +3761,17 @@ i32.const 3456 i32.store offset=32 i32.const 5152 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 5148 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/date/Date#toTimeString (param $0 i32) (result i32) (local $1 i64) @@ -4084,11 +3885,17 @@ i32.const 3456 i32.store offset=16 i32.const 5456 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 5452 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/date/Date#toUTCString (param $0 i32) (result i32) (local $1 i64) @@ -4130,6 +3937,7 @@ local.get $3 i32.store global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 48 i32.const 4 call $~lib/rt/itcms/__new @@ -4137,6 +3945,7 @@ i32.const 6256 i32.const 48 memory.copy + local.get $2 local.get $4 i32.store offset=4 local.get $0 @@ -4371,11 +4180,17 @@ i32.const 3456 i32.store offset=44 i32.const 6368 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 6364 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 48 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/string/String#split (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -4841,6 +4656,7 @@ i32.store offset=16 local.get $1 call $~lib/util/string/strtol + local.set $7 i32.const 1 local.set $1 local.get $0 @@ -4879,6 +4695,7 @@ i32.const 1 end local.set $0 + local.get $7 local.get $1 local.get $0 local.get $3 @@ -4887,10 +4704,12 @@ local.get $5 call $~lib/date/epochMillis call $~lib/date/Date#constructor + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 28 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $start:std/date (local $0 i32) @@ -4934,8 +4753,8 @@ i32.or br_if $folding-inner0 local.get $1 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1152 @@ -4961,8 +4780,8 @@ i32.or br_if $folding-inner0 local.get $1 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1152 @@ -4988,8 +4807,8 @@ i32.or br_if $folding-inner0 local.get $1 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1152 @@ -8258,6 +8077,214 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7852 + i32.lt_s + if + i32.const 24256 + i32.const 24304 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store + local.get $4 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + return + end + local.get $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load + local.tee $0 + i32.store + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 3456 + local.get $0 + select + return + end + loop $for-loop|0 + local.get $1 + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.store offset=4 + local.get $5 + if + local.get $2 + local.get $5 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3452 + i32.load + i32.const 1 + i32.shr_u + local.tee $2 + local.get $4 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy + local.get $1 + local.get $6 + i32.add + local.set $1 + end + local.get $2 + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 3456 + local.get $2 + i32.const 1 + i32.shl + memory.copy + local.get $1 + local.get $2 + i32.add + local.set $1 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 + i32.store offset=4 + local.get $0 + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + memory.copy + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index f65d298f8a..0e48c12555 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -1040,6 +1040,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1072,6 +1073,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2071,23 +2073,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -2888,6 +2890,7 @@ local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2944,6 +2947,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -4266,23 +4270,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -5055,6 +5059,7 @@ local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5111,6 +5116,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -6434,23 +6440,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -7218,6 +7224,7 @@ local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7274,6 +7281,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -8598,23 +8606,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -9391,6 +9399,7 @@ local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9447,6 +9456,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -10601,23 +10611,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -12193,23 +12203,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -12956,6 +12966,7 @@ local.tee $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13012,6 +13023,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $13 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -14969,6 +14981,7 @@ local.tee $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15025,6 +15038,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $11 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -16521,6 +16535,7 @@ local.tee $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16577,6 +16592,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $11 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -17445,23 +17461,23 @@ i32.const 668265263 i32.mul local.tee $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 + local.get $2 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul local.tee $2 + local.get $2 i32.const 16 i32.shr_u - local.get $2 i32.xor i32.and i32.const 2 @@ -18216,6 +18232,7 @@ local.tee $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18272,6 +18289,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $11 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -20215,6 +20233,7 @@ local.tee $5 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20271,6 +20290,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $12 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -21082,23 +21102,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 @@ -21504,23 +21524,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 @@ -21681,23 +21701,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 @@ -21859,23 +21879,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 @@ -22038,23 +22058,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 @@ -22215,23 +22235,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 @@ -22852,23 +22872,23 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $4 local.get $0 diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index fc4fb58d9b..5fcb2843a4 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -369,13 +369,11 @@ i64.and i32.wrap_i64 local.tee $3 - if (result i32) - local.get $3 - else - local.get $3 - i32.const 1 - i32.add - end + local.get $3 + i32.const 1 + i32.add + local.get $3 + select i32.sub call $~lib/math/NativeMath.scalbn local.get $2 @@ -465,13 +463,11 @@ i32.const 255 i32.and local.tee $3 - if (result i32) - local.get $3 - else - local.get $3 - i32.const 1 - i32.add - end + local.get $3 + i32.const 1 + i32.add + local.get $3 + select i32.sub local.tee $3 i32.const 127 @@ -2698,35 +2694,35 @@ f32.copysign ) (func $std/math/test_atanh (param $0 f64) (param $1 f64) (param $2 f64) (result i32) - (local $3 f64) - (local $4 i64) + (local $3 i64) + (local $4 f64) (local $5 f64) local.get $0 f64.abs - local.set $3 + local.set $5 local.get $0 i64.reinterpret_f64 i64.const 52 i64.shr_u i64.const 2047 i64.and - local.tee $4 + local.tee $3 i64.const 1022 i64.lt_u if (result f64) - local.get $4 + local.get $3 i64.const 991 i64.ge_u if (result f64) - local.get $3 - local.get $3 + local.get $5 + local.get $5 f64.add - local.tee $5 + local.tee $4 + local.get $4 local.get $5 - local.get $3 f64.mul f64.const 1 - local.get $3 + local.get $5 f64.sub f64.div f64.add @@ -2734,12 +2730,12 @@ f64.const 0.5 f64.mul else - local.get $3 + local.get $5 end else - local.get $3 + local.get $5 f64.const 1 - local.get $3 + local.get $5 f64.sub f64.div f64.const 2 @@ -3196,78 +3192,77 @@ select ) (func $std/math/test_cbrt (param $0 f64) (param $1 f64) (param $2 f64) (result i32) - (local $3 i32) - (local $4 i64) - (local $5 f64) + (local $3 f64) + (local $4 i32) + (local $5 i64) (local $6 f64) - block $__inlined_func$~lib/math/NativeMath.cbrt (result f64) - local.get $0 - local.get $0 - f64.add + local.get $0 + local.get $0 + f64.add + local.set $3 + block $__inlined_func$~lib/math/NativeMath.cbrt local.get $0 i64.reinterpret_f64 - local.tee $4 + local.tee $5 i64.const 32 i64.shr_u i32.wrap_i64 i32.const 2147483647 i32.and - local.tee $3 + local.tee $4 i32.const 2146435072 i32.ge_u br_if $__inlined_func$~lib/math/NativeMath.cbrt - drop - local.get $3 + local.get $4 i32.const 1048576 i32.lt_u if (result i32) local.get $0 - local.get $0 + local.tee $3 f64.const 18014398509481984 f64.mul i64.reinterpret_f64 - local.tee $4 + local.tee $5 i64.const 32 i64.shr_u i32.wrap_i64 i32.const 2147483647 i32.and - local.tee $3 + local.tee $4 i32.eqz br_if $__inlined_func$~lib/math/NativeMath.cbrt - drop - local.get $3 + local.get $4 i32.const 3 i32.div_u i32.const 696219795 i32.add else - local.get $3 + local.get $4 i32.const 3 i32.div_u i32.const 715094163 i32.add end - local.set $3 - local.get $4 + local.set $4 + local.get $5 i64.const -9223372036854775808 i64.and - local.get $3 + local.get $4 i64.extend_i32_u i64.const 32 i64.shl i64.or f64.reinterpret_i64 - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f64.mul - local.get $5 + local.get $3 local.get $0 f64.div f64.mul local.set $6 local.get $0 - local.get $5 + local.get $3 local.get $6 local.get $6 f64.const 1.6214297201053545 @@ -3296,25 +3291,27 @@ i64.const -1073741824 i64.and f64.reinterpret_i64 - local.tee $5 - local.get $5 + local.tee $3 + local.get $3 f64.mul f64.div local.set $6 - local.get $5 - local.get $5 + local.get $3 + local.get $3 local.get $6 - local.get $5 + local.get $3 f64.sub - local.get $5 - local.get $5 + local.get $3 + local.get $3 f64.add local.get $6 f64.add f64.div f64.mul f64.add + local.set $3 end + local.get $3 local.get $1 local.get $2 call $std/math/check @@ -3331,8 +3328,8 @@ (func $std/math/test_cbrtf (param $0 f32) (param $1 f32) (param $2 f32) (result i32) (local $3 f64) (local $4 i32) - (local $5 i32) - (local $6 f64) + (local $5 f64) + (local $6 i32) (local $7 f64) (local $8 f64) block $__inlined_func$~lib/math/NativeMathf.cbrt (result f32) @@ -3341,20 +3338,20 @@ f32.add local.get $0 i32.reinterpret_f32 - local.tee $5 + local.tee $4 i32.const 2147483647 i32.and - local.tee $4 + local.tee $6 i32.const 2139095040 i32.ge_u br_if $__inlined_func$~lib/math/NativeMathf.cbrt drop - local.get $4 + local.get $6 i32.const 8388608 i32.lt_u if (result i32) local.get $0 - local.get $4 + local.get $6 i32.eqz br_if $__inlined_func$~lib/math/NativeMathf.cbrt drop @@ -3362,7 +3359,7 @@ f32.const 16777216 f32.mul i32.reinterpret_f32 - local.tee $5 + local.tee $4 i32.const 2147483647 i32.and i32.const 3 @@ -3370,13 +3367,13 @@ i32.const 642849266 i32.add else - local.get $4 + local.get $6 i32.const 3 i32.div_u i32.const 709958130 i32.add end - local.get $5 + local.get $4 i32.const -2147483648 i32.and i32.or @@ -3391,14 +3388,14 @@ local.get $3 local.get $0 f64.promote_f32 - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.add local.tee $3 local.get $7 f64.add f64.mul - local.get $6 + local.get $5 local.get $7 f64.add local.get $7 @@ -3415,7 +3412,7 @@ local.get $8 f64.add f64.mul - local.get $6 + local.get $5 local.get $8 f64.add local.get $8 @@ -3509,47 +3506,47 @@ local.tee $6 i64.const 4294967295 i64.and - local.tee $7 + local.set $7 local.get $2 + i64.const 4294967295 + i64.and + local.tee $8 + local.get $6 i64.const 32 i64.shr_u - local.tee $8 + local.tee $9 i64.mul - local.get $7 local.get $2 - i64.const 4294967295 - i64.and + i64.const 32 + i64.shr_u local.tee $2 + local.get $7 + i64.mul + local.get $7 + local.get $8 i64.mul local.tee $7 i64.const 32 i64.shr_u i64.add - local.set $9 - local.get $6 - i64.const 32 - i64.shr_u - local.tee $10 - local.get $2 - i64.mul - local.get $9 + local.tee $8 i64.const 4294967295 i64.and i64.add - local.set $2 - local.get $8 - local.get $10 - i64.mul + local.set $10 + local.get $2 local.get $9 + i64.mul + local.get $8 i64.const 32 i64.shr_u i64.add - local.get $2 + local.get $10 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $10 + local.get $9 local.get $1 i64.const 32 i64.shr_u @@ -3558,7 +3555,7 @@ local.get $7 i64.const 4294967295 i64.and - local.get $2 + local.get $10 i64.const 32 i64.shl i64.add @@ -3584,9 +3581,15 @@ i64.const 63 i64.shr_s local.tee $7 + local.get $2 + i64.const 2 + i64.shl + i64.xor + local.set $2 + local.get $6 + local.get $7 i64.const 1 i64.shr_s - local.get $6 i64.xor local.tee $1 i64.clz @@ -3595,30 +3598,25 @@ local.get $8 i64.shl local.get $2 - i64.const 2 - i64.shl - local.get $7 - i64.xor - local.tee $9 i64.const 64 local.get $8 i64.sub i64.shr_u i64.or - local.tee $10 + local.tee $9 i64.const 4294967295 i64.and - local.set $2 - local.get $10 + local.set $1 + local.get $9 i64.const 32 i64.shr_u - local.tee $1 + local.tee $10 i64.const 560513588 i64.mul - local.get $2 + local.get $1 i64.const 3373259426 i64.mul - local.get $2 + local.get $1 i64.const 560513588 i64.mul local.tee $11 @@ -3629,32 +3627,24 @@ i64.const 4294967295 i64.and i64.add - local.set $2 - local.get $1 + local.set $1 + local.get $10 i64.const 3373259426 i64.mul local.get $12 i64.const 32 i64.shr_u i64.add - local.get $2 + local.get $1 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $11 - i64.const 4294967295 - i64.and - local.get $2 - i64.const 32 - i64.shl - i64.add - local.tee $1 - local.get $10 + local.get $9 f64.convert_i64_u f64.const 3.753184150245214e-04 f64.mul - local.get $9 + local.get $2 local.get $8 i64.shl f64.convert_i64_u @@ -3663,7 +3653,15 @@ f64.add i64.trunc_sat_f64_u local.tee $2 - i64.lt_u + local.get $11 + i64.const 4294967295 + i64.and + local.get $1 + i64.const 32 + i64.shl + i64.add + local.tee $1 + i64.gt_u i64.extend_i32_u global.get $~lib/math/res128_hi local.tee $9 @@ -3888,8 +3886,10 @@ f64.sub end end + local.set $1 local.get $0 global.set $~lib/math/rempio2_y0 + local.get $1 global.set $~lib/math/rempio2_y1 local.get $3 br $~lib/math/rempio2|inlined.0 @@ -5867,8 +5867,10 @@ i64.gt_u if local.get $4 + local.set $6 local.get $5 local.set $4 + local.get $6 local.set $5 end local.get $5 @@ -5942,58 +5944,58 @@ local.get $9 end end - local.set $9 + local.set $11 local.get $1 local.get $1 local.get $1 f64.const 134217729 f64.mul - local.tee $10 + local.tee $9 f64.sub - local.get $10 + local.get $9 f64.add - local.tee $10 + local.tee $9 f64.sub local.set $12 - local.get $9 - local.get $9 - local.get $9 + local.get $11 + local.get $11 + local.get $11 f64.const 134217729 f64.mul - local.tee $11 + local.tee $10 f64.sub - local.get $11 + local.get $10 f64.add - local.tee $11 + local.tee $10 f64.sub local.set $13 local.get $0 + local.get $10 + local.get $10 + f64.mul local.get $11 local.get $11 f64.mul - local.get $9 - local.get $9 - f64.mul local.tee $0 f64.sub - local.get $11 - local.get $11 + local.get $10 + local.get $10 f64.add local.get $13 f64.add local.get $13 f64.mul f64.add - local.get $10 - local.get $10 + local.get $9 + local.get $9 f64.mul local.get $1 local.get $1 f64.mul local.tee $1 f64.sub - local.get $10 - local.get $10 + local.get $9 + local.get $9 f64.add local.get $12 f64.add @@ -6033,8 +6035,10 @@ i32.gt_u if local.get $4 + local.set $6 local.get $5 local.set $4 + local.get $6 local.set $5 end local.get $4 @@ -6329,8 +6333,8 @@ ) (func $std/math/test_log10f (param $0 f32) (param $1 f32) (param $2 f32) (result i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) (local $6 i32) (local $7 f32) (local $8 f32) @@ -6342,7 +6346,7 @@ local.tee $3 i32.const 31 i32.shr_u - local.tee $5 + local.tee $4 local.get $3 i32.const 8388608 i32.lt_u @@ -6364,7 +6368,7 @@ f32.sub f32.const 0 f32.div - local.get $5 + local.get $4 br_if $__inlined_func$~lib/math/NativeMathf.log10 drop i32.const -25 @@ -6409,8 +6413,8 @@ local.tee $0 local.get $0 f32.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 f32.mul local.set $9 local.get $6 @@ -6443,7 +6447,7 @@ f32.sub local.get $0 local.get $8 - local.get $4 + local.get $5 local.get $9 f32.const 0.2849878668785095 f32.mul @@ -7179,6 +7183,7 @@ local.get $4 i32.const -2147483648 i32.and + local.set $5 local.get $8 if (result i32) local.get $4 @@ -7281,6 +7286,7 @@ local.tee $4 i32.sub local.set $3 + local.get $5 local.get $2 local.get $4 i32.shl @@ -9295,8 +9301,10 @@ f64.sub end end + local.set $1 local.get $0 global.set $~lib/math/rempio2_y0 + local.get $1 global.set $~lib/math/rempio2_y1 local.get $3 br $~lib/math/rempio2|inlined.1 @@ -10459,8 +10467,10 @@ f64.sub end end + local.set $1 local.get $0 global.set $~lib/math/rempio2_y0 + local.get $1 global.set $~lib/math/rempio2_y1 br $~lib/math/rempio2|inlined.2 end @@ -11350,8 +11360,10 @@ f64.sub end end + local.set $1 local.get $0 global.set $~lib/math/rempio2_y0 + local.get $1 global.set $~lib/math/rempio2_y1 local.get $3 br $~lib/math/rempio2|inlined.3 @@ -55790,8 +55802,8 @@ i64.const 0 i64.const 1 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 @@ -55803,8 +55815,8 @@ i64.const 0 i64.const 2 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 @@ -55816,8 +55828,8 @@ i64.const 0 i64.const 3 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 @@ -56063,8 +56075,8 @@ i64.const 2 i64.const 64 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 @@ -56115,8 +56127,8 @@ i64.const 2 i64.const -1 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 @@ -56128,8 +56140,8 @@ i64.const 2 i64.const 64 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 @@ -56141,8 +56153,8 @@ i64.const 2 i64.const 128 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const 0 + i64.ne if i32.const 0 i32.const 1056 diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index 3560f7dfd3..05a8a0c0ec 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -889,6 +889,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -921,6 +922,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1450,19 +1452,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index 1e748d4c25..80006220a0 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -948,6 +948,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -980,6 +981,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1095,13 +1097,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -3548,19 +3550,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 44303fe1f2..5abdb45826 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -1033,6 +1033,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1065,6 +1066,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1697,23 +1699,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor local.tee $3 local.get $0 @@ -1788,6 +1790,7 @@ end local.get $0 i32.load offset=8 + local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -1795,6 +1798,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $4 i32.const 3 i32.shl @@ -1955,23 +1959,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -3430,23 +3434,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor local.tee $3 local.get $0 @@ -3521,6 +3525,7 @@ end local.get $0 i32.load offset=8 + local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -3528,6 +3533,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $4 i32.const 3 i32.shl @@ -3598,23 +3604,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -5050,23 +5056,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor local.tee $3 local.get $0 @@ -5141,6 +5147,7 @@ end local.get $0 i32.load offset=8 + local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -5148,6 +5155,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $4 i32.const 3 i32.shl @@ -5219,23 +5227,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -6661,23 +6669,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor local.tee $3 local.get $0 @@ -6752,6 +6760,7 @@ end local.get $0 i32.load offset=8 + local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -6759,6 +6768,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $4 i32.const 3 i32.shl @@ -6831,23 +6841,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -8285,23 +8295,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor local.tee $3 local.get $0 @@ -8374,6 +8384,7 @@ end local.get $0 i32.load offset=8 + local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -8381,6 +8392,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $4 i32.const 3 i32.shl @@ -8451,23 +8463,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -9855,23 +9867,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor local.tee $3 local.get $0 @@ -9944,6 +9956,7 @@ end local.get $0 i32.load offset=8 + local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -9951,6 +9964,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $4 i32.const 3 i32.shl @@ -10021,23 +10035,23 @@ i32.const 668265263 i32.mul local.tee $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 + local.get $1 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 + local.get $1 i32.const 16 i32.shr_u - local.get $1 i32.xor i32.and i32.const 2 @@ -11622,6 +11636,7 @@ end local.get $0 i32.load offset=8 + local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -11629,6 +11644,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $2 local.get $4 i32.const 4 i32.shl @@ -12706,6 +12722,7 @@ end local.get $0 i32.load offset=8 + local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -12713,6 +12730,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $2 local.get $4 i32.const 4 i32.shl @@ -13558,23 +13576,23 @@ i32.const 668265263 i32.mul local.tee $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 + local.get $2 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul local.tee $2 + local.get $2 i32.const 16 i32.shr_u - local.get $2 i32.xor local.tee $3 local.get $0 @@ -13647,6 +13665,7 @@ end local.get $0 i32.load offset=8 + local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -13654,6 +13673,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $2 local.get $4 i32.const 3 i32.shl @@ -13724,23 +13744,23 @@ i32.const 668265263 i32.mul local.tee $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 + local.get $2 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul local.tee $2 + local.get $2 i32.const 16 i32.shr_u - local.get $2 i32.xor i32.and i32.const 2 @@ -15344,6 +15364,7 @@ end local.get $0 i32.load offset=8 + local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -15351,6 +15372,7 @@ i32.const 1 i32.add i32.store offset=16 + local.get $2 local.get $5 i32.const 4 i32.shl diff --git a/tests/compiler/std/static-array.release.wat b/tests/compiler/std/static-array.release.wat index 575dfd4e51..93b293ebc2 100644 --- a/tests/compiler/std/static-array.release.wat +++ b/tests/compiler/std/static-array.release.wat @@ -1072,6 +1072,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1104,6 +1105,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1365,13 +1367,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 - local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl + local.get $1 i32.add global.set $~lib/rt/itcms/threshold end diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index aa746c7fdb..963c8749c5 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -1008,6 +1008,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -1040,6 +1041,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -2174,6 +2176,7 @@ i32.shl i32.add i32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -2183,8 +2186,11 @@ i32.shl i32.add i32.load + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -2203,10 +2209,14 @@ i32.add local.tee $5 i32.load offset=4 + local.set $6 local.get $5 i32.load + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -2274,10 +2284,14 @@ i32.add local.tee $1 i32.load offset=4 + local.set $5 local.get $1 i32.load + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -2934,9 +2948,9 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) + (local $3 f32) (local $4 f64) - (local $5 f32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) @@ -3363,16 +3377,16 @@ unreachable end loop $for-loop|1 - local.get $2 + local.get $1 local.get $0 i32.load offset=12 i32.lt_s if local.get $6 - local.get $2 + local.get $1 call $~lib/staticarray/StaticArray#__get local.get $0 - local.get $2 + local.get $1 call $~lib/array/Array#__get i32.ne if @@ -3383,23 +3397,25 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 0 i32.const 6 i32.const 1824 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $0 + local.get $1 call $~lib/staticarray/StaticArray.fromArray local.tee $0 i32.store offset=4 @@ -3418,16 +3434,19 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 8 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.const 1856 i64.load align=1 i64.store align=1 - local.get $2 + local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 4 i32.const 3 call $~lib/rt/itcms/__new @@ -3438,7 +3457,8 @@ global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=12 - local.get $2 + local.get $0 + local.get $1 local.get $6 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 @@ -3460,6 +3480,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 0 i32.const 3 call $~lib/rt/itcms/__new @@ -3470,7 +3491,8 @@ global.get $~lib/memory/__stack_pointer local.get $6 i32.store offset=12 - local.get $2 + local.get $0 + local.get $1 local.get $6 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 @@ -3481,7 +3503,7 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -3497,17 +3519,19 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 20 i32.const 7 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.const 2128 i32.const 20 memory.copy - local.get $2 + local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 0 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3519,7 +3543,7 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -3535,8 +3559,8 @@ unreachable end loop $for-loop|2 - local.get $1 local.get $2 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -3544,15 +3568,15 @@ i32.shr_u i32.lt_s if - local.get $2 local.get $1 + local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store local.get $0 - local.get $1 + local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $7 global.get $~lib/memory/__stack_pointer @@ -3570,15 +3594,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3603,15 +3627,15 @@ local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer local.tee $6 - local.get $1 + local.get $2 i32.store local.get $6 i32.const 1984 i32.store offset=12 - local.get $1 + local.get $2 i32.const 1984 call $~lib/string/String.__eq i32.eqz @@ -3628,10 +3652,10 @@ call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 local.get $0 i32.store - local.get $1 + local.get $2 i32.const 2016 i32.store offset=12 local.get $0 @@ -3647,13 +3671,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 1 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 i32.store offset=4 - local.get $2 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -3677,7 +3701,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3689,7 +3713,7 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -3705,7 +3729,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 100 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3726,7 +3750,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const -1 i32.const 2147483647 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3753,10 +3777,10 @@ call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 local.get $0 i32.store - local.get $1 + local.get $2 i32.const 2080 i32.store offset=12 local.get $0 @@ -3772,7 +3796,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3793,7 +3817,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3839,6 +3863,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 20 i32.const 7 call $~lib/rt/itcms/__new @@ -3846,9 +3871,11 @@ i32.const 2304 i32.const 20 memory.copy + local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 0 i32.const 8 i32.const 2352 @@ -3857,6 +3884,7 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 + local.get $0 local.get $1 local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> @@ -3880,6 +3908,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 1 i32.const 8 i32.const 2416 @@ -3888,6 +3917,7 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 + local.get $0 local.get $1 local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> @@ -3913,6 +3943,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 20 i32.const 7 call $~lib/rt/itcms/__new @@ -3920,6 +3951,7 @@ i32.const 2448 i32.const 20 memory.copy + local.get $0 local.get $1 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -3998,7 +4030,7 @@ local.get $0 i32.store i32.const 0 - local.set $1 + local.set $2 i32.const 0 local.get $0 i32.const 20 @@ -4006,18 +4038,18 @@ i32.load offset=16 i32.const 3 i32.shr_u - local.tee $2 + local.tee $1 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|0 local.get $1 local.get $2 - i32.lt_s + i32.gt_s if i32.const 1 local.get $0 - local.get $1 + local.get $2 i32.const 3 i32.shl i32.add @@ -4031,10 +4063,10 @@ i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0 end end @@ -4061,7 +4093,7 @@ local.get $0 i32.store i32.const 0 - local.set $1 + local.set $2 i32.const 0 local.get $0 i32.const 20 @@ -4069,35 +4101,35 @@ i32.load offset=16 i32.const 2 i32.shr_u - local.tee $2 + local.tee $1 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|09 local.get $1 local.get $2 - i32.lt_s + i32.gt_s if i32.const 1 local.get $0 - local.get $1 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.tee $5 + local.tee $3 f32.const nan:0x400000 f32.eq - local.get $5 - local.get $5 + local.get $3 + local.get $3 f32.ne i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|09 end end @@ -4113,6 +4145,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new @@ -4120,6 +4153,7 @@ i32.const 2560 i32.const 12 memory.copy + local.get $0 local.get $2 i32.store offset=16 i32.const 0 @@ -4284,11 +4318,7 @@ i32.const 2 i32.shr_u local.tee $1 - i32.const 0 - i32.lt_u - i32.const 1 - local.get $1 - select + i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf34 local.get $1 i32.const 1 @@ -4395,21 +4425,23 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 16 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.const 2592 i32.const 16 memory.copy - local.get $2 + local.get $0 + local.get $6 i32.store offset=16 i32.const 1 global.set $~argumentsLength i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4429,12 +4461,12 @@ i32.lt_s select local.set $1 - loop $while-continue|01 + loop $while-continue|00 local.get $1 i32.const 0 i32.ge_s if - local.get $2 + local.get $6 local.get $1 i32.const 2 i32.shl @@ -4447,7 +4479,7 @@ i32.const 1 i32.sub local.set $1 - br $while-continue|01 + br $while-continue|00 end end i32.const -1 @@ -4466,54 +4498,67 @@ end i32.const 1 global.set $~argumentsLength - i32.const -1 + local.get $6 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf6 - local.get $2 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 + local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $2 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf6 - local.get $0 - local.get $0 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 + local.get $1 + local.get $2 i32.add - local.get $0 + local.get $2 i32.const 1 i32.sub - local.get $0 + local.get $1 + local.get $1 + local.get $2 + i32.ge_s + select + local.get $1 i32.const 0 i32.lt_s select local.set $1 - loop $while-continue|07 + loop $while-continue|06 local.get $1 i32.const 0 i32.ge_s if - local.get $2 + local.get $6 local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load i32.const 7 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf6 - local.get $1 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 + local.get $0 i32.const 1 i32.sub local.set $1 - br $while-continue|07 + br $while-continue|06 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -4525,9 +4570,9 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf8 - local.get $2 + local.set $2 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4535,7 +4580,7 @@ i32.shr_u local.tee $0 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf8 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 local.get $0 i32.const 1 i32.sub @@ -4544,32 +4589,32 @@ i32.const 3 i32.le_u select - local.set $1 + local.set $2 loop $while-continue|044 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $6 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add i32.load i32.const 2 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf8 - local.get $1 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $while-continue|044 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 i32.const 3 i32.ne if @@ -4581,9 +4626,9 @@ unreachable end i32.const -1 - local.set $1 + local.set $2 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf45 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4600,14 +4645,14 @@ i32.const 2 i32.le_u select - local.set $1 + local.set $2 loop $while-continue|048 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $6 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add @@ -4615,17 +4660,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf45 - local.get $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $while-continue|048 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 if i32.const 0 i32.const 1216 @@ -4635,9 +4680,9 @@ unreachable end i32.const -1 - local.set $1 + local.set $2 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf49 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4649,14 +4694,14 @@ local.get $0 i32.const 2 i32.sub - local.set $1 + local.set $2 loop $while-continue|052 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $6 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add @@ -4664,17 +4709,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf49 - local.get $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $while-continue|052 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 if i32.const 0 i32.const 1216 @@ -4684,9 +4729,9 @@ unreachable end i32.const -1 - local.set $1 + local.set $2 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 - local.get $2 + local.get $6 i32.const 20 i32.sub i32.load offset=16 @@ -4698,14 +4743,14 @@ local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $2 loop $while-continue|056 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $6 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add @@ -4713,17 +4758,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf53 - local.get $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $while-continue|056 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 i32.const 3 i32.ne if @@ -4735,6 +4780,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new @@ -4742,6 +4788,7 @@ i32.const 2736 i32.const 12 memory.copy + local.get $0 local.get $1 i32.store offset=16 global.get $~lib/memory/__stack_pointer @@ -4929,6 +4976,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 8 i32.const 3 call $~lib/rt/itcms/__new @@ -4936,6 +4984,7 @@ i32.const 3104 i64.load align=1 i64.store align=1 + local.get $0 local.get $1 i32.store offset=16 i32.const 1 @@ -4995,6 +5044,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new @@ -5002,6 +5052,7 @@ i32.const 3136 i32.const 12 memory.copy + local.get $0 local.get $1 i32.store offset=16 local.get $1 @@ -5099,6 +5150,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 20 i32.const 3 call $~lib/rt/itcms/__new @@ -5106,6 +5158,7 @@ i32.const 3168 i32.const 20 memory.copy + local.get $0 local.get $1 i32.store offset=16 local.get $1 @@ -5120,33 +5173,17 @@ local.tee $0 local.get $0 i32.const 3 - i32.gt_s + i32.gt_u select local.tee $2 i32.const 2 i32.shl i32.add local.get $0 - i32.const 0 - i32.lt_s - if (result i32) - local.get $0 - local.get $0 - i32.add - local.tee $6 - i32.const 0 - local.get $6 - i32.const 0 - i32.gt_s - select - else - local.get $0 - end local.get $2 i32.sub local.tee $2 local.get $0 - local.tee $0 local.get $0 local.get $2 i32.gt_s @@ -5220,14 +5257,16 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $8 i32.const 3216 i32.const 12 memory.copy - local.get $7 + local.get $0 + local.get $8 i32.store offset=16 global.get $~lib/memory/__stack_pointer local.tee $1 @@ -5246,7 +5285,7 @@ i32.const 0 i32.store local.get $0 - local.get $7 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5260,7 +5299,7 @@ i32.store local.get $6 i32.load offset=4 - local.set $8 + local.set $7 i32.const 0 local.set $0 loop $for-loop|042 @@ -5268,22 +5307,22 @@ local.get $2 i32.lt_s if - local.get $7 local.get $0 i32.const 2 i32.shl local.tee $9 + local.get $8 i32.add i32.load local.set $10 i32.const 3 global.set $~argumentsLength - local.get $8 + local.get $7 local.get $9 i32.add local.get $10 local.get $0 - local.get $7 + local.get $8 i32.const 3248 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -5345,8 +5384,8 @@ i32.const 3280 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5355,26 +5394,28 @@ local.set $0 loop $for-loop|070 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3280 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|070 end end @@ -5390,10 +5431,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $9 i32.const 3312 i32.store offset=12 - local.get $8 + local.get $9 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5410,9 +5451,9 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $7 i32.store - local.get $7 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5420,12 +5461,12 @@ i32.shr_u local.set $10 loop $for-loop|045 - local.get $3 + local.get $5 local.get $10 i32.lt_s if - local.get $7 - local.get $3 + local.get $8 + local.get $5 i32.const 2 i32.shl i32.add @@ -5434,19 +5475,19 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $3 - local.get $7 + local.get $5 + local.get $8 i32.const 3312 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $9 + local.get $7 i32.load offset=12 local.tee $12 i32.const 1 i32.add local.tee $2 - local.get $9 + local.get $7 i32.load offset=8 local.tee $0 i32.const 2 @@ -5489,7 +5530,7 @@ i32.gt_u select local.tee $6 - local.get $9 + local.get $7 i32.load local.tee $1 i32.const 20 @@ -5529,25 +5570,25 @@ local.get $1 i32.ne if - local.get $9 + local.get $7 local.get $0 i32.store - local.get $9 + local.get $7 local.get $0 i32.store offset=4 local.get $0 if - local.get $9 + local.get $7 local.get $0 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end end - local.get $9 + local.get $7 local.get $6 i32.store offset=8 end - local.get $9 + local.get $7 i32.load offset=4 local.get $12 i32.const 2 @@ -5555,14 +5596,14 @@ i32.add local.get $11 i32.store - local.get $9 + local.get $7 local.get $2 i32.store offset=12 end - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|045 end end @@ -5570,10 +5611,10 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 local.get $9 + local.get $7 i32.store offset=24 - local.get $9 + local.get $7 i32.load offset=12 i32.const 2 i32.ne @@ -5585,7 +5626,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $7 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -5598,7 +5639,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $7 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -5615,38 +5656,38 @@ i32.const 3344 i32.store offset=12 i32.const 0 - local.set $1 + local.set $2 i32.const 0 local.set $0 - local.get $7 + local.get $8 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.set $2 + local.set $1 loop $for-loop|076 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $7 + local.get $8 local.get $0 i32.const 2 i32.shl i32.add i32.load - local.set $3 + local.set $5 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $3 + local.get $2 + local.get $5 local.get $0 - local.get $7 + local.get $8 i32.const 3344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $2 local.get $0 i32.const 1 i32.add @@ -5654,7 +5695,7 @@ br $for-loop|076 end end - local.get $1 + local.get $2 i32.const 6 i32.ne if @@ -5670,7 +5711,7 @@ i32.store offset=12 i32.const 0 local.set $0 - local.get $7 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5678,33 +5719,33 @@ i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|080 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $1 i32.const 4 global.set $~argumentsLength local.get $0 - local.get $2 local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 - local.get $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|080 end end @@ -5724,8 +5765,8 @@ i32.const 3408 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5734,31 +5775,31 @@ local.set $0 loop $for-loop|084 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3408 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#some drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|084 end end @@ -5778,8 +5819,8 @@ i32.const 3440 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5788,31 +5829,31 @@ local.set $0 loop $for-loop|089 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3440 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#some86 drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|089 end end @@ -5831,8 +5872,8 @@ i32.const 3472 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5841,32 +5882,32 @@ local.set $0 loop $for-loop|093 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3472 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#every drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|093 end end @@ -5886,8 +5927,8 @@ i32.const 3504 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5896,32 +5937,32 @@ local.set $0 loop $for-loop|098 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3504 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#every95 drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|098 end end @@ -5939,8 +5980,8 @@ i32.const 3536 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -5950,34 +5991,36 @@ block $__inlined_func$~lib/staticarray/StaticArray#findIndex loop $for-loop|0102 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3536 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0102 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 i32.const 1 i32.ne if @@ -5992,8 +6035,8 @@ i32.const 3568 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -6003,34 +6046,36 @@ block $__inlined_func$~lib/staticarray/StaticArray#findIndex104 loop $for-loop|0107 local.get $0 - local.get $1 + local.get $2 i32.gt_s if - local.get $7 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength local.get $1 - local.get $7 + local.get $2 + local.get $8 i32.const 3568 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex104 - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0107 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 i32.const -1 i32.ne if @@ -6044,7 +6089,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3600 i32.store offset=12 - local.get $7 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -6059,16 +6104,18 @@ i32.const 0 i32.ge_s if - local.get $7 + local.get $8 local.get $0 i32.const 2 i32.shl i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $7 + local.get $8 i32.const 3600 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -6097,7 +6144,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3632 i32.store offset=12 - local.get $7 + local.get $8 i32.const 20 i32.sub i32.load offset=16 @@ -6112,16 +6159,18 @@ i32.const 0 i32.ge_s if - local.get $7 + local.get $8 local.get $0 i32.const 2 i32.shl i32.add i32.load + local.set $1 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $0 - local.get $7 + local.get $8 i32.const 3632 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -6148,6 +6197,7 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 16 i32.const 3 call $~lib/rt/itcms/__new @@ -6155,6 +6205,7 @@ i32.const 3664 i32.const 16 memory.copy + local.get $0 local.get $1 i32.store offset=28 i32.const 0 @@ -6172,11 +6223,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $1of114 - block $0of115 - block $outOfRange16 + block $1of18 + block $0of19 + block $outOfRange10 global.get $~argumentsLength - br_table $0of115 $1of114 $outOfRange16 + br_table $0of19 $1of18 $outOfRange10 end unreachable end diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index f5757ca98a..b53b40a178 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -1337,6 +1337,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1369,6 +1370,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2663,10 +2665,12 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $start:std/string-casemapping (local $0 i64) @@ -5827,10 +5831,12 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) (local $1 i32) @@ -6298,19 +6304,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index 062dc17baa..190636b9bd 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -924,6 +924,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -956,6 +957,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -3526,60 +3528,57 @@ call $~lib/string/String.UTF8.byteLength i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store + local.get $5 + local.set $4 + local.get $0 local.get $0 - local.tee $3 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.set $5 - local.get $4 - local.set $0 - local.get $3 - local.get $5 i32.const 1 i32.shl i32.add local.set $6 block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe loop $while-continue|0 - local.get $3 + local.get $0 local.get $6 i32.lt_u if - local.get $3 + local.get $0 i32.load16_u - local.tee $5 + local.tee $3 i32.const 128 i32.lt_u if - local.get $0 - local.get $5 + local.get $4 + local.get $3 i32.store8 - local.get $0 + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 local.get $1 - local.get $5 + local.get $3 i32.eqz i32.and br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe else - local.get $5 + local.get $3 i32.const 2048 i32.lt_u if (result i32) - local.get $0 - local.get $5 + local.get $4 + local.get $3 i32.const 6 i32.shr_u i32.const 192 i32.or - local.get $5 + local.get $3 i32.const 63 i32.and i32.const 128 @@ -3588,27 +3587,27 @@ i32.shl i32.or i32.store16 - local.get $0 + local.get $4 i32.const 2 i32.add else - local.get $5 + local.get $3 i32.const 63488 i32.and i32.const 55296 i32.eq if - local.get $5 + local.get $3 i32.const 56320 i32.lt_u - local.get $3 + local.get $0 i32.const 2 i32.add local.get $6 i32.lt_u i32.and if - local.get $3 + local.get $0 i32.load16_u offset=2 local.tee $7 i32.const 64512 @@ -3616,8 +3615,8 @@ i32.const 56320 i32.eq if - local.get $0 - local.get $5 + local.get $4 + local.get $3 i32.const 1023 i32.and i32.const 10 @@ -3628,14 +3627,14 @@ i32.const 1023 i32.and i32.or - local.tee $5 + local.tee $3 i32.const 63 i32.and i32.const 128 i32.or i32.const 24 i32.shl - local.get $5 + local.get $3 i32.const 6 i32.shr_u i32.const 63 @@ -3645,7 +3644,7 @@ i32.const 16 i32.shl i32.or - local.get $5 + local.get $3 i32.const 12 i32.shr_u i32.const 63 @@ -3655,21 +3654,21 @@ i32.const 8 i32.shl i32.or - local.get $5 + local.get $3 i32.const 18 i32.shr_u i32.const 240 i32.or i32.or i32.store - local.get $0 + local.get $4 i32.const 4 i32.add - local.set $0 - local.get $3 + local.set $4 + local.get $0 i32.const 4 i32.add - local.set $3 + local.set $0 br $while-continue|0 end end @@ -3687,16 +3686,16 @@ unreachable end i32.const 65533 - local.set $5 + local.set $3 end end - local.get $0 - local.get $5 + local.get $4 + local.get $3 i32.const 12 i32.shr_u i32.const 224 i32.or - local.get $5 + local.get $3 i32.const 6 i32.shr_u i32.const 63 @@ -3707,29 +3706,29 @@ i32.shl i32.or i32.store16 - local.get $0 - local.get $5 + local.get $4 + local.get $3 i32.const 63 i32.and i32.const 128 i32.or i32.store8 offset=2 - local.get $0 + local.get $4 i32.const 3 i32.add end - local.set $0 + local.set $4 end - local.get $3 + local.get $0 i32.const 2 i32.add - local.set $3 + local.set $0 br $while-continue|0 end end local.get $1 if - local.get $0 + local.get $4 i32.const 0 i32.store8 end @@ -3738,7 +3737,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 ) (func $~lib/string/String.UTF8.decodeUnsafe (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -4105,19 +4104,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 34f0af40e5..6e525b77ce 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -2075,6 +2075,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -2107,6 +2108,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -3232,7 +3234,7 @@ end end i32.const 1 - local.set $4 + local.set $3 local.get $1 i32.const 43 i32.eq @@ -3256,7 +3258,7 @@ i32.const 45 i32.eq select - local.set $4 + local.set $3 local.get $2 i32.const 2 i32.add @@ -3302,7 +3304,7 @@ i32.sub local.set $0 i32.const 2 - local.set $3 + local.set $4 br $break|1 end local.get $2 @@ -3314,7 +3316,7 @@ i32.sub local.set $0 i32.const 8 - local.set $3 + local.set $4 br $break|1 end local.get $2 @@ -3326,18 +3328,18 @@ i32.sub local.set $0 i32.const 16 - local.set $3 + local.set $4 end end - local.get $3 + local.get $4 i32.const 10 - local.get $3 + local.get $4 select - local.set $6 + local.set $4 local.get $0 i32.const 1 i32.sub - local.set $3 + local.set $6 loop $while-continue|2 block $while-break|2 local.get $0 @@ -3347,7 +3349,7 @@ local.set $0 local.get $1 if - local.get $6 + local.get $4 local.get $2 i32.load16_u local.tee $1 @@ -3386,7 +3388,7 @@ i32.le_u if local.get $0 - local.get $3 + local.get $6 i32.eq if i32.const 0 @@ -3394,8 +3396,8 @@ end br $while-break|2 end + local.get $4 local.get $5 - local.get $6 i32.mul local.get $1 i32.add @@ -3408,7 +3410,7 @@ end end end - local.get $4 + local.get $3 local.get $5 i32.mul ) @@ -4241,8 +4243,8 @@ else local.get $6 local.get $4 - i32.eqz - i32.eqz + i32.const 0 + i32.ne i64.extend_i32_u i64.or end @@ -4881,10 +4883,10 @@ (local $6 i32) local.get $0 i32.load offset=12 - local.tee $3 + local.tee $2 i32.const 1 i32.add - local.tee $2 + local.tee $3 local.get $0 i32.load offset=8 local.tee $5 @@ -4892,7 +4894,7 @@ i32.shr_u i32.gt_u if - local.get $2 + local.get $3 i32.const 268435455 i32.gt_u if @@ -4916,9 +4918,9 @@ i32.lt_u select local.tee $5 - local.get $2 + local.get $3 i32.const 8 - local.get $2 + local.get $3 i32.const 8 i32.gt_u select @@ -4955,7 +4957,7 @@ end local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -4969,7 +4971,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $2 + local.get $3 i32.store offset=12 ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) @@ -5249,27 +5251,26 @@ (local $5 i32) (local $6 i32) (local $7 i64) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) - (local $12 i64) local.get $1 local.get $0 i64.sub - local.set $9 + local.set $8 i64.const 1 i32.const 0 local.get $2 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $0 i64.shl - local.tee $11 + local.tee $10 i64.const 1 i64.sub - local.tee $12 + local.tee $11 local.get $1 i64.and local.set $7 @@ -5450,11 +5451,6 @@ i32.or if local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 i32.const 1 i32.shl i32.const 23136 @@ -5465,6 +5461,10 @@ i32.const 48 i32.add i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 end local.get $2 i32.const 1 @@ -5473,7 +5473,7 @@ local.get $3 local.get $5 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 @@ -5491,7 +5491,7 @@ i32.const 24064 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $1 @@ -5505,7 +5505,7 @@ local.set $2 loop $while-continue|3 local.get $0 - local.get $9 + local.get $8 i64.lt_u local.get $3 local.get $0 @@ -5514,19 +5514,19 @@ i64.ge_u i32.and if (result i32) - local.get $9 - local.get $0 - i64.sub + local.get $8 local.get $0 local.get $1 i64.add local.tee $7 - local.get $9 - i64.sub i64.gt_u + local.get $8 + local.get $0 + i64.sub local.get $7 - local.get $9 - i64.lt_u + local.get $8 + i64.sub + i64.gt_u i32.or else i32.const 0 @@ -5561,7 +5561,7 @@ i64.const 10 i64.mul local.tee $0 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $1 @@ -5594,7 +5594,7 @@ i32.sub local.set $2 local.get $0 - local.get $12 + local.get $11 i64.and local.tee $7 local.get $3 @@ -5607,7 +5607,7 @@ global.set $~lib/util/number/_K local.get $7 local.set $0 - local.get $9 + local.get $8 i32.const 0 local.get $2 i32.sub @@ -5633,7 +5633,7 @@ local.get $3 local.get $0 i64.sub - local.get $11 + local.get $10 i64.ge_u i32.and if (result i32) @@ -5641,7 +5641,7 @@ local.get $0 i64.sub local.get $0 - local.get $11 + local.get $10 i64.add local.tee $7 local.get $1 @@ -5660,7 +5660,7 @@ i32.sub local.set $2 local.get $0 - local.get $11 + local.get $10 i64.add local.set $0 br $while-continue|6 @@ -6005,10 +6005,10 @@ (local $3 i64) (local $4 i64) (local $5 i64) - (local $6 i32) + (local $6 i64) (local $7 i32) (local $8 i32) - (local $9 i64) + (local $9 i32) (local $10 i64) (local $11 i64) (local $12 i64) @@ -6034,19 +6034,19 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $6 + local.tee $7 i32.const 1 - local.get $6 + local.get $7 select i32.const 1075 i32.sub - local.tee $7 + local.tee $8 i32.const 1 i32.sub local.get $1 i64.const 4503599627370495 i64.and - local.get $6 + local.get $7 i32.const 0 i32.ne i64.extend_i32_u @@ -6061,11 +6061,11 @@ local.tee $3 i64.clz i32.wrap_i64 - local.tee $6 + local.tee $7 i32.sub - local.set $8 + local.set $9 local.get $3 - local.get $6 + local.get $7 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -6075,25 +6075,25 @@ i64.eq i32.const 1 i32.add - local.tee $6 + local.tee $7 i64.extend_i32_s i64.shl i64.const 1 i64.sub + local.get $8 local.get $7 - local.get $6 i32.sub - local.get $8 + local.get $9 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $8 + local.get $9 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $6 + local.tee $7 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -6102,8 +6102,8 @@ f64.add local.tee $0 i32.trunc_sat_f64_s - local.tee $7 - local.get $7 + local.tee $8 + local.get $8 f64.convert_i32_s local.get $0 f64.ne @@ -6112,18 +6112,18 @@ i32.shr_s i32.const 1 i32.add - local.tee $7 + local.tee $8 i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.sub global.set $~lib/util/number/_K - local.get $8 + local.get $9 i32.const 23192 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $7 + local.get $8 i32.const 1 i32.shl i32.const 23888 @@ -6138,78 +6138,78 @@ i64.const 4294967295 i64.and local.set $4 + global.get $~lib/util/number/_frc_pow + local.tee $10 + i64.const 4294967295 + i64.and + local.tee $11 local.get $1 i64.const 32 i64.shr_u local.tee $1 - global.get $~lib/util/number/_frc_pow - local.tee $9 - i64.const 4294967295 - i64.and - local.tee $10 i64.mul local.get $4 - local.get $10 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 + local.set $5 global.get $~lib/util/number/_frc_plus local.tee $3 i64.const 4294967295 i64.and local.set $12 - local.get $10 local.get $3 i64.const 32 i64.shr_u local.tee $3 + local.get $11 i64.mul - local.get $10 + local.get $11 local.get $12 i64.mul i64.const 32 i64.shr_u i64.add - local.set $5 + local.set $6 global.get $~lib/util/number/_frc_minus local.tee $13 i64.const 4294967295 i64.and local.set $14 - local.get $10 local.get $13 i64.const 32 i64.shr_u local.tee $13 + local.get $11 i64.mul - local.get $10 + local.get $11 local.get $14 i64.mul i64.const 32 i64.shr_u i64.add - local.set $10 + local.set $11 local.get $2 i32.const 1 i32.shl i32.const 23136 i32.add - local.get $9 + local.get $1 + local.get $10 i64.const 32 i64.shr_u - local.tee $9 - local.get $1 + local.tee $1 i64.mul - local.get $11 + local.get $5 i64.const 32 i64.shr_u i64.add + local.get $1 local.get $4 - local.get $9 i64.mul - local.get $11 + local.get $5 i64.const 4294967295 i64.and i64.add @@ -6218,17 +6218,17 @@ i64.const 32 i64.shr_u i64.add + local.get $1 local.get $3 - local.get $9 i64.mul - local.get $5 + local.get $6 i64.const 32 i64.shr_u i64.add - local.get $9 + local.get $1 local.get $12 i64.mul - local.get $5 + local.get $6 i64.const 4294967295 i64.and i64.add @@ -6239,24 +6239,24 @@ i64.add i64.const 1 i64.sub - local.tee $1 - local.get $6 + local.tee $3 + local.get $7 global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub + local.get $3 local.get $1 - local.get $9 local.get $13 i64.mul - local.get $10 + local.get $11 i64.const 32 i64.shr_u i64.add - local.get $9 + local.get $1 local.get $14 i64.mul - local.get $10 + local.get $11 i64.const 4294967295 i64.and i64.add @@ -8168,10 +8168,12 @@ i32.const 1712 i32.const 2147483647 call $~lib/string/String#lastIndexOf + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $3 i32.store + local.get $0 local.get $3 i32.const 20 i32.sub @@ -12730,6 +12732,7 @@ local.tee $3 i32.store offset=36 global.get $~lib/memory/__stack_pointer + local.set $4 i32.const 55296 call $~lib/string/String.fromCodePoint local.set $5 @@ -12742,6 +12745,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + local.get $4 local.get $5 local.get $0 call $~lib/string/String#concat diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 74e6063d0b..3c560bcc75 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -1118,6 +1118,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1150,6 +1151,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2335,10 +2337,12 @@ end local.get $0 i32.load offset=4 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end else @@ -2464,11 +2468,11 @@ global.set $~lib/symbol/idToString end global.get $~lib/symbol/nextId - local.tee $2 + local.tee $3 i32.const 1 i32.add global.set $~lib/symbol/nextId - local.get $2 + local.get $3 i32.eqz if unreachable @@ -2497,7 +2501,7 @@ local.tee $0 if local.get $0 - local.get $2 + local.get $3 i32.store offset=4 else local.get $4 @@ -2566,7 +2570,7 @@ i32.store offset=4 local.get $4 i32.load offset=8 - local.tee $3 + local.tee $2 local.get $4 i32.load offset=16 i32.const 12 @@ -2576,18 +2580,18 @@ local.get $1 local.set $0 loop $while-continue|0 - local.get $3 + local.get $2 local.get $9 i32.ne if - local.get $3 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.load local.tee $10 i32.store offset=8 @@ -2595,7 +2599,7 @@ local.get $10 i32.store local.get $0 - local.get $3 + local.get $2 i32.load offset=4 i32.store offset=4 local.get $0 @@ -2618,10 +2622,10 @@ i32.add local.set $0 end - local.get $3 + local.get $2 i32.const 12 i32.add - local.set $3 + local.set $2 br $while-continue|0 end end @@ -2685,7 +2689,7 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link local.get $0 - local.get $2 + local.get $3 i32.store offset=4 local.get $4 local.get $4 @@ -2731,7 +2735,7 @@ i32.store local.get $4 i32.load - local.get $2 + local.get $3 i32.const -1028477379 i32.mul i32.const 374761397 @@ -2741,23 +2745,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor local.tee $5 local.get $4 @@ -2782,7 +2786,7 @@ else local.get $0 i32.load - local.get $2 + local.get $3 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -2869,7 +2873,7 @@ i32.store offset=4 local.get $4 i32.load offset=8 - local.tee $3 + local.tee $2 local.get $4 i32.load offset=16 i32.const 12 @@ -2879,23 +2883,23 @@ local.get $1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $2 local.get $9 i32.ne if - local.get $3 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.load local.tee $10 i32.store local.get $0 - local.get $3 + local.get $2 i32.load offset=4 i32.store offset=4 local.get $0 @@ -2944,10 +2948,10 @@ i32.add local.set $0 end - local.get $3 + local.get $2 i32.const 12 i32.add - local.set $3 + local.set $2 br $while-continue|00 end end @@ -3004,7 +3008,7 @@ i32.mul i32.add local.tee $0 - local.get $2 + local.get $3 i32.store local.get $0 i32.const 1056 @@ -3044,7 +3048,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 19104 @@ -3162,10 +3166,12 @@ else i32.const 0 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/symbol/_Symbol#toString (param $0 i32) (result i32) (local $1 i32) @@ -3399,10 +3405,12 @@ local.get $0 i32.const 2400 call $~lib/string/String.__concat + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $start:std/symbol (local $0 i32) diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 083a150a99..64abf66688 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -1479,6 +1479,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $0 i32.const 4 i32.sub @@ -1511,6 +1512,7 @@ i32.const 1 i32.or i32.store + local.get $2 local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -2939,6 +2941,7 @@ i32.shl i32.add f64.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -2948,8 +2951,11 @@ i32.shl i32.add f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) @@ -2968,10 +2974,14 @@ i32.add local.tee $6 f64.load offset=8 + local.set $5 local.get $6 f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) @@ -3039,10 +3049,14 @@ i32.add local.tee $1 f64.load offset=8 + local.set $5 local.get $1 f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f64_f64_=>_i32) @@ -3737,6 +3751,7 @@ local.get $0 local.get $2 call $~lib/typedarray/Int8Array#__get + local.set $4 local.get $2 local.get $1 i32.load offset=12 @@ -3749,6 +3764,7 @@ call $~lib/builtins/abort unreachable end + local.get $4 local.get $1 i32.load offset=4 local.get $2 @@ -22465,6 +22481,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -22478,8 +22495,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -22814,6 +22830,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -22827,8 +22844,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -23087,6 +23103,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -23102,8 +23119,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -23325,6 +23341,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -23340,8 +23357,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -23578,6 +23594,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -23593,8 +23610,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -23807,6 +23823,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -23822,8 +23839,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -24846,6 +24862,7 @@ br $for-loop|0 end end + local.get $5 local.get $1 local.get $0 i32.const 1 @@ -24861,8 +24878,7 @@ local.get $0 i32.add local.tee $0 - local.get $5 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -24896,26 +24912,25 @@ (local $7 i64) (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i64) - (local $13 i64) local.get $2 local.get $1 i64.sub - local.set $12 + local.set $11 i64.const 1 i32.const 0 local.get $3 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $1 i64.shl - local.tee $13 + local.tee $12 i64.const 1 i64.sub - local.tee $11 + local.tee $10 local.get $2 i64.and local.set $7 @@ -24969,9 +24984,9 @@ i32.add end end - local.set $9 + local.set $8 loop $while-continue|0 - local.get $9 + local.get $8 i32.const 0 i32.gt_s if @@ -24987,7 +25002,7 @@ block $case2|1 block $case1|1 block $case0|1 - local.get $9 + local.get $8 i32.const 1 i32.sub br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 @@ -25095,13 +25110,8 @@ local.get $6 i32.or if - local.get $5 - local.tee $8 - i32.const 1 - i32.add - local.set $5 local.get $0 - local.get $8 + local.get $5 i32.const 1 i32.shl i32.add @@ -25111,33 +25121,37 @@ i32.const 48 i32.add i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 + local.set $8 + local.get $4 local.get $3 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 i64.add local.tee $1 - local.get $4 - i64.le_u + i64.ge_u if global.get $~lib/util/number/_K - local.get $9 + local.get $8 i32.add global.set $~lib/util/number/_K - local.get $9 + local.get $8 i32.const 2 i32.shl i32.const 10736 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $2 @@ -25150,10 +25164,10 @@ i32.add local.tee $0 i32.load16_u - local.set $9 + local.set $8 loop $while-continue|3 local.get $1 - local.get $12 + local.get $11 i64.lt_u local.get $4 local.get $1 @@ -25162,28 +25176,28 @@ i64.ge_u i32.and if (result i32) - local.get $12 - local.get $1 - i64.sub + local.get $11 local.get $1 local.get $2 i64.add local.tee $7 - local.get $12 - i64.sub i64.gt_u + local.get $11 + local.get $1 + i64.sub local.get $7 - local.get $12 - i64.lt_u + local.get $11 + i64.sub + i64.gt_u i32.or else i32.const 0 end if - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 + local.set $8 local.get $1 local.get $2 i64.add @@ -25192,7 +25206,7 @@ end end local.get $0 - local.get $9 + local.get $8 i32.store16 local.get $5 return @@ -25200,7 +25214,7 @@ br $while-continue|0 end end - loop $while-continue|4 (result i32) + loop $while-continue|4 local.get $4 i64.const 10 i64.mul @@ -25209,7 +25223,7 @@ i64.const 10 i64.mul local.tee $1 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $2 @@ -25219,13 +25233,8 @@ i64.const 0 i64.ne if - local.get $5 - local.tee $3 - i32.const 1 - i32.add - local.set $5 local.get $0 - local.get $3 + local.get $5 i32.const 1 i32.shl i32.add @@ -25236,90 +25245,94 @@ i32.const 48 i32.add i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 - local.get $4 + local.set $8 local.get $1 - local.get $11 + local.get $10 i64.and local.tee $7 - i64.le_u + local.get $4 + i64.ge_u br_if $while-continue|4 - global.get $~lib/util/number/_K - local.get $9 - i32.add - global.set $~lib/util/number/_K - local.get $7 - local.set $1 + end + global.get $~lib/util/number/_K + local.get $8 + i32.add + global.set $~lib/util/number/_K + local.get $7 + local.set $1 + local.get $11 + i32.const 0 + local.get $8 + i32.sub + i32.const 2 + i32.shl + i32.const 10736 + i32.add + i64.load32_u + i64.mul + local.set $2 + local.get $0 + local.get $5 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $8 + loop $while-continue|6 + local.get $1 + local.get $2 + i64.lt_u + local.get $4 + local.get $1 + i64.sub local.get $12 - i32.const 0 - local.get $9 - i32.sub - i32.const 2 - i32.shl - i32.const 10736 - i32.add - i64.load32_u - i64.mul - local.set $2 - local.get $0 - local.get $5 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $9 - loop $while-continue|6 + i64.ge_u + i32.and + if (result i32) + local.get $2 local.get $1 + local.get $12 + i64.add + local.tee $7 + i64.gt_u local.get $2 - i64.lt_u - local.get $4 local.get $1 i64.sub - local.get $13 - i64.ge_u - i32.and - if (result i32) - local.get $2 - local.get $1 - i64.sub - local.get $1 - local.get $13 - i64.add - local.tee $7 - local.get $2 - i64.sub - i64.gt_u - local.get $2 - local.get $7 - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $1 - local.get $13 - i64.add - local.set $1 - br $while-continue|6 - end + local.get $7 + local.get $2 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $8 + i32.const 1 + i32.sub + local.set $8 + local.get $1 + local.get $12 + i64.add + local.set $1 + br $while-continue|6 end - local.get $0 - local.get $9 - i32.store16 - local.get $5 end + local.get $0 + local.get $8 + i32.store16 + local.get $5 ) (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -26128,6 +26141,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -26144,8 +26158,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -26293,6 +26306,7 @@ br $for-loop|0 end end + local.get $6 local.get $1 local.get $0 i32.const 1 @@ -26308,8 +26322,7 @@ local.get $0 i32.add local.tee $0 - local.get $6 - i32.lt_s + i32.gt_s if local.get $1 local.get $0 @@ -27695,6 +27708,7 @@ local.get $1 i32.add i32.load8_s + local.set $5 local.get $1 i32.const 1 i32.add @@ -27702,8 +27716,11 @@ local.get $0 i32.add i32.load8_s + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -27720,10 +27737,14 @@ i32.add local.tee $5 i32.load8_s offset=1 + local.set $6 local.get $5 i32.load8_s + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -27785,10 +27806,14 @@ i32.add local.tee $1 i32.load8_s offset=1 + local.set $5 local.get $1 i32.load8_s + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -28475,6 +28500,7 @@ local.get $1 i32.add i32.load8_u + local.set $5 local.get $1 i32.const 1 i32.add @@ -28482,8 +28508,11 @@ local.get $0 i32.add i32.load8_u + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -28500,10 +28529,14 @@ i32.add local.tee $5 i32.load8_u offset=1 + local.set $6 local.get $5 i32.load8_u + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -28565,10 +28598,14 @@ i32.add local.tee $1 i32.load8_u offset=1 + local.set $5 local.get $1 i32.load8_u + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -29281,6 +29318,7 @@ i32.shl i32.add i32.load16_s + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -29290,8 +29328,11 @@ i32.shl i32.add i32.load16_s + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -29310,10 +29351,14 @@ i32.add local.tee $5 i32.load16_s offset=2 + local.set $6 local.get $5 i32.load16_s + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -29381,10 +29426,14 @@ i32.add local.tee $1 i32.load16_s offset=2 + local.set $5 local.get $1 i32.load16_s + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -30104,6 +30153,7 @@ i32.shl i32.add i32.load16_u + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -30113,8 +30163,11 @@ i32.shl i32.add i32.load16_u + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -30133,10 +30186,14 @@ i32.add local.tee $5 i32.load16_u offset=2 + local.set $6 local.get $5 i32.load16_u + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -30204,10 +30261,14 @@ i32.add local.tee $1 i32.load16_u offset=2 + local.set $5 local.get $1 i32.load16_u + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -30937,6 +30998,7 @@ i32.shl i32.add i32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -30946,8 +31008,11 @@ i32.shl i32.add i32.load + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -30966,10 +31031,14 @@ i32.add local.tee $5 i32.load offset=4 + local.set $6 local.get $5 i32.load + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -31037,10 +31106,14 @@ i32.add local.tee $1 i32.load offset=4 + local.set $5 local.get $1 i32.load + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -31754,6 +31827,7 @@ i32.shl i32.add i32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -31763,8 +31837,11 @@ i32.shl i32.add i32.load + local.set $6 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $6 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -31783,10 +31860,14 @@ i32.add local.tee $5 i32.load offset=4 + local.set $6 local.get $5 i32.load + local.set $5 i32.const 2 global.set $~argumentsLength + local.get $6 + local.get $5 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -31854,10 +31935,14 @@ i32.add local.tee $1 i32.load offset=4 + local.set $5 local.get $1 i32.load + local.set $1 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $1 local.get $3 i32.load call_indirect $0 (type $i32_i32_=>_i32) @@ -32576,6 +32661,7 @@ i32.shl i32.add i64.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -32585,8 +32671,11 @@ i32.shl i32.add i64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $i64_i64_=>_i32) @@ -32605,10 +32694,14 @@ i32.add local.tee $6 i64.load offset=8 + local.set $5 local.get $6 i64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $i64_i64_=>_i32) @@ -32676,10 +32769,14 @@ i32.add local.tee $1 i64.load offset=8 + local.set $5 local.get $1 i64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $i64_i64_=>_i32) @@ -33402,6 +33499,7 @@ i32.shl i32.add i64.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -33411,8 +33509,11 @@ i32.shl i32.add i64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $i64_i64_=>_i32) @@ -33431,10 +33532,14 @@ i32.add local.tee $6 i64.load offset=8 + local.set $5 local.get $6 i64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $i64_i64_=>_i32) @@ -33502,10 +33607,14 @@ i32.add local.tee $1 i64.load offset=8 + local.set $5 local.get $1 i64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $i64_i64_=>_i32) @@ -34228,6 +34337,7 @@ i32.shl i32.add f32.load + local.set $5 local.get $0 local.get $1 i32.const 1 @@ -34237,8 +34347,11 @@ i32.shl i32.add f32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f32_f32_=>_i32) @@ -34257,10 +34370,14 @@ i32.add local.tee $6 f32.load offset=4 + local.set $5 local.get $6 f32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f32_f32_=>_i32) @@ -34328,10 +34445,14 @@ i32.add local.tee $1 f32.load offset=4 + local.set $5 local.get $1 f32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 i32.load call_indirect $0 (type $f32_f32_=>_i32) @@ -34997,6 +35118,7 @@ i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 3952 i32.store offset=4 @@ -35088,6 +35210,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -35219,6 +35342,7 @@ i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 3984 i32.store offset=4 @@ -35310,6 +35434,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -35441,6 +35566,7 @@ i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4016 i32.store offset=4 @@ -35532,6 +35658,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -35663,6 +35790,7 @@ i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4048 i32.store offset=4 @@ -35765,6 +35893,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -35898,6 +36027,7 @@ i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4080 i32.store offset=4 @@ -36000,6 +36130,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -36133,6 +36264,7 @@ i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4112 i32.store offset=4 @@ -36235,6 +36367,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -36368,6 +36501,7 @@ i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store offset=4 @@ -36470,6 +36604,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -36603,6 +36738,7 @@ i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4176 i32.store offset=4 @@ -36705,6 +36841,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -36838,6 +36975,7 @@ i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4208 i32.store offset=4 @@ -36940,241 +37078,244 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - i32.load offset=4 - local.get $6 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 33040 - i32.const 33088 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Float32Array#constructor - local.tee $7 - i32.store - local.get $7 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 5 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store - local.get $7 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $5 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=4 - local.get $7 - i32.load offset=4 - local.set $5 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $3 - i32.const 3 - global.set $~argumentsLength - local.get $3 - local.get $1 - local.get $7 - i32.const 4240 - i32.load - call_indirect $0 (type $f32_i32_i32_=>_i32) - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $3 - f32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $6 - local.get $8 - local.get $0 - i32.const 2 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store - local.get $1 - if - local.get $6 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 - local.get $0 - i32.store offset=8 - local.get $6 - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $6 + i32.store offset=8 + local.get $6 + i32.load offset=4 + local.get $6 + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 33040 + i32.const 33088 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 6 + call $~lib/typedarray/Float32Array#constructor + local.tee $7 + i32.store + local.get $7 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $7 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $7 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $7 + i32.const 3 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $7 + i32.const 5 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4240 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store + local.get $7 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 + local.get $5 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + local.get $7 + i32.load offset=4 + local.set $5 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $3 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $1 + local.get $7 + i32.const 4240 + i32.load + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + local.get $8 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $3 + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + local.get $6 + local.get $8 + local.get $0 + i32.const 2 + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store + local.get $1 + if + local.get $6 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $0 + i32.store offset=8 + local.get $6 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -37308,6 +37449,7 @@ f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4272 i32.store offset=4 @@ -37410,6 +37552,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.store offset=8 local.get $6 @@ -37936,10 +38079,12 @@ i32.store local.get $0 call $~lib/typedarray/Uint8Array#join + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -42529,18 +42674,18 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f32) + (local $4 i64) + (local $5 f32) + (local $6 f64) (local $7 i32) - (local $8 f64) + (local $8 i32) (local $9 i32) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 f64) - (local $14 f32) - (local $15 i64) + (local $12 i64) + (local $13 f32) + (local $14 f64) + (local $15 i32) (local $16 i32) global.get $~lib/memory/__stack_pointer i32.const 32 @@ -42629,21 +42774,21 @@ global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u @@ -42657,9 +42802,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=4 - local.get $2 + local.get $7 i32.load i32.sub if @@ -42670,7 +42815,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 12 i32.ne @@ -42682,7 +42827,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 1 @@ -42695,7 +42840,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 @@ -42708,7 +42853,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -42722,13 +42867,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#subarray - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u @@ -42742,9 +42887,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=4 - local.get $2 + local.get $7 i32.load i32.sub i32.const 4 @@ -42757,7 +42902,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 4 i32.ne @@ -42769,7 +42914,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 2 @@ -42785,48 +42930,48 @@ global.get $~lib/memory/__stack_pointer i32.const 8 call $~lib/typedarray/Float64Array#constructor - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 2 f64.const 7 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 3 f64.const 6 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 4 f64.const 5 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 5 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 6 f64.const 3 call $~lib/typedarray/Float64Array#__set - local.get $2 + local.get $7 i32.const 7 f64.const 8 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.const 2 i32.const 6 call $~lib/typedarray/Float64Array#subarray - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 i32.load offset=8 i32.const 3 i32.shr_u @@ -42840,9 +42985,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=4 - local.get $2 + local.get $7 i32.load i32.sub i32.const 16 @@ -42855,7 +43000,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 32 i32.ne @@ -42869,16 +43014,16 @@ end i32.const 0 global.set $~argumentsLength - local.get $2 + local.get $7 call $~lib/typedarray/Float64Array#sort@varargs drop - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 4 f64.eq if (result i32) - local.get $2 + local.get $7 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 5 @@ -42887,7 +43032,7 @@ i32.const 0 end if (result i32) - local.get $2 + local.get $7 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 6 @@ -42896,7 +43041,7 @@ i32.const 0 end if (result i32) - local.get $2 + local.get $7 i32.const 3 call $~lib/typedarray/Float64Array#__get f64.const 7 @@ -42916,21 +43061,21 @@ global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 i32.const 0 i32.const -32 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $7 i32.const 2 i32.const 256 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get if @@ -42941,7 +43086,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 @@ -42954,7 +43099,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 255 @@ -42994,31 +43139,31 @@ call $~lib/typedarray/Int8Array#__set local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 1 local.get $7 i32.load offset=8 - local.tee $2 - local.get $2 + local.tee $9 + local.get $9 i32.const 1 i32.gt_s select - local.tee $3 + local.tee $10 i32.const 3 - local.get $2 - local.get $2 + local.get $9 + local.get $9 i32.const 3 i32.gt_s select - local.tee $2 + local.tee $9 i32.lt_s if - local.get $3 - local.get $4 + local.get $8 + local.get $10 i32.add i32.const 1 - local.get $2 - local.get $3 + local.get $9 + local.get $10 i32.sub memory.fill end @@ -43027,12 +43172,12 @@ i32.const 15 i32.const 1728 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 local.get $7 - local.get $2 + local.get $8 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43045,25 +43190,25 @@ end local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 local.get $7 i32.load offset=8 - local.tee $3 - local.get $3 + local.tee $9 + local.get $9 i32.const 0 i32.gt_s select - local.tee $2 - local.get $3 + local.tee $10 + local.get $9 i32.lt_s if - local.get $2 - local.get $4 + local.get $8 + local.get $10 i32.add i32.const 0 - local.get $3 - local.get $2 + local.get $9 + local.get $10 i32.sub memory.fill end @@ -43072,12 +43217,12 @@ i32.const 15 i32.const 1808 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 local.get $7 - local.get $2 + local.get $8 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43090,28 +43235,28 @@ end local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 local.get $7 i32.load offset=8 - local.tee $2 - local.get $2 + local.tee $9 + local.get $9 i32.const 0 i32.gt_s select - local.tee $3 - local.get $2 + local.tee $10 + local.get $9 i32.const 3 i32.sub - local.tee $2 + local.tee $9 i32.lt_s if - local.get $3 - local.get $4 + local.get $8 + local.get $10 i32.add i32.const 1 - local.get $2 - local.get $3 + local.get $9 + local.get $10 i32.sub memory.fill end @@ -43120,12 +43265,12 @@ i32.const 15 i32.const 1840 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 local.get $7 - local.get $2 + local.get $8 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43138,22 +43283,22 @@ end local.get $7 i32.load offset=4 - local.set $4 + local.set $8 local.get $7 i32.load offset=8 - local.tee $3 + local.tee $9 i32.const 2 i32.sub - local.tee $2 - local.get $3 + local.tee $10 + local.get $9 i32.lt_s if - local.get $2 - local.get $4 + local.get $8 + local.get $10 i32.add i32.const 2 - local.get $3 - local.get $2 + local.get $9 + local.get $10 i32.sub memory.fill end @@ -43162,12 +43307,12 @@ i32.const 15 i32.const 1872 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 local.get $7 - local.get $2 + local.get $8 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43180,31 +43325,31 @@ end local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 1 local.get $7 i32.load offset=8 - local.tee $2 - local.get $2 + local.tee $9 + local.get $9 i32.const 1 i32.gt_s select - local.tee $3 + local.tee $10 i32.const 0 - local.get $2 - local.get $2 + local.get $9 + local.get $9 i32.const 0 i32.gt_s select - local.tee $2 + local.tee $9 i32.lt_s if - local.get $3 - local.get $4 + local.get $8 + local.get $10 i32.add i32.const 0 - local.get $2 - local.get $3 + local.get $9 + local.get $10 i32.sub memory.fill end @@ -43213,12 +43358,12 @@ i32.const 15 i32.const 1904 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 local.get $7 - local.get $2 + local.get $8 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43234,33 +43379,33 @@ i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray - local.tee $5 + local.tee $8 i32.store offset=8 - local.get $5 + local.get $8 i32.load offset=4 - local.set $4 + local.set $9 i32.const 0 - local.get $5 + local.get $8 i32.load offset=8 - local.tee $3 - local.get $3 + local.tee $10 + local.get $10 i32.const 0 i32.gt_s select - local.tee $2 - local.get $3 + local.tee $11 + local.get $10 i32.lt_s if - local.get $2 - local.get $4 + local.get $9 + local.get $11 i32.add i32.const 0 - local.get $3 - local.get $2 + local.get $10 + local.get $11 i32.sub memory.fill end - local.get $5 + local.get $8 i32.load offset=8 i32.const 3 i32.ne @@ -43272,9 +43417,9 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $8 i32.load offset=4 - local.get $5 + local.get $8 i32.load i32.sub i32.const 1 @@ -43287,7 +43432,7 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $8 i32.load offset=8 i32.const 3 i32.ne @@ -43304,12 +43449,12 @@ i32.const 15 i32.const 1936 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $5 - local.get $2 + local.get $8 + local.get $9 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43325,12 +43470,12 @@ i32.const 15 i32.const 1968 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 local.get $7 - local.get $2 + local.get $8 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -43344,29 +43489,29 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $7 i32.store offset=8 - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 1 i32.const 3 @@ -43376,12 +43521,12 @@ i32.const 16 i32.const 2000 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $4 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43392,7 +43537,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $7 i32.const 0 i32.const 0 i32.const 2147483647 @@ -43402,12 +43547,12 @@ i32.const 16 i32.const 2048 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $4 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43418,7 +43563,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $7 i32.const 1 i32.const 0 i32.const -3 @@ -43428,12 +43573,12 @@ i32.const 16 i32.const 2096 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $4 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43444,7 +43589,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $7 i32.const 2 i32.const -2 i32.const 2147483647 @@ -43454,12 +43599,12 @@ i32.const 16 i32.const 2144 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $4 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43470,7 +43615,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $7 i32.const 0 i32.const 1 i32.const 0 @@ -43480,12 +43625,12 @@ i32.const 16 i32.const 2192 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $4 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43497,18 +43642,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $7 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray - local.tee $3 + local.tee $8 i32.store offset=12 - local.get $3 + local.get $8 i32.const 0 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#fill - local.get $3 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u @@ -43522,9 +43667,9 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $8 i32.load offset=4 - local.get $3 + local.get $8 i32.load i32.sub i32.const 4 @@ -43537,7 +43682,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $8 i32.load offset=8 i32.const 12 i32.ne @@ -43554,12 +43699,12 @@ i32.const 16 i32.const 2240 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $8 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43575,12 +43720,12 @@ i32.const 16 i32.const 2272 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $4 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43594,40 +43739,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.tee $7 i32.store offset=12 - local.get $2 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $7 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $7 i32.const 5 i32.const 6 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.const 1 i32.const 6 call $~lib/typedarray/Int8Array#subarray - local.tee $2 + local.tee $7 i32.store offset=8 - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 2 @@ -43640,7 +43785,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 5 i32.ne @@ -43652,9 +43797,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=4 - local.get $2 + local.get $7 i32.load i32.sub i32.const 1 @@ -43667,7 +43812,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 5 i32.ne @@ -43680,13 +43825,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.const 1 i32.const 5 call $~lib/typedarray/Int8Array#subarray - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 3 @@ -43699,7 +43844,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 4 i32.ne @@ -43711,9 +43856,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=4 - local.get $2 + local.get $7 i32.load i32.sub i32.const 2 @@ -43726,7 +43871,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 4 i32.ne @@ -43739,13 +43884,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 4 @@ -43758,7 +43903,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 3 i32.ne @@ -43770,9 +43915,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=4 - local.get $2 + local.get $7 i32.load i32.sub i32.const 3 @@ -43785,7 +43930,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $7 i32.load offset=8 i32.const 3 i32.ne @@ -43800,55 +43945,55 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $7 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $4 + local.tee $8 i32.store - local.get $2 + local.get $7 i32.const 0 i32.const 3 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2320 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43860,32 +44005,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 1 i32.const 3 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2368 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43897,32 +44042,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 1 i32.const 2 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2416 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43934,32 +44079,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 2 i32.const 2 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2464 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -43971,32 +44116,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 0 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2512 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44008,32 +44153,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 1 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2560 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44045,32 +44190,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 1 i32.const 2 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2608 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44082,32 +44227,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 0 i32.const -2 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2656 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44119,32 +44264,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const 0 i32.const -2 i32.const -1 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2704 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44156,32 +44301,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const -4 i32.const -3 i32.const -2 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2752 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44193,32 +44338,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const -4 i32.const -3 i32.const -1 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2800 call $~lib/rt/__newArray - local.set $2 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $9 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $9 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44230,32 +44375,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $7 i32.store offset=16 - local.get $2 + local.get $7 i32.const -4 i32.const -3 i32.const 2147483647 call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store offset=20 i32.const 5 i32.const 2 i32.const 16 i32.const 2848 call $~lib/rt/__newArray - local.set $2 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $8 i32.store offset=4 - local.get $3 - local.get $2 + local.get $7 + local.get $8 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -44269,36 +44414,36 @@ global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $7 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray - local.tee $3 + local.tee $8 i32.store offset=16 - local.get $3 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u @@ -44312,9 +44457,9 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $8 i32.load offset=4 - local.get $3 + local.get $8 i32.load i32.sub i32.const 4 @@ -44327,7 +44472,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $8 i32.load offset=8 i32.const 12 i32.ne @@ -44340,13 +44485,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $7 i32.const 1 i32.const 3 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $9 i32.store offset=8 - local.get $2 + local.get $9 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 2 @@ -44359,7 +44504,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $9 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -44372,7 +44517,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $9 i32.load offset=8 i32.const 2 i32.shr_u @@ -44386,9 +44531,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $9 i32.load offset=4 - local.get $2 + local.get $9 i32.load i32.sub if @@ -44399,7 +44544,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $9 i32.load offset=8 i32.const 8 i32.ne @@ -44412,13 +44557,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $8 i32.store offset=12 - local.get $2 + local.get $8 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -44431,7 +44576,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u @@ -44445,9 +44590,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $8 i32.load offset=4 - local.get $2 + local.get $8 i32.load i32.sub if @@ -44458,7 +44603,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $8 i32.load offset=8 i32.const 4 i32.ne @@ -44471,14 +44616,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $7 i32.const 0 i32.const 2147483647 call $~lib/typedarray/Int32Array#slice - local.tee $2 + local.tee $8 i32.store offset=24 - local.get $2 - local.get $4 + local.get $7 + local.get $8 i32.eq if i32.const 0 @@ -44488,11 +44633,11 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $8 i32.load offset=8 i32.const 2 i32.shr_u - local.get $4 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u @@ -44505,14 +44650,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $8 i32.load offset=4 - local.get $2 + local.get $8 i32.load i32.sub - local.get $4 + local.get $7 i32.load offset=4 - local.get $4 + local.get $7 i32.load i32.sub i32.ne @@ -44524,9 +44669,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $8 i32.load offset=8 - local.get $4 + local.get $7 i32.load offset=8 i32.ne if @@ -44546,63 +44691,63 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $7 i64.const 0 i64.store - local.get $2 + local.get $7 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 2896 i32.store offset=4 - local.get $5 + local.get $7 i32.load offset=4 - local.set $4 - local.get $5 + local.set $8 + local.get $7 i32.load offset=8 - local.set $3 + local.set $9 loop $for-loop|0 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $1 - local.get $4 + local.get $2 + local.get $8 i32.add i32.load8_s - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 2896 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $9 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -44627,17 +44772,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set @@ -44645,43 +44790,43 @@ i32.const 2928 i32.store offset=4 i32.const 0 - local.set $9 - local.get $5 + local.set $1 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $7 i32.load offset=8 - local.set $3 + local.set $9 loop $for-loop|05 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $1 - local.get $4 + local.get $2 + local.get $8 i32.add i32.load8_u - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 2928 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|05 end end - local.get $9 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -44706,17 +44851,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set @@ -44724,43 +44869,43 @@ i32.const 2960 i32.store offset=4 i32.const 0 - local.set $9 - local.get $5 + local.set $1 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $7 i32.load offset=8 - local.set $3 + local.set $9 loop $for-loop|013 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $1 - local.get $4 + local.get $2 + local.get $8 i32.add i32.load8_u - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 2960 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|013 end end - local.get $9 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -44785,17 +44930,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set @@ -44803,47 +44948,47 @@ i32.const 2992 i32.store offset=4 i32.const 0 - local.set $9 - local.get $5 + local.set $1 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $7 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $9 loop $for-loop|017 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $4 - local.get $1 + local.get $8 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 2992 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|017 end end - local.get $9 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -44868,17 +45013,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set @@ -44886,47 +45031,47 @@ i32.const 3024 i32.store offset=4 i32.const 0 - local.set $9 - local.get $5 + local.set $1 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $7 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $9 loop $for-loop|022 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $4 - local.get $1 + local.get $8 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 3024 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|022 end end - local.get $9 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -44951,17 +45096,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set @@ -44969,47 +45114,47 @@ i32.const 3056 i32.store offset=4 i32.const 0 - local.set $9 - local.get $5 + local.set $1 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $9 loop $for-loop|027 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $4 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 3056 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|027 end end - local.get $9 + local.get $1 i32.const 6 i32.ne br_if $folding-inner1 @@ -45032,17 +45177,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $7 i32.store - local.get $5 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set @@ -45050,47 +45195,47 @@ i32.const 3088 i32.store offset=4 i32.const 0 - local.set $9 - local.get $5 + local.set $1 + local.get $7 i32.load offset=4 - local.set $4 + local.set $8 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $9 loop $for-loop|032 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_s if - local.get $4 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $10 i32.const 4 global.set $~argumentsLength - local.get $9 - local.get $2 local.get $1 - local.get $5 + local.get $10 + local.get $2 + local.get $7 i32.const 3088 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|032 end end - local.get $9 + local.get $1 i32.const 6 i32.ne br_if $folding-inner1 @@ -45113,63 +45258,63 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3120 i32.store offset=4 - local.get $4 + local.get $1 i32.load offset=4 - local.set $3 + local.set $7 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $8 loop $for-loop|037 - local.get $1 local.get $2 + local.get $8 i32.lt_s if - local.get $3 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $12 i32.const 4 global.set $~argumentsLength - local.get $15 - local.get $10 - local.get $1 local.get $4 + local.get $12 + local.get $2 + local.get $1 i32.const 3120 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $15 - local.get $1 + local.set $4 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|037 end end - local.get $15 + local.get $4 i64.const 6 i64.ne br_if $folding-inner1 @@ -45192,17 +45337,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set @@ -45210,47 +45355,47 @@ i32.const 3152 i32.store offset=4 i64.const 0 - local.set $15 - local.get $4 + local.set $4 + local.get $1 i32.load offset=4 - local.set $3 + local.set $7 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $8 loop $for-loop|042 - local.get $1 local.get $2 + local.get $8 i32.lt_s if - local.get $3 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $12 i32.const 4 global.set $~argumentsLength - local.get $15 - local.get $10 - local.get $1 local.get $4 + local.get $12 + local.get $2 + local.get $1 i32.const 3152 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $15 - local.get $1 + local.set $4 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|042 end end - local.get $15 + local.get $4 i64.const 6 i64.ne br_if $folding-inner1 @@ -45273,63 +45418,63 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3184 i32.store offset=4 - local.get $4 + local.get $1 i32.load offset=4 - local.set $3 + local.set $7 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $8 loop $for-loop|047 - local.get $1 local.get $2 + local.get $8 i32.lt_s if - local.get $3 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.set $6 + local.set $13 i32.const 4 global.set $~argumentsLength - local.get $14 - local.get $6 + local.get $5 + local.get $13 + local.get $2 local.get $1 - local.get $4 i32.const 3184 i32.load call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $14 - local.get $1 + local.set $5 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|047 end end - local.get $14 + local.get $5 f32.const 6 f32.ne br_if $folding-inner1 @@ -45352,63 +45497,63 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3216 i32.store offset=4 - local.get $4 + local.get $1 i32.load offset=4 - local.set $3 + local.set $7 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $8 loop $for-loop|052 - local.get $1 local.get $2 + local.get $8 i32.lt_s if - local.get $3 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add f64.load - local.set $8 + local.set $14 i32.const 4 global.set $~argumentsLength - local.get $13 - local.get $8 + local.get $6 + local.get $14 + local.get $2 local.get $1 - local.get $4 i32.const 3216 i32.load call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $13 - local.get $1 + local.set $6 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|052 end end - local.get $13 + local.get $6 f64.const 6 f64.ne br_if $folding-inner1 @@ -45992,17 +46137,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set @@ -46010,43 +46155,43 @@ i32.const 3248 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|059 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $1 - local.get $3 + local.get $2 + local.get $8 i32.add i32.load8_s - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3248 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|059 end end - local.get $9 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -46071,17 +46216,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set @@ -46089,43 +46234,43 @@ i32.const 3280 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|064 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $1 - local.get $3 + local.get $2 + local.get $8 i32.add i32.load8_u - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3280 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|064 end end - local.get $9 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -46150,17 +46295,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set @@ -46168,43 +46313,43 @@ i32.const 3312 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|071 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $1 - local.get $3 + local.get $2 + local.get $8 i32.add i32.load8_u - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3312 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|071 end end - local.get $9 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -46229,17 +46374,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set @@ -46247,47 +46392,47 @@ i32.const 3344 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|076 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $3 - local.get $1 + local.get $8 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3344 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|076 end end - local.get $9 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -46312,17 +46457,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set @@ -46330,47 +46475,47 @@ i32.const 3376 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|081 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $3 - local.get $1 + local.get $8 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3376 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|081 end end - local.get $9 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -46395,17 +46540,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set @@ -46413,47 +46558,47 @@ i32.const 3408 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|086 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $3 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3408 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|086 end end - local.get $9 + local.get $1 i32.const 6 i32.ne br_if $folding-inner5 @@ -46476,17 +46621,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $7 i32.store - local.get $4 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set @@ -46494,47 +46639,47 @@ i32.const 3440 i32.store offset=4 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $7 i32.load offset=4 - local.set $3 - local.get $4 + local.set $8 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|091 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if - local.get $3 - local.get $1 + local.get $8 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $2 + local.set $9 i32.const 4 global.set $~argumentsLength + local.get $1 local.get $9 local.get $2 - local.get $1 - local.get $4 + local.get $7 i32.const 3440 i32.load call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 - local.get $1 + local.set $1 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|091 end end - local.get $9 + local.get $1 i32.const 6 i32.ne br_if $folding-inner5 @@ -46557,17 +46702,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set @@ -46575,47 +46720,47 @@ i32.const 3472 i32.store offset=4 i64.const 0 - local.set $15 - local.get $3 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $7 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|096 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $7 local.get $2 - local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $12 i32.const 4 global.set $~argumentsLength - local.get $15 - local.get $10 + local.get $4 + local.get $12 + local.get $2 local.get $1 - local.get $3 i32.const 3472 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $15 - local.get $1 + local.set $4 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|096 end end - local.get $15 + local.get $4 i64.const 6 i64.ne br_if $folding-inner5 @@ -46638,17 +46783,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set @@ -46656,47 +46801,47 @@ i32.const 3504 i32.store offset=4 i64.const 0 - local.set $15 - local.get $3 + local.set $4 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $7 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|0101 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $7 local.get $2 - local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $12 i32.const 4 global.set $~argumentsLength - local.get $15 - local.get $10 + local.get $4 + local.get $12 + local.get $2 local.get $1 - local.get $3 i32.const 3504 i32.load call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $15 - local.get $1 + local.set $4 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|0101 end end - local.get $15 + local.get $4 i64.const 6 i64.ne br_if $folding-inner5 @@ -46719,17 +46864,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set @@ -46737,47 +46882,47 @@ i32.const 3536 i32.store offset=4 f32.const 0 - local.set $14 - local.get $3 + local.set $5 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $7 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|0106 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $7 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add f32.load - local.set $6 + local.set $13 i32.const 4 global.set $~argumentsLength - local.get $14 - local.get $6 + local.get $5 + local.get $13 + local.get $2 local.get $1 - local.get $3 i32.const 3536 i32.load call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $14 - local.get $1 + local.set $5 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|0106 end end - local.get $14 + local.get $5 f32.const 6 f32.ne br_if $folding-inner5 @@ -46800,17 +46945,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $1 i32.store - local.get $3 + local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set @@ -46818,47 +46963,47 @@ i32.const 3568 i32.store offset=4 f64.const 0 - local.set $13 - local.get $3 + local.set $6 + local.get $1 i32.load offset=4 - local.set $2 - local.get $3 + local.set $7 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $1 + local.set $2 loop $for-loop|0111 - local.get $1 + local.get $2 i32.const 0 i32.ge_s if + local.get $7 local.get $2 - local.get $1 i32.const 3 i32.shl i32.add f64.load - local.set $8 + local.set $14 i32.const 4 global.set $~argumentsLength - local.get $13 - local.get $8 + local.get $6 + local.get $14 + local.get $2 local.get $1 - local.get $3 i32.const 3568 i32.load call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $13 - local.get $1 + local.set $6 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 br $for-loop|0111 end end - local.get $13 + local.get $6 f64.const 6 f64.ne br_if $folding-inner5 @@ -46884,21 +47029,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $9 + local.tee $1 i32.store - local.get $9 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $9 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $9 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3600 i32.store offset=4 @@ -46911,90 +47057,91 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $9 + local.get $1 i32.load offset=8 - local.set $5 - local.get $9 - i32.load offset=4 - local.set $4 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $10 i32.store offset=4 loop $for-loop|01 - local.get $5 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $4 - local.get $16 + local.get $3 + local.get $9 i32.add i32.load8_s - local.set $1 + local.set $11 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $16 + local.get $3 + local.get $10 i32.add + local.get $11 + local.get $3 local.get $1 - local.get $16 - local.get $9 i32.const 3600 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|01 end end - local.get $3 - local.get $2 + local.get $7 + local.get $10 i32.store - local.get $2 + local.get $10 if - local.get $3 - local.get $2 + local.get $7 + local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $2 + local.get $7 + local.get $10 i32.store offset=4 - local.get $3 - local.get $5 + local.get $7 + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 + local.get $7 i32.store offset=8 - local.get $3 + local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $3 + local.get $7 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $3 + local.get $7 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 9 @@ -47005,7 +47152,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47024,21 +47171,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $9 + local.tee $1 i32.store - local.get $9 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $9 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $9 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3632 i32.store offset=4 @@ -47051,90 +47199,91 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $9 + local.get $1 i32.load offset=8 - local.set $5 - local.get $9 - i32.load offset=4 - local.set $4 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $10 i32.store offset=4 loop $for-loop|03 - local.get $5 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $4 - local.get $16 + local.get $3 + local.get $9 i32.add i32.load8_u - local.set $1 + local.set $11 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $16 + local.get $3 + local.get $10 i32.add + local.get $11 + local.get $3 local.get $1 - local.get $16 - local.get $9 i32.const 3632 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|03 end end - local.get $3 - local.get $2 + local.get $7 + local.get $10 i32.store - local.get $2 + local.get $10 if - local.get $3 - local.get $2 + local.get $7 + local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $2 + local.get $7 + local.get $10 i32.store offset=4 - local.get $3 - local.get $5 + local.get $7 + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 + local.get $7 i32.store offset=8 - local.get $3 + local.get $7 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $3 + local.get $7 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $3 + local.get $7 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 9 @@ -47145,7 +47294,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47164,21 +47313,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $9 + local.tee $1 i32.store - local.get $9 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3664 i32.store offset=4 @@ -47191,90 +47341,91 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $9 + local.get $1 i32.load offset=8 - local.set $5 - local.get $9 - i32.load offset=4 - local.set $4 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $8 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $10 i32.store offset=4 loop $for-loop|06 - local.get $5 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $4 - local.get $16 + local.get $3 + local.get $9 i32.add i32.load8_u - local.set $1 + local.set $11 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $16 + local.get $3 + local.get $10 i32.add + local.get $11 + local.get $3 local.get $1 - local.get $16 - local.get $9 i32.const 3664 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|06 end end - local.get $3 - local.get $2 + local.get $7 + local.get $10 i32.store - local.get $2 + local.get $10 if - local.get $3 - local.get $2 + local.get $7 + local.get $10 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $2 + local.get $7 + local.get $10 i32.store offset=4 - local.get $3 - local.get $5 + local.get $7 + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 + local.get $7 i32.store offset=8 - local.get $3 + local.get $7 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $3 + local.get $7 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $3 + local.get $7 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 9 @@ -47285,7 +47436,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47304,21 +47455,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $12 + local.tee $1 i32.store - local.get $12 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $12 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $12 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3696 i32.store offset=4 @@ -47331,98 +47483,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $12 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.const 1 i32.shl - local.tee $4 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $11 i32.store offset=4 loop $for-loop|09 - local.get $9 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $7 - local.get $16 + local.get $9 + local.get $3 i32.const 1 i32.shl - local.tee $2 + local.tee $15 i32.add i32.load16_s - local.set $1 + local.set $16 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $3 + local.get $11 + local.get $15 i32.add - local.get $1 local.get $16 - local.get $12 + local.get $3 + local.get $1 i32.const 3696 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|09 end end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store - local.get $3 + local.get $11 if - local.get $5 - local.get $3 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $2 + local.get $7 i32.store offset=8 - local.get $5 + local.get $7 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $5 + local.get $7 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $5 + local.get $7 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 9 @@ -47433,7 +47586,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47452,21 +47605,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $12 + local.tee $1 i32.store - local.get $12 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $12 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $12 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3728 i32.store offset=4 @@ -47479,98 +47633,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $12 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.const 1 i32.shl - local.tee $4 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $11 i32.store offset=4 loop $for-loop|012 - local.get $9 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $7 - local.get $16 + local.get $9 + local.get $3 i32.const 1 i32.shl - local.tee $2 + local.tee $15 i32.add i32.load16_u - local.set $1 + local.set $16 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $3 + local.get $11 + local.get $15 i32.add - local.get $1 local.get $16 - local.get $12 + local.get $3 + local.get $1 i32.const 3728 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|012 end end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store - local.get $3 + local.get $11 if - local.get $5 - local.get $3 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $2 + local.get $7 i32.store offset=8 - local.get $5 + local.get $7 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $5 + local.get $7 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $5 + local.get $7 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 9 @@ -47581,7 +47736,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47600,21 +47755,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $12 + local.tee $1 i32.store - local.get $12 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $12 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3760 i32.store offset=4 @@ -47627,98 +47783,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $12 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.const 2 i32.shl - local.tee $4 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $11 i32.store offset=4 loop $for-loop|015 - local.get $9 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $7 - local.get $16 + local.get $9 + local.get $3 i32.const 2 i32.shl - local.tee $2 + local.tee $15 i32.add i32.load - local.set $1 + local.set $16 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $3 + local.get $11 + local.get $15 i32.add - local.get $1 local.get $16 - local.get $12 + local.get $3 + local.get $1 i32.const 3760 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|015 end end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store - local.get $3 + local.get $11 if - local.get $5 - local.get $3 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $2 + local.get $7 i32.store offset=8 - local.get $5 + local.get $7 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $5 + local.get $7 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $5 + local.get $7 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 9 @@ -47729,7 +47886,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47748,21 +47905,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $12 + local.tee $1 i32.store - local.get $12 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $12 + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3792 i32.store offset=4 @@ -47775,98 +47933,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $12 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.const 2 i32.shl - local.tee $4 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $11 i32.store offset=4 loop $for-loop|018 - local.get $9 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $7 - local.get $16 + local.get $9 + local.get $3 i32.const 2 i32.shl - local.tee $2 + local.tee $15 i32.add i32.load - local.set $1 + local.set $16 i32.const 3 global.set $~argumentsLength - local.get $2 - local.get $3 + local.get $11 + local.get $15 i32.add - local.get $1 local.get $16 - local.get $12 + local.get $3 + local.get $1 i32.const 3792 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|018 end end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store - local.get $3 + local.get $11 if - local.get $5 - local.get $3 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $7 + local.get $11 i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $2 + local.get $7 i32.store offset=8 - local.get $5 + local.get $7 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne br_if $folding-inner16 - local.get $5 + local.get $7 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 i32.ne br_if $folding-inner17 - local.get $5 + local.get $7 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 9 @@ -47877,7 +48036,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47896,21 +48055,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $11 + local.tee $1 i32.store - local.get $11 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $11 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $11 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3824 i32.store offset=4 @@ -47923,98 +48083,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $11 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.const 3 i32.shl - local.tee $3 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $11 i32.store offset=4 loop $for-loop|021 - local.get $7 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $5 - local.get $16 + local.get $9 + local.get $3 i32.const 3 i32.shl - local.tee $1 + local.tee $15 i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $10 - local.get $16 local.get $11 + local.get $15 + i32.add + local.get $4 + local.get $3 + local.get $1 i32.const 3824 i32.load call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|021 end end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store - local.get $2 + local.get $11 if - local.get $4 - local.get $2 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store offset=4 - local.get $4 - local.get $3 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + local.get $7 i32.store offset=8 - local.get $4 + local.get $7 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne br_if $folding-inner16 - local.get $4 + local.get $7 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 i64.ne br_if $folding-inner17 - local.get $4 + local.get $7 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 9 @@ -48025,7 +48186,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48044,21 +48205,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $11 + local.tee $1 i32.store - local.get $11 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $11 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $11 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3856 i32.store offset=4 @@ -48071,98 +48233,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $11 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.const 3 i32.shl - local.tee $3 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $11 i32.store offset=4 loop $for-loop|024 - local.get $7 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $5 - local.get $16 + local.get $9 + local.get $3 i32.const 3 i32.shl - local.tee $1 + local.tee $15 i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $10 - local.get $16 local.get $11 + local.get $15 + i32.add + local.get $4 + local.get $3 + local.get $1 i32.const 3856 i32.load call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|024 end end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store - local.get $2 + local.get $11 if - local.get $4 - local.get $2 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store offset=4 - local.get $4 - local.get $3 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + local.get $7 i32.store offset=8 - local.get $4 + local.get $7 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne br_if $folding-inner16 - local.get $4 + local.get $7 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 i64.ne br_if $folding-inner17 - local.get $4 + local.get $7 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 9 @@ -48173,7 +48336,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48192,21 +48355,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $11 + local.tee $1 i32.store - local.get $11 + local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $11 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $11 + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3888 i32.store offset=4 @@ -48219,98 +48383,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $11 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.const 2 i32.shl - local.tee $3 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $11 i32.store offset=4 loop $for-loop|028 - local.get $7 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $5 - local.get $16 + local.get $9 + local.get $3 i32.const 2 i32.shl - local.tee $1 + local.tee $15 i32.add f32.load - local.set $6 + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $6 - local.get $16 local.get $11 + local.get $15 + i32.add + local.get $5 + local.get $3 + local.get $1 i32.const 3888 i32.load call_indirect $0 (type $f32_i32_i32_=>_f32) f32.store - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|028 end end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store - local.get $2 + local.get $11 if - local.get $4 - local.get $2 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store offset=4 - local.get $4 - local.get $3 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + local.get $7 i32.store offset=8 - local.get $4 + local.get $7 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne br_if $folding-inner16 - local.get $4 + local.get $7 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 f32.ne br_if $folding-inner17 - local.get $4 + local.get $7 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 9 @@ -48321,7 +48486,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48340,21 +48505,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $11 + local.tee $1 i32.store - local.get $11 + local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $11 + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $11 + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3920 i32.store offset=4 @@ -48367,98 +48533,99 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $7 i64.const 0 i64.store - local.get $11 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 + local.set $8 local.get $1 + i32.load offset=4 + local.set $9 + local.get $7 i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.const 3 i32.shl - local.tee $3 + local.tee $10 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $11 i32.store offset=4 loop $for-loop|031 - local.get $7 - local.get $16 - i32.gt_s + local.get $3 + local.get $8 + i32.lt_s if - local.get $5 - local.get $16 + local.get $9 + local.get $3 i32.const 3 i32.shl - local.tee $1 + local.tee $15 i32.add f64.load - local.set $8 + local.set $6 i32.const 3 global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $8 - local.get $16 local.get $11 + local.get $15 + i32.add + local.get $6 + local.get $3 + local.get $1 i32.const 3920 i32.load call_indirect $0 (type $f64_i32_i32_=>_f64) f64.store - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|031 end end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store - local.get $2 + local.get $11 if - local.get $4 - local.get $2 + local.get $7 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $7 + local.get $11 i32.store offset=4 - local.get $4 - local.get $3 + local.get $7 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + local.get $7 i32.store offset=8 - local.get $4 + local.get $7 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne br_if $folding-inner16 - local.get $4 + local.get $7 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 f64.ne br_if $folding-inner17 - local.get $4 + local.get $7 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 9 @@ -48494,17 +48661,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -48512,39 +48679,39 @@ global.get $~lib/memory/__stack_pointer i32.const 4304 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|0633 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4304 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0633 end end @@ -48556,39 +48723,39 @@ global.get $~lib/memory/__stack_pointer i32.const 4336 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|04 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4336 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04 end end @@ -48614,17 +48781,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -48632,39 +48799,39 @@ global.get $~lib/memory/__stack_pointer i32.const 4368 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|07 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4368 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|07 end end @@ -48676,39 +48843,39 @@ global.get $~lib/memory/__stack_pointer i32.const 4400 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|048 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4400 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|048 end end @@ -48734,17 +48901,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set @@ -48752,39 +48919,39 @@ global.get $~lib/memory/__stack_pointer i32.const 4432 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|010 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4432 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.09 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|010 end end @@ -48796,39 +48963,39 @@ global.get $~lib/memory/__stack_pointer i32.const 4464 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|0412 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4464 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0111 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0412 end end @@ -48854,17 +49021,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -48872,43 +49039,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4496 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|014 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4496 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|014 end end @@ -48920,43 +49087,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4528 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0415 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4528 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0415 end end @@ -48982,17 +49149,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -49000,43 +49167,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4560 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|016 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4560 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|016 end end @@ -49048,43 +49215,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4592 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0417 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4592 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0417 end end @@ -49110,17 +49277,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -49128,43 +49295,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4624 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|01834 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4624 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|01834 end end @@ -49176,43 +49343,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4656 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0419 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4656 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0419 end end @@ -49238,17 +49405,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -49256,43 +49423,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4688 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|020 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4688 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|020 end end @@ -49304,43 +49471,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4720 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0421 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 4720 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0421 end end @@ -49366,17 +49533,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set @@ -49384,43 +49551,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4752 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|023 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 4752 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|023 end end @@ -49432,43 +49599,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4784 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0424 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 4784 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0424 end end @@ -49494,17 +49661,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set @@ -49512,43 +49679,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4816 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|025 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 4816 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|025 end end @@ -49560,43 +49727,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4848 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0426 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 4848 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0426 end end @@ -49622,17 +49789,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set @@ -49640,43 +49807,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4880 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|02835 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add f32.load - local.set $6 + local.set $5 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $9 - local.get $3 + local.get $5 + local.get $1 + local.get $2 i32.const 4880 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|02835 end end @@ -49688,43 +49855,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4912 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0429 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add f32.load - local.set $6 + local.set $5 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $9 - local.get $3 + local.get $5 + local.get $1 + local.get $2 i32.const 4912 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0429 end end @@ -49750,17 +49917,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set @@ -49768,43 +49935,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4944 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|030 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add f64.load - local.set $8 + local.set $6 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $8 - local.get $9 - local.get $3 + local.get $6 + local.get $1 + local.get $2 i32.const 4944 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|030 end end @@ -49816,43 +49983,43 @@ global.get $~lib/memory/__stack_pointer i32.const 4976 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0431 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add f64.load - local.set $8 + local.set $6 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $8 - local.get $9 - local.get $3 + local.get $6 + local.get $1 + local.get $2 i32.const 4976 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0431 end end @@ -49878,103 +50045,107 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5008 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 loop $for-loop|033 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_s + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5008 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|033 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5040 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 loop $for-loop|0434 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_s + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5040 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0434 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -49997,103 +50168,107 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5072 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 loop $for-loop|035 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5072 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|035 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5104 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 loop $for-loop|0436 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5104 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0436 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50116,103 +50291,107 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 5136 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.037 loop $for-loop|038 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5136 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.037 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|038 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5168 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0139 loop $for-loop|0440 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5168 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0139 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0440 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50235,111 +50414,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5200 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 loop $for-loop|041 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5200 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|041 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5232 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 loop $for-loop|0442 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5232 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0442 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50362,111 +50545,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5264 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 loop $for-loop|043 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5264 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|043 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5296 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 loop $for-loop|0444 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5296 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0444 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50489,111 +50676,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 5328 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 loop $for-loop|045 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5328 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|045 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5360 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 loop $for-loop|0446 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5360 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0446 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50616,111 +50807,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 5392 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 loop $for-loop|049 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5392 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|049 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5424 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 loop $for-loop|0450 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $4 + local.get $8 + local.get $1 + local.get $2 i32.const 5424 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0450 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50743,111 +50938,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 5456 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 loop $for-loop|051 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 5456 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|051 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5488 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 loop $for-loop|0452 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 5488 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0452 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50870,111 +51069,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 5520 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 loop $for-loop|053 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 5520 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|053 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5552 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 loop $for-loop|0454 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 5552 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0454 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -50997,111 +51200,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 5584 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 loop $for-loop|055 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $5 + local.get $1 + local.get $2 i32.const 5584 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|055 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5616 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 loop $for-loop|0456 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $5 + local.get $1 + local.get $2 i32.const 5616 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0456 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -51124,111 +51331,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 5648 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 loop $for-loop|057 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add f64.load + local.set $6 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $6 + local.get $1 + local.get $2 i32.const 5648 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|057 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner25 global.get $~lib/memory/__stack_pointer i32.const 5680 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 loop $for-loop|0458 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add f64.load + local.set $6 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $6 + local.get $1 + local.get $2 i32.const 5680 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0458 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner26 @@ -51251,103 +51462,107 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5712 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 loop $for-loop|060 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $1 + local.get $3 i32.add i32.load8_s + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5712 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|060 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 5744 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 loop $for-loop|0461 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $1 + local.get $3 i32.add i32.load8_s + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5744 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0461 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -51370,103 +51585,107 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5776 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 loop $for-loop|062 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $1 + local.get $3 i32.add i32.load8_u + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5776 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|062 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 5808 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 loop $for-loop|0463 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $1 + local.get $3 i32.add i32.load8_u + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5808 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0463 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -51489,103 +51708,107 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 5840 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.064 loop $for-loop|065 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $1 + local.get $3 i32.add i32.load8_u + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5840 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.064 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|065 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 5872 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0166 loop $for-loop|0467 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $1 + local.get $3 i32.add i32.load8_u + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5872 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0166 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0467 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -51608,111 +51831,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5904 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 loop $for-loop|068 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5904 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|068 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 5936 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 loop $for-loop|0469 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5936 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0469 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -51735,111 +51962,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5968 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 loop $for-loop|070 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 5968 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|070 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 6000 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 loop $for-loop|0471 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 6000 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0471 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -51862,111 +52093,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 6032 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 loop $for-loop|072 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 6032 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|072 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 6064 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 loop $for-loop|0473 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 6064 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0473 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -51989,111 +52224,115 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $3 + local.get $2 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $3 + local.get $2 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 6096 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 loop $for-loop|074 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 6096 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|074 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 6128 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 loop $for-loop|0475 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add i32.load + local.set $7 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $3 + local.get $7 + local.get $1 + local.get $2 i32.const 6128 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0475 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -52135,45 +52374,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 loop $for-loop|077 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $4 + local.get $1 local.get $2 i32.const 6160 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|077 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 @@ -52182,45 +52423,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 loop $for-loop|0478 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $4 + local.get $1 local.get $2 i32.const 6192 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0478 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -52262,45 +52505,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 loop $for-loop|079 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $4 + local.get $1 local.get $2 i32.const 6224 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|079 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 @@ -52309,45 +52554,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 loop $for-loop|0480 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $4 + local.get $1 local.get $2 i32.const 6256 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0480 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -52389,45 +52636,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 loop $for-loop|082 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 2 i32.shl i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $5 + local.get $1 local.get $2 i32.const 6288 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|082 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 @@ -52436,45 +52685,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 loop $for-loop|0483 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 2 i32.shl i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $5 + local.get $1 local.get $2 i32.const 6320 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0483 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -52516,45 +52767,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 loop $for-loop|084 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 3 i32.shl i32.add f64.load + local.set $6 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $6 + local.get $1 local.get $2 i32.const 6352 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|084 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const 1 i32.ne br_if $folding-inner27 @@ -52563,45 +52816,47 @@ i32.store offset=4 local.get $2 i32.load offset=4 - local.set $1 + local.set $3 local.get $2 i32.load offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $9 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 loop $for-loop|0485 - local.get $9 + local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 - local.get $9 i32.const 3 i32.shl i32.add f64.load + local.set $6 i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $6 + local.get $1 local.get $2 i32.const 6384 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $9 + local.get $1 i32.const 1 i32.sub - local.set $9 + local.set $1 br $for-loop|0485 end end i32.const -1 - local.set $9 + local.set $1 end - local.get $9 + local.get $1 i32.const -1 i32.ne br_if $folding-inner28 @@ -52624,17 +52879,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -52642,40 +52897,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6416 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|087 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6416 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|087 end end @@ -52687,40 +52942,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6448 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|0488 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6448 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0488 end end @@ -52746,17 +53001,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -52764,40 +53019,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6480 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|089 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6480 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|089 end end @@ -52809,40 +53064,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6512 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|0490 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6512 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0490 end end @@ -52868,17 +53123,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set @@ -52886,40 +53141,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6544 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|092 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6544 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.091 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|092 end end @@ -52931,40 +53186,40 @@ global.get $~lib/memory/__stack_pointer i32.const 6576 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 - local.set $2 + local.set $7 loop $for-loop|0494 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if + local.get $1 local.get $3 - local.get $9 i32.add i32.load8_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6576 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0193 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0494 end end @@ -52990,17 +53245,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -53008,44 +53263,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6608 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|095 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6608 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|095 end end @@ -53057,44 +53312,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6640 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0496 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6640 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0496 end end @@ -53120,17 +53375,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -53138,44 +53393,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6672 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|097 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6672 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|097 end end @@ -53187,44 +53442,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6704 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0498 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6704 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0498 end end @@ -53250,17 +53505,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -53268,44 +53523,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6736 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|099 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6736 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|099 end end @@ -53317,44 +53572,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6768 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|04100 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6768 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04100 end end @@ -53380,17 +53635,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $2 i32.store - local.get $4 + local.get $2 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $2 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -53398,44 +53653,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6800 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0102 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6800 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0102 end end @@ -53447,44 +53702,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store offset=4 - local.get $4 + local.get $2 i32.load offset=4 local.set $3 i32.const 0 - local.set $9 - local.get $4 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|04103 - local.get $2 - local.get $9 - i32.gt_s + local.get $1 + local.get $7 + i32.lt_s if local.get $3 - local.get $9 + local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $1 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 + local.get $8 local.get $1 - local.get $9 - local.get $4 + local.get $2 i32.const 6832 i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04103 end end @@ -53510,17 +53765,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set @@ -53528,44 +53783,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6864 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0104 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 6864 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0104 end end @@ -53577,44 +53832,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6896 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|04105 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 6896 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04105 end end @@ -53640,17 +53895,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set @@ -53658,44 +53913,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6928 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0107 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 6928 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0107 end end @@ -53707,44 +53962,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6960 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|04108 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add i64.load - local.set $10 + local.set $4 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $10 - local.get $9 - local.get $3 + local.get $4 + local.get $1 + local.get $2 i32.const 6960 i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04108 end end @@ -53770,17 +54025,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set @@ -53788,44 +54043,44 @@ global.get $~lib/memory/__stack_pointer i32.const 6992 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0109 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add f32.load - local.set $6 + local.set $5 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $9 - local.get $3 + local.get $5 + local.get $1 + local.get $2 i32.const 6992 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0109 end end @@ -53837,44 +54092,44 @@ global.get $~lib/memory/__stack_pointer i32.const 7024 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|04110 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add f32.load - local.set $6 + local.set $5 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $9 - local.get $3 + local.get $5 + local.get $1 + local.get $2 i32.const 7024 i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04110 end end @@ -53900,17 +54155,17 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store - local.get $3 + local.get $2 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set @@ -53918,44 +54173,44 @@ global.get $~lib/memory/__stack_pointer i32.const 7056 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|0112 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add f64.load - local.set $8 + local.set $6 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $8 - local.get $9 - local.get $3 + local.get $6 + local.get $1 + local.get $2 i32.const 7056 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|0112 end end @@ -53967,44 +54222,44 @@ global.get $~lib/memory/__stack_pointer i32.const 7088 i32.store offset=4 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 i32.const 0 - local.set $9 - local.get $3 + local.set $1 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $7 loop $for-loop|04113 local.get $1 - local.get $9 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $2 - local.get $9 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add f64.load - local.set $8 + local.set $6 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $8 - local.get $9 - local.get $3 + local.get $6 + local.get $1 + local.get $2 i32.const 7088 i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.01 drop - local.get $9 + local.get $1 i32.const 1 i32.add - local.set $9 + local.set $1 br $for-loop|04113 end end @@ -54035,14 +54290,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54052,7 +54307,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54062,7 +54317,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54072,34 +54327,36 @@ global.get $~lib/memory/__stack_pointer i32.const 7200 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 - local.set $3 + local.set $7 loop $for-loop|0116 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $1 - local.get $4 + local.get $2 + local.get $3 i32.add i32.load8_s + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7200 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0116 end end @@ -54131,14 +54388,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54149,7 +54406,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54160,7 +54417,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54171,34 +54428,36 @@ global.get $~lib/memory/__stack_pointer i32.const 7232 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 - local.set $3 + local.set $7 loop $for-loop|0121 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $1 - local.get $4 + local.get $2 + local.get $3 i32.add i32.load8_u + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7232 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0121 end end @@ -54230,14 +54489,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54248,7 +54507,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54259,7 +54518,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54270,34 +54529,36 @@ global.get $~lib/memory/__stack_pointer i32.const 7264 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 - local.set $3 + local.set $7 loop $for-loop|0128 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $1 - local.get $4 + local.get $2 + local.get $3 i32.add i32.load8_u + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7264 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0128 end end @@ -54329,14 +54590,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54346,7 +54607,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54356,7 +54617,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54366,38 +54627,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7296 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $7 loop $for-loop|0133 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $4 - local.get $1 + local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7296 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0133 end end @@ -54429,14 +54692,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54447,7 +54710,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54458,7 +54721,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54469,38 +54732,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7328 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $7 loop $for-loop|0138 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $4 - local.get $1 + local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7328 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0138 end end @@ -54532,14 +54797,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54548,7 +54813,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54557,7 +54822,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54566,38 +54831,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7360 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $7 loop $for-loop|0143 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $4 - local.get $1 + local.get $3 + local.get $2 i32.const 2 i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7360 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0143 end end @@ -54629,14 +54896,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $1 i32.store - local.get $5 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54645,7 +54912,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54654,7 +54921,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $5 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54663,38 +54930,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7392 i32.store offset=8 - local.get $5 + local.get $1 i32.load offset=4 - local.set $4 + local.set $3 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $7 loop $for-loop|0148 - local.get $1 - local.get $3 + local.get $2 + local.get $7 i32.lt_s if - local.get $4 - local.get $1 + local.get $3 + local.get $2 i32.const 2 i32.shl i32.add i32.load + local.set $8 i32.const 3 global.set $~argumentsLength + local.get $8 + local.get $2 local.get $1 - local.get $5 i32.const 7392 i32.load call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0148 end end @@ -54726,14 +54995,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54743,7 +55012,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54753,7 +55022,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54763,38 +55032,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store offset=8 - local.get $4 + local.get $1 i32.load offset=4 local.set $3 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0153 - local.get $1 local.get $2 + local.get $7 i32.lt_s if local.get $3 - local.get $1 + local.get $2 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $4 + local.get $2 + local.get $1 i32.const 7424 i32.load call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0153 end end @@ -54826,14 +55097,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54843,7 +55114,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54853,7 +55124,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54863,38 +55134,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7456 i32.store offset=8 - local.get $4 + local.get $1 i32.load offset=4 local.set $3 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0158 - local.get $1 local.get $2 + local.get $7 i32.lt_s if local.get $3 - local.get $1 + local.get $2 i32.const 3 i32.shl i32.add i64.load + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $4 + local.get $2 + local.get $1 i32.const 7456 i32.load call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0158 end end @@ -54926,14 +55199,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -54943,7 +55216,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -54953,7 +55226,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -54963,38 +55236,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7488 i32.store offset=8 - local.get $4 + local.get $1 i32.load offset=4 local.set $3 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0163 - local.get $1 local.get $2 + local.get $7 i32.lt_s if local.get $3 - local.get $1 + local.get $2 i32.const 2 i32.shl i32.add f32.load + local.set $5 i32.const 3 global.set $~argumentsLength + local.get $5 + local.get $2 local.get $1 - local.get $4 i32.const 7488 i32.load call_indirect $0 (type $f32_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0163 end end @@ -55026,14 +55301,14 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $1 i32.store - local.get $4 + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -55043,7 +55318,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -55053,7 +55328,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store offset=4 - local.get $4 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -55063,38 +55338,40 @@ global.get $~lib/memory/__stack_pointer i32.const 7520 i32.store offset=8 - local.get $4 + local.get $1 i32.load offset=4 local.set $3 i32.const 0 - local.set $1 - local.get $4 + local.set $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $7 loop $for-loop|0168 - local.get $1 local.get $2 + local.get $7 i32.lt_s if local.get $3 - local.get $1 + local.get $2 i32.const 3 i32.shl i32.add f64.load + local.set $6 i32.const 3 global.set $~argumentsLength + local.get $6 + local.get $2 local.get $1 - local.get $4 i32.const 7520 i32.load call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0168 end end @@ -55125,83 +55402,85 @@ local.get $1 i32.const 7628 i32.load - local.tee $3 - call $~lib/typedarray/Int8Array#constructor local.tee $2 + call $~lib/typedarray/Int8Array#constructor + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0171 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set + local.get $7 local.get $1 - local.get $16 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0171 end end - local.get $2 + local.get $3 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Int8Array#__get i32.const 7616 - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.extend8_s i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.set $1 + local.get $7 i32.const 4 i32.const 8 call $~lib/typedarray/Int8Array#subarray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=12 local.get $1 + local.get $2 call $~lib/typedarray/Int8Array#reverse local.tee $1 i32.store offset=16 @@ -55252,85 +55531,87 @@ local.get $1 i32.const 7628 i32.load - local.tee $3 - call $~lib/typedarray/Uint8Array#constructor local.tee $2 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|02136 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + local.get $7 local.get $1 - local.get $16 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|02136 end end - local.get $2 + local.get $3 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $16 + local.set $1 loop $for-loop|124 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Uint8Array#__get i32.const 7616 - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|124 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Uint8Array#subarray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=12 local.get $1 + local.get $2 call $~lib/typedarray/Int8Array#reverse local.tee $1 i32.store offset=16 @@ -55381,85 +55662,87 @@ local.get $1 i32.const 7628 i32.load - local.tee $3 - call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $2 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|029 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + local.get $7 local.get $1 - local.get $16 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|029 end end - local.get $2 + local.get $3 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $16 + local.set $1 loop $for-loop|132 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 7616 - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|132 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=12 local.get $1 + local.get $2 call $~lib/typedarray/Int8Array#reverse local.tee $1 i32.store offset=16 @@ -55510,82 +55793,84 @@ local.get $1 i32.const 7628 i32.load - local.tee $3 - call $~lib/typedarray/Int16Array#constructor local.tee $2 + call $~lib/typedarray/Int16Array#constructor + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|037175 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set + local.get $7 local.get $1 - local.get $16 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|037175 end end - local.get $2 + local.get $3 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $16 + local.set $1 loop $for-loop|140 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Int16Array#__get i32.const 7616 - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.extend16_s i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|140 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Int16Array#subarray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=12 local.get $1 + local.get $2 call $~lib/typedarray/Int16Array#reverse local.tee $1 i32.store offset=16 @@ -55636,85 +55921,87 @@ local.get $1 i32.const 7628 i32.load - local.tee $3 - call $~lib/typedarray/Uint16Array#constructor local.tee $2 + call $~lib/typedarray/Uint16Array#constructor + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|045114 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + local.get $7 local.get $1 - local.get $16 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|045114 end end - local.get $2 + local.get $3 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $16 + local.set $1 loop $for-loop|148 - local.get $3 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $2 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Uint16Array#__get i32.const 7616 - local.get $3 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.const 65535 i32.and i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|148 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Uint16Array#subarray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=12 local.get $1 + local.get $2 call $~lib/typedarray/Int16Array#reverse local.tee $1 i32.store offset=16 @@ -55765,207 +56052,211 @@ local.get $1 i32.const 7628 i32.load - local.tee $11 + local.tee $2 call $~lib/typedarray/Int32Array#constructor - local.tee $9 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $2 call $~lib/typedarray/Int32Array#constructor local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|053115 - local.get $11 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $9 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set local.get $7 - local.get $16 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|053115 end end - local.get $9 + i32.const 0 + local.set $1 + local.get $3 i32.load offset=4 - local.set $5 - local.get $9 + local.set $8 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $9 i32.const 1 i32.gt_u if - local.get $1 + local.get $9 i32.const 1 i32.shr_u - local.set $4 - local.get $1 + local.set $10 + local.get $9 i32.const 1 i32.sub - local.set $3 + local.set $9 loop $while-continue|0 - local.get $0 - local.get $4 + local.get $1 + local.get $10 i32.lt_u if - local.get $5 - local.get $0 + local.get $8 + local.get $1 i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $11 i32.load - local.set $2 + local.set $15 + local.get $11 + local.get $8 + local.get $9 local.get $1 - local.get $5 - local.get $3 - local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $11 i32.load i32.store - local.get $1 - local.get $2 + local.get $11 + local.get $15 i32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0 end end end i32.const 0 - local.set $16 + local.set $1 loop $for-loop|156 - local.get $11 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $9 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Int32Array#__get i32.const 7616 - local.get $11 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|156 end end global.get $~lib/memory/__stack_pointer + local.set $1 local.get $7 i32.const 4 i32.const 8 call $~lib/typedarray/Int32Array#subarray - local.set $7 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $3 i32.load offset=4 - local.set $5 - local.get $7 + local.set $7 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $8 i32.const 1 i32.gt_u if - local.get $0 + local.get $8 i32.const 1 i32.shr_u - local.set $4 - local.get $0 + local.set $9 + local.get $8 i32.const 1 i32.sub - local.set $3 + local.set $8 loop $while-continue|0117 - local.get $1 - local.get $4 + local.get $2 + local.get $9 i32.lt_u if - local.get $5 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $10 i32.load - local.set $2 - local.get $0 - local.get $5 - local.get $3 - local.get $1 + local.set $11 + local.get $10 + local.get $7 + local.get $8 + local.get $2 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $10 i32.load i32.store - local.get $0 - local.get $2 + local.get $10 + local.get $11 i32.store - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0117 end end end - local.get $7 + local.get $1 + local.get $3 i32.store offset=16 - local.get $7 + local.get $3 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 8 i32.ne br_if $folding-inner8 - local.get $7 + local.get $3 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 7 i32.ne br_if $folding-inner9 - local.get $7 + local.get $3 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 6 i32.ne br_if $folding-inner10 - local.get $7 + local.get $3 i32.const 3 call $~lib/typedarray/Int32Array#__get i32.const 5 @@ -55984,218 +56275,220 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill - local.get $0 + local.get $1 i32.const 7616 i32.store - local.get $0 + local.get $1 i32.const 7628 i32.load - local.tee $11 + local.tee $2 call $~lib/typedarray/Uint32Array#constructor - local.tee $9 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $2 call $~lib/typedarray/Uint32Array#constructor local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|061 - local.get $11 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $9 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set local.get $7 - local.get $16 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|061 end end i32.const 0 - local.set $0 - local.get $9 + local.set $1 + local.get $3 i32.load offset=4 - local.set $5 - local.get $9 + local.set $8 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $9 i32.const 1 i32.gt_u if - local.get $1 + local.get $9 i32.const 1 i32.shr_u - local.set $4 - local.get $1 + local.set $10 + local.get $9 i32.const 1 i32.sub - local.set $3 + local.set $9 loop $while-continue|0119 - local.get $0 - local.get $4 + local.get $1 + local.get $10 i32.lt_u if - local.get $5 - local.get $0 + local.get $8 + local.get $1 i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $11 i32.load - local.set $2 + local.set $15 + local.get $11 + local.get $8 + local.get $9 local.get $1 - local.get $5 - local.get $3 - local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $11 i32.load i32.store - local.get $1 - local.get $2 + local.get $11 + local.get $15 i32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0119 end end end i32.const 0 - local.set $16 + local.set $1 loop $for-loop|164 - local.get $11 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $9 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Uint32Array#__get i32.const 7616 - local.get $11 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|164 end end global.get $~lib/memory/__stack_pointer + local.set $1 local.get $7 i32.const 8 call $~lib/typedarray/Uint32Array#subarray - local.set $7 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=12 i32.const 0 - local.set $1 - local.get $7 + local.set $2 + local.get $3 i32.load offset=4 - local.set $5 - local.get $7 + local.set $7 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $8 i32.const 1 i32.gt_u if - local.get $0 + local.get $8 i32.const 1 i32.shr_u - local.set $4 - local.get $0 + local.set $9 + local.get $8 i32.const 1 i32.sub - local.set $3 + local.set $8 loop $while-continue|0121 - local.get $1 - local.get $4 + local.get $2 + local.get $9 i32.lt_u if - local.get $5 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $10 i32.load - local.set $2 - local.get $0 - local.get $5 - local.get $3 - local.get $1 + local.set $11 + local.get $10 + local.get $7 + local.get $8 + local.get $2 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $10 i32.load i32.store - local.get $0 - local.get $2 + local.get $10 + local.get $11 i32.store - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0121 end end end - local.get $7 + local.get $1 + local.get $3 i32.store offset=16 - local.get $7 + local.get $3 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 8 i32.ne br_if $folding-inner8 - local.get $7 + local.get $3 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 7 i32.ne br_if $folding-inner9 - local.get $7 + local.get $3 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 6 i32.ne br_if $folding-inner10 - local.get $7 + local.get $3 i32.const 3 call $~lib/typedarray/Uint32Array#__get i32.const 5 @@ -56214,221 +56507,223 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill - local.get $0 + local.get $1 i32.const 7616 i32.store - local.get $0 + local.get $1 i32.const 7628 i32.load - local.tee $9 + local.tee $2 call $~lib/typedarray/Int64Array#constructor - local.tee $7 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $2 call $~lib/typedarray/Int64Array#constructor - local.tee $5 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|069 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $5 - local.get $16 + local.get $7 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|069 end end i32.const 0 - local.set $0 - local.get $7 + local.set $1 + local.get $3 i32.load offset=4 - local.set $4 - local.get $7 + local.set $8 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $9 i32.const 1 i32.gt_u if - local.get $1 + local.get $9 i32.const 1 i32.shr_u - local.set $3 - local.get $1 + local.set $10 + local.get $9 i32.const 1 i32.sub - local.set $2 + local.set $9 loop $while-continue|0122 - local.get $0 - local.get $3 + local.get $1 + local.get $10 i32.lt_u if - local.get $4 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - local.tee $1 + local.tee $11 i64.load - local.set $10 + local.set $4 + local.get $11 + local.get $8 + local.get $9 local.get $1 - local.get $4 - local.get $2 - local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $1 + local.tee $11 i64.load i64.store - local.get $1 - local.get $10 + local.get $11 + local.get $4 i64.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0122 end end end i32.const 0 - local.set $16 + local.set $1 loop $for-loop|172 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Int64Array#__get i32.const 7616 - local.get $9 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i64.extend_i32_s i64.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|172 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Int64Array#subarray - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 i32.store offset=12 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $3 i32.load offset=4 - local.set $4 - local.get $5 + local.set $7 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $8 i32.const 1 i32.gt_u if - local.get $0 + local.get $8 i32.const 1 i32.shr_u - local.set $3 - local.get $0 + local.set $9 + local.get $8 i32.const 1 i32.sub - local.set $2 + local.set $8 loop $while-continue|0124 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_u if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $10 i64.load - local.set $10 - local.get $0 - local.get $4 + local.set $4 + local.get $10 + local.get $7 + local.get $8 local.get $2 - local.get $1 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $10 i64.load i64.store - local.get $0 local.get $10 + local.get $4 i64.store - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0124 end end end - local.get $5 + local.get $1 + local.get $3 i32.store offset=16 - local.get $5 + local.get $3 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 8 i64.ne br_if $folding-inner8 - local.get $5 + local.get $3 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 7 i64.ne br_if $folding-inner9 - local.get $5 + local.get $3 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 6 i64.ne br_if $folding-inner10 - local.get $5 + local.get $3 i32.const 3 call $~lib/typedarray/Int64Array#__get i64.const 5 @@ -56447,221 +56742,223 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill - local.get $0 + local.get $1 i32.const 7616 i32.store - local.get $0 + local.get $1 i32.const 7628 i32.load - local.tee $9 + local.tee $2 call $~lib/typedarray/Uint64Array#constructor - local.tee $7 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $2 call $~lib/typedarray/Uint64Array#constructor - local.tee $5 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|077125 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $5 - local.get $16 + local.get $7 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|077125 end end i32.const 0 - local.set $0 - local.get $7 + local.set $1 + local.get $3 i32.load offset=4 - local.set $4 - local.get $7 + local.set $8 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $9 i32.const 1 i32.gt_u if - local.get $1 + local.get $9 i32.const 1 i32.shr_u - local.set $3 - local.get $1 + local.set $10 + local.get $9 i32.const 1 i32.sub - local.set $2 + local.set $9 loop $while-continue|0127 - local.get $0 - local.get $3 + local.get $1 + local.get $10 i32.lt_u if - local.get $4 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - local.tee $1 + local.tee $11 i64.load - local.set $10 + local.set $4 + local.get $11 + local.get $8 + local.get $9 local.get $1 - local.get $4 - local.get $2 - local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $1 + local.tee $11 i64.load i64.store - local.get $1 - local.get $10 + local.get $11 + local.get $4 i64.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0127 end end end i32.const 0 - local.set $16 + local.set $1 loop $for-loop|180 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Uint64Array#__get i32.const 7616 - local.get $9 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get i64.extend_i32_s i64.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|180 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Uint64Array#subarray - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 i32.store offset=12 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $3 i32.load offset=4 - local.set $4 - local.get $5 + local.set $7 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $8 i32.const 1 i32.gt_u if - local.get $0 + local.get $8 i32.const 1 i32.shr_u - local.set $3 - local.get $0 + local.set $9 + local.get $8 i32.const 1 i32.sub - local.set $2 + local.set $8 loop $while-continue|0129 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_u if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $10 i64.load - local.set $10 - local.get $0 - local.get $4 + local.set $4 + local.get $10 + local.get $7 + local.get $8 local.get $2 - local.get $1 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $10 i64.load i64.store - local.get $0 local.get $10 + local.get $4 i64.store - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0129 end end end - local.get $5 + local.get $1 + local.get $3 i32.store offset=16 - local.get $5 + local.get $3 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 8 i64.ne br_if $folding-inner8 - local.get $5 + local.get $3 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 7 i64.ne br_if $folding-inner9 - local.get $5 + local.get $3 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 6 i64.ne br_if $folding-inner10 - local.get $5 + local.get $3 i32.const 3 call $~lib/typedarray/Uint64Array#__get i64.const 5 @@ -56680,221 +56977,223 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill - local.get $0 + local.get $1 i32.const 7616 i32.store - local.get $0 + local.get $1 i32.const 7628 i32.load - local.tee $9 + local.tee $2 call $~lib/typedarray/Float32Array#constructor - local.tee $7 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $2 call $~lib/typedarray/Float32Array#constructor - local.tee $5 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|085 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $5 - local.get $16 + local.get $7 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|085 end end i32.const 0 - local.set $0 - local.get $7 + local.set $1 + local.get $3 i32.load offset=4 - local.set $4 - local.get $7 + local.set $8 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $1 + local.tee $9 i32.const 1 i32.gt_u if - local.get $1 + local.get $9 i32.const 1 i32.shr_u - local.set $3 - local.get $1 + local.set $10 + local.get $9 i32.const 1 i32.sub - local.set $2 + local.set $9 loop $while-continue|0130 - local.get $0 - local.get $3 + local.get $1 + local.get $10 i32.lt_u if - local.get $4 - local.get $0 + local.get $8 + local.get $1 i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $11 f32.load - local.set $6 + local.set $5 + local.get $11 + local.get $8 + local.get $9 local.get $1 - local.get $4 - local.get $2 - local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $11 f32.load f32.store - local.get $1 - local.get $6 + local.get $11 + local.get $5 f32.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0130 end end end i32.const 0 - local.set $16 + local.set $1 loop $for-loop|188 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Float32Array#__get i32.const 7616 - local.get $9 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get f32.convert_i32_s f32.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|188 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.set $1 + local.get $7 i32.const 8 call $~lib/typedarray/Float32Array#subarray - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 i32.store offset=12 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $3 i32.load offset=4 - local.set $4 - local.get $5 + local.set $7 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $8 i32.const 1 i32.gt_u if - local.get $0 + local.get $8 i32.const 1 i32.shr_u - local.set $3 - local.get $0 + local.set $9 + local.get $8 i32.const 1 i32.sub - local.set $2 + local.set $8 loop $while-continue|0132 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_u if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $10 f32.load - local.set $6 - local.get $0 - local.get $4 + local.set $5 + local.get $10 + local.get $7 + local.get $8 local.get $2 - local.get $1 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $10 f32.load f32.store - local.get $0 - local.get $6 + local.get $10 + local.get $5 f32.store - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0132 end end end - local.get $5 + local.get $1 + local.get $3 i32.store offset=16 - local.get $5 + local.get $3 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 8 f32.ne br_if $folding-inner8 - local.get $5 + local.get $3 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 7 f32.ne br_if $folding-inner9 - local.get $5 + local.get $3 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 6 f32.ne br_if $folding-inner10 - local.get $5 + local.get $3 i32.const 3 call $~lib/typedarray/Float32Array#__get f32.const 5 @@ -56913,222 +57212,224 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill - local.get $0 + local.get $1 i32.const 7616 i32.store - local.get $0 + local.get $1 i32.const 7628 i32.load - local.tee $9 + local.tee $2 call $~lib/typedarray/Float64Array#constructor - local.tee $7 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $2 call $~lib/typedarray/Float64Array#constructor - local.tee $5 + local.tee $7 i32.store offset=8 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|093 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $5 - local.get $16 + local.get $7 + local.get $1 i32.const 7616 - local.get $16 + local.get $1 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|093 end end i32.const 0 - local.set $0 - local.get $7 + local.set $1 + local.get $3 i32.load offset=4 - local.set $4 - local.get $7 + local.set $8 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $9 i32.const 1 i32.gt_u if - local.get $1 + local.get $9 i32.const 1 i32.shr_u - local.set $3 - local.get $1 + local.set $10 + local.get $9 i32.const 1 i32.sub - local.set $2 + local.set $9 loop $while-continue|0133 - local.get $0 - local.get $3 + local.get $1 + local.get $10 i32.lt_u if - local.get $4 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - local.tee $1 + local.tee $11 f64.load - local.set $8 + local.set $6 + local.get $11 + local.get $8 + local.get $9 local.get $1 - local.get $4 - local.get $2 - local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $1 + local.tee $11 f64.load f64.store - local.get $1 - local.get $8 + local.get $11 + local.get $6 f64.store - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0133 end end end i32.const 0 - local.set $16 + local.set $1 loop $for-loop|196 - local.get $9 - local.get $16 - i32.gt_s + local.get $1 + local.get $2 + i32.lt_s if - local.get $7 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Float64Array#__get i32.const 7616 - local.get $9 + local.get $2 i32.const 1 i32.sub - local.get $16 + local.get $1 i32.sub call $~lib/array/Array#__get f64.convert_i32_s f64.ne br_if $folding-inner7 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|196 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.set $1 + local.get $7 i32.const 4 i32.const 8 call $~lib/typedarray/Float64Array#subarray - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $3 i32.store offset=12 i32.const 0 - local.set $1 - local.get $5 + local.set $2 + local.get $3 i32.load offset=4 - local.set $4 - local.get $5 + local.set $7 + local.get $3 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $8 i32.const 1 i32.gt_u if - local.get $0 + local.get $8 i32.const 1 i32.shr_u - local.set $3 - local.get $0 + local.set $9 + local.get $8 i32.const 1 i32.sub - local.set $2 + local.set $8 loop $while-continue|0135 - local.get $1 - local.get $3 + local.get $2 + local.get $9 i32.lt_u if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $10 f64.load - local.set $8 - local.get $0 - local.get $4 + local.set $6 + local.get $10 + local.get $7 + local.get $8 local.get $2 - local.get $1 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $10 f64.load f64.store - local.get $0 - local.get $8 + local.get $10 + local.get $6 f64.store - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0135 end end end - local.get $5 + local.get $1 + local.get $3 i32.store offset=16 - local.get $5 + local.get $3 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 8 f64.ne br_if $folding-inner8 - local.get $5 + local.get $3 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 7 f64.ne br_if $folding-inner9 - local.get $5 + local.get $3 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 6 f64.ne br_if $folding-inner10 - local.get $5 + local.get $3 i32.const 3 call $~lib/typedarray/Float64Array#__get f64.const 5 @@ -57152,33 +57453,31 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=12 - local.get $4 + local.get $2 i32.const 0 f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set - i32.const 0 - local.set $0 i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $4 + local.get $2 i32.load offset=4 - local.set $2 + local.set $7 loop $while-continue|0136 local.get $0 local.get $3 i32.lt_s if - local.get $2 + local.get $7 local.get $0 local.tee $1 i32.const 3 @@ -57211,44 +57510,44 @@ end block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) i32.const 0 - local.set $16 + local.set $1 i32.const 0 - local.get $4 + local.get $2 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $1 + local.tee $0 i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $4 + local.get $2 i32.load offset=4 - local.set $0 + local.set $2 loop $while-continue|0137 + local.get $0 local.get $1 - local.get $16 i32.gt_s if i32.const 1 - local.get $0 - local.get $16 + local.get $2 + local.get $1 i32.const 3 i32.shl i32.add f64.load - local.tee $8 + local.tee $6 f64.const nan:0x8000000000000 f64.eq - local.get $8 - local.get $8 + local.get $6 + local.get $6 f64.ne i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $while-continue|0137 end end @@ -57266,35 +57565,35 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $1 i32.store offset=24 - local.get $4 + local.get $1 i32.const 0 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set i32.const 0 local.set $0 i32.const -1 - local.set $1 + local.set $2 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $4 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $4 + local.get $1 i32.load offset=4 - local.set $2 + local.set $7 loop $while-continue|0138 local.get $0 local.get $3 i32.lt_s if - local.get $2 + local.get $7 local.get $0 - local.tee $1 + local.tee $2 i32.const 2 i32.shl i32.add @@ -57302,7 +57601,7 @@ f32.const nan:0x400000 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 + local.get $2 i32.const 1 i32.add local.set $0 @@ -57310,9 +57609,9 @@ end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 i32.const -1 i32.ne if @@ -57325,44 +57624,44 @@ end block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) i32.const 0 - local.set $1 + local.set $2 i32.const 0 - local.get $4 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $0 i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $4 + local.get $1 i32.load offset=4 - local.set $0 + local.set $1 loop $while-continue|0101 - local.get $1 + local.get $0 local.get $2 - i32.lt_s + i32.gt_s if i32.const 1 - local.get $0 local.get $1 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.tee $6 + local.tee $5 f32.const nan:0x400000 f32.eq - local.get $6 - local.get $6 + local.get $5 + local.get $5 f32.ne i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $while-continue|0101 end end @@ -57395,41 +57694,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Int8Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57443,13 +57742,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Int8Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -57489,56 +57788,56 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint8Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz br_if $folding-inner12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint8Array#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 + local.tee $1 local.get $0 + i32.store offset=4 + local.get $1 i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57565,56 +57864,56 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint8Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz br_if $folding-inner12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint8Array#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store offset=4 + local.tee $1 local.get $0 + i32.store offset=4 + local.get $1 i32.const 9616 i32.store offset=8 - local.get $1 + local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57641,41 +57940,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Int16Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57689,13 +57988,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Int16Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -57735,41 +58034,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint16Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57783,13 +58082,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Uint16Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -57829,41 +58128,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Int32Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57877,13 +58176,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Int32Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -57923,41 +58222,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $1 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set - local.get $1 + local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $1 + local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint32Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -57971,13 +58270,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Uint32Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -58017,41 +58316,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $1 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $1 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - local.get $1 + local.get $0 i32.const 3 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $1 + local.get $0 i32.const 4 i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Int64Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -58065,13 +58364,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Int64Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -58111,41 +58410,41 @@ local.get $0 i32.const 5 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $1 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $1 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set - local.get $1 + local.get $0 i32.const 3 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $1 + local.get $0 i32.const 4 i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 - local.get $1 + local.get $0 call $~lib/typedarray/Uint64Array#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 9616 i32.store offset=8 - local.get $0 + local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz @@ -58159,13 +58458,13 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 9584 i32.store - local.get $1 + local.get $0 call $~lib/typedarray/Uint64Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -58205,35 +58504,68 @@ local.get $0 i32.const 5 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $1 + local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $1 + local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - local.get $1 + local.get $0 i32.const 3 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $1 + local.get $0 i32.const 4 f32.const 5 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store offset=12 + local.get $0 + call $~lib/typedarray/Float32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store offset=8 + local.get $1 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 9584 + i32.store + local.get $0 call $~lib/typedarray/Float32Array#join local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer @@ -58243,9 +58575,13 @@ i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner14 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -58254,107 +58590,70 @@ br_if $folding-inner22 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 + i64.const 0 + i64.store + local.get $0 + i64.const 0 + i64.store offset=8 + local.get $0 + i32.const 5 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 i32.store local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer i32.const 9584 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Float64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store offset=8 + local.get $1 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 i32.store local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store offset=8 - local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner15 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 - i64.const 0 - i64.store offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store - local.get $1 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store offset=8 - local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner14 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner22 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 9584 - i32.store - local.get $1 - call $~lib/typedarray/Float64Array#join + i32.const 9584 + i32.store + local.get $0 + call $~lib/typedarray/Float64Array#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -58440,53 +58739,54 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0107139 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0107139 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -58498,60 +58798,61 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $7 i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.set $1 - local.get $0 + local.set $8 + local.get $7 i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $7 i32.store - local.get $0 - local.get $3 + local.get $7 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $7 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $3 + local.get $7 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $7 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1111 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Int8Array#__get - local.get $0 - local.get $16 + local.get $7 + local.get $1 call $~lib/typedarray/Int8Array#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1111 end end @@ -58578,29 +58879,29 @@ local.get $0 i32.const 10940 i32.load - local.tee $3 + local.tee $0 call $~lib/typedarray/Uint8Array#constructor local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0116200 - local.get $3 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if local.get $2 - local.get $16 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0116200 end end @@ -58608,50 +58909,50 @@ local.tee $1 local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 + local.get $3 local.get $2 i32.load offset=4 local.get $2 i32.load i32.sub - local.tee $0 + local.tee $1 local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 i32.store offset=12 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $0 + local.tee $3 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1121 - local.get $3 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if local.get $2 - local.get $16 + local.get $1 call $~lib/typedarray/Uint8Array#__get - local.get $0 - local.get $16 + local.get $3 + local.get $1 call $~lib/typedarray/Uint8Array#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1121 end end @@ -58678,54 +58979,55 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0126 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0126 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -58737,60 +59039,61 @@ i32.lt_s br_if $folding-inner22 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $7 i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.set $1 - local.get $0 + local.set $8 + local.get $7 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $7 i32.store - local.get $0 - local.get $3 + local.get $7 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $7 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $3 + local.get $7 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $7 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1131 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get - local.get $0 - local.get $16 + local.get $7 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1131 end end @@ -58817,53 +59120,54 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0136 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0136 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -58877,11 +59181,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 1 i32.and br_if $folding-inner20 @@ -58889,48 +59193,49 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1141 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Int16Array#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1141 end end @@ -58957,54 +59262,55 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0146 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0146 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59018,11 +59324,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 1 i32.and br_if $folding-inner20 @@ -59030,48 +59336,49 @@ i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1151 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Uint16Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Uint16Array#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1151 end end @@ -59098,52 +59405,53 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0156 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0156 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59157,11 +59465,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 3 i32.and br_if $folding-inner20 @@ -59169,48 +59477,49 @@ i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1161 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Int32Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Int32Array#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1161 end end @@ -59237,52 +59546,53 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0166 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0166 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59296,11 +59606,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 3 i32.and br_if $folding-inner20 @@ -59308,48 +59618,49 @@ i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1171 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Uint32Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Uint32Array#__get i32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1171 end end @@ -59376,53 +59687,54 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0176 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0176 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59436,11 +59748,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 7 i32.and br_if $folding-inner20 @@ -59448,48 +59760,49 @@ i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1181 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Int64Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Int64Array#__get i64.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1181 end end @@ -59516,53 +59829,54 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0186 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0186 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59576,11 +59890,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 7 i32.and br_if $folding-inner20 @@ -59588,48 +59902,49 @@ i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1191 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Uint64Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Uint64Array#__get i64.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1191 end end @@ -59656,53 +59971,54 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0196 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0196 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59716,11 +60032,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 3 i32.and br_if $folding-inner20 @@ -59728,48 +60044,49 @@ i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1201 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Float32Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Float32Array#__get f32.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1201 end end @@ -59796,53 +60113,54 @@ local.get $0 i32.const 10940 i32.load - local.tee $5 + local.tee $0 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $2 i32.store offset=4 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|0206 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 i32.const 10928 - local.get $16 + local.get $1 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|0206 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 + local.get $2 i32.load - local.tee $0 + local.tee $3 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 + local.get $3 + local.get $2 i32.load offset=4 - local.get $4 + local.get $2 i32.load i32.sub - local.tee $0 - local.get $4 + local.tee $1 + local.get $2 i32.load offset=8 - local.get $0 + local.get $1 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.set $3 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -59856,11 +60174,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.tee $1 + local.tee $7 i32.const 7 i32.and br_if $folding-inner20 @@ -59868,48 +60186,49 @@ i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $8 i32.store - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store - local.get $3 + local.get $1 if - local.get $0 - local.get $3 + local.get $8 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + local.get $8 + local.get $7 i32.store offset=8 - local.get $0 - local.get $3 + local.get $8 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + local.get $8 i32.store offset=16 i32.const 0 - local.set $16 + local.set $1 loop $for-loop|1211 - local.get $5 - local.get $16 + local.get $0 + local.get $1 i32.gt_s if - local.get $4 - local.get $16 + local.get $2 + local.get $1 call $~lib/typedarray/Float64Array#__get - local.get $0 - local.get $16 + local.get $8 + local.get $1 call $~lib/typedarray/Float64Array#__get f64.ne br_if $folding-inner19 - local.get $16 + local.get $1 i32.const 1 i32.add - local.set $16 + local.set $1 br $for-loop|1211 end end @@ -59931,172 +60250,172 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 + local.tee $0 i32.store offset=24 global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $0 + local.tee $1 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 f32.const 400 call $~lib/typedarray/Float32Array#__set - local.get $0 + local.get $1 i32.const 1 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set - local.get $0 + local.get $1 i32.const 2 f32.const inf call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store offset=8 - local.get $4 + local.get $3 i32.const 0 i64.const -10 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 100 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 10 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 3 i64.const 300 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 2 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $7 i32.store offset=16 - local.get $5 + local.get $7 i32.const 0 i32.const 300 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const -1 call $~lib/typedarray/Int32Array#__set - local.get $7 - i32.load offset=8 local.get $0 i32.load offset=8 + local.get $1 + i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $8 i32.const 1 i32.add i32.lt_s br_if $folding-inner21 - local.get $7 + local.get $0 i32.load offset=4 i32.const 1 i32.add - local.set $2 - local.get $0 + local.set $9 + local.get $1 i32.load offset=4 - local.set $0 - i32.const 0 local.set $1 + i32.const 0 + local.set $2 loop $for-loop|0216 - local.get $1 - local.get $3 + local.get $2 + local.get $8 i32.lt_s if - local.get $1 local.get $2 + local.get $9 i32.add f32.const 0 f32.const 255 - local.get $0 local.get $1 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.tee $6 + local.tee $5 f32.min f32.max i32.trunc_sat_f32_u i32.const 0 - local.get $6 - local.get $6 + local.get $5 + local.get $5 f32.sub f32.const 0 f32.eq select i32.store8 - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0216 end end - local.get $7 - local.get $4 + local.get $0 + local.get $3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $7 + local.get $0 i32.load offset=8 - local.get $5 + local.get $7 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 + local.tee $1 i32.const 8 i32.add i32.lt_s br_if $folding-inner21 - local.get $7 + local.get $0 i32.load offset=4 i32.const 8 i32.add local.set $3 - local.get $5 + local.get $7 i32.load offset=4 - local.set $2 + local.set $7 i32.const 0 - local.set $1 + local.set $2 loop $for-loop|0221 local.get $1 - local.get $4 - i32.lt_s + local.get $2 + i32.gt_s if - local.get $1 + local.get $2 local.get $3 i32.add i32.const 255 + local.get $7 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add i32.load - local.tee $0 + local.tee $8 i32.sub i32.const 31 i32.shr_s - local.get $0 + local.get $8 i32.or - local.get $0 + local.get $8 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.and i32.store8 - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0221 end end @@ -60105,102 +60424,102 @@ i32.const 63 i32.const 15280 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $7 local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint32Array#constructor - local.tee $0 + local.tee $1 i32.store offset=28 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $0 + local.get $1 i32.const 1 i32.const 300 call $~lib/typedarray/Uint32Array#__set - local.get $0 + local.get $1 i32.const 2 i32.const 100 call $~lib/typedarray/Uint32Array#__set - local.get $0 + local.get $1 i32.const 3 i32.const -1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $3 i32.store - local.get $5 + local.get $3 i32.const 0 i32.const -10 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $3 i32.const 1 i32.const 100 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $3 i32.const 2 i32.const 10 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $3 i32.const 3 i32.const 300 call $~lib/typedarray/Int16Array#__set - local.get $0 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $4 - local.get $7 + local.tee $7 + local.get $0 i32.load offset=8 i32.gt_s br_if $folding-inner21 - local.get $7 - i32.load offset=4 - local.set $3 local.get $0 i32.load offset=4 - local.set $2 - i32.const 0 + local.set $8 + local.get $1 + i32.load offset=4 local.set $1 + i32.const 0 + local.set $2 loop $for-loop|0226 - local.get $1 - local.get $4 + local.get $2 + local.get $7 i32.lt_s if - local.get $1 - local.get $3 + local.get $2 + local.get $8 i32.add i32.const 255 - local.get $2 local.get $1 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.tee $0 - local.get $0 + local.tee $9 + local.get $9 i32.const 255 i32.gt_u select i32.store8 - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0226 end end - local.get $7 - local.get $5 + local.get $0 + local.get $3 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> i32.const 10 @@ -60208,12 +60527,12 @@ i32.const 63 i32.const 15312 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $7 local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 0 local.set $0 @@ -60235,21 +60554,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60277,9 +60597,9 @@ i32.const 15344 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 local.get $0 call $~lib/util/sort/SORT @@ -60288,20 +60608,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 3 @@ -60310,25 +60631,25 @@ global.get $~lib/memory/__stack_pointer i32.const 15376 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 15376 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 1 @@ -60358,21 +60679,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60400,9 +60722,9 @@ i32.const 15408 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 local.get $0 call $~lib/util/sort/SORT @@ -60411,20 +60733,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 3 @@ -60433,25 +60756,25 @@ global.get $~lib/memory/__stack_pointer i32.const 15440 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 15440 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 1 @@ -60481,21 +60804,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60523,9 +60847,9 @@ i32.const 15472 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 local.get $0 call $~lib/util/sort/SORT @@ -60534,20 +60858,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 @@ -60556,25 +60881,25 @@ global.get $~lib/memory/__stack_pointer i32.const 15504 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 15504 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 @@ -60604,21 +60929,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60646,9 +60972,9 @@ i32.const 15536 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u @@ -60659,20 +60985,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 3 @@ -60681,27 +61008,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15568 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u i32.const 15568 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 1 @@ -60731,21 +61058,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60773,9 +61101,9 @@ i32.const 15600 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u @@ -60786,20 +61114,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 3 @@ -60808,27 +61137,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15632 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u i32.const 15632 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 1 @@ -60858,21 +61187,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60900,9 +61230,9 @@ i32.const 15664 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u @@ -60913,20 +61243,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -60935,27 +61266,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15696 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 15696 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 1 @@ -60985,21 +61316,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $2 + local.get $1 i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61027,9 +61359,9 @@ i32.const 15728 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u @@ -61040,20 +61372,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 3 @@ -61062,27 +61395,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15760 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 15760 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 1 @@ -61112,21 +61445,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $2 + local.get $1 i32.const 0 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61154,9 +61488,9 @@ i32.const 15792 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u @@ -61167,20 +61501,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 3 @@ -61189,27 +61524,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15824 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 15824 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 1 @@ -61239,21 +61574,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $1 i32.const 0 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61281,9 +61617,9 @@ i32.const 15856 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u @@ -61294,20 +61630,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 3 @@ -61316,27 +61653,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15888 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u i32.const 15888 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 1 @@ -61366,21 +61703,22 @@ local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 i32.const 2 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $2 + local.get $1 i32.const 0 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61408,9 +61746,9 @@ i32.const 15920 i32.store end - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u @@ -61421,20 +61759,21 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne br_if $folding-inner31 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne br_if $folding-inner32 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 3 @@ -61443,27 +61782,27 @@ global.get $~lib/memory/__stack_pointer i32.const 15952 i32.store offset=8 - local.get $2 + local.get $1 i32.load offset=4 - local.get $2 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u i32.const 15952 call $~lib/util/sort/SORT - local.get $2 + local.get $1 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne br_if $folding-inner34 - local.get $2 + local.get $1 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne br_if $folding-inner35 - local.get $2 + local.get $1 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 1 @@ -62943,48 +63282,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store - local.get $0 - i32.load offset=8 - local.set $2 - local.get $3 - i32.const 12 i32.const 4 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 local.get $0 - i32.load + i32.load offset=8 local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_s select - local.tee $0 - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -62994,26 +63308,51 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63035,48 +63374,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 - local.set $2 - local.get $3 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_s select - local.tee $0 - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63086,26 +63400,51 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63127,52 +63466,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63182,19 +63494,46 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.const 1 i32.shl @@ -63203,7 +63542,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63225,52 +63564,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63280,19 +63592,46 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.const 1 i32.shl @@ -63301,7 +63640,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63323,52 +63662,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63378,19 +63690,46 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.const 2 i32.shl @@ -63399,7 +63738,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63421,52 +63760,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63476,19 +63788,46 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.const 3 i32.shl @@ -63497,7 +63836,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63519,52 +63858,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63574,19 +63886,46 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.const 3 i32.shl @@ -63595,7 +63934,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -63617,52 +63956,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store + i32.const 4 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - local.get $0 - i32.load local.tee $3 - i32.store local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63672,19 +63984,46 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new local.tee $1 + i32.store + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.lt_s select - local.get $0 + local.get $2 i32.sub i32.const 2 i32.shl @@ -63693,7 +64032,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $~lib/util/number/itoa32 (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 760d2fe48e..d41a455c03 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1003,6 +1003,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1035,6 +1036,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -4244,19 +4246,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index cdf933b481..a29b4866d3 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -896,6 +896,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -928,6 +929,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1043,13 +1045,13 @@ end global.get $~lib/rt/itcms/total local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1523,19 +1525,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index 9f89697ec4..f824e31c54 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -1,8 +1,8 @@ (module (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $f64_=>_i32 (func (param f64) (result i32))) @@ -1233,6 +1233,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1265,6 +1266,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1732,222 +1734,6 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - block $__inlined_func$~lib/util/string/joinStringArray (result i32) - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 2 - i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 5716 - i32.lt_s - if - i32.const 22128 - i32.const 22176 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store - local.get $5 - i32.const 0 - i32.store offset=8 - local.get $4 - i32.const 1 - i32.sub - local.tee $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1184 - br $__inlined_func$~lib/util/string/joinStringArray - end - local.get $5 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load - local.tee $0 - i32.store - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 1184 - local.get $0 - select - br $__inlined_func$~lib/util/string/joinStringArray - end - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - if - local.get $1 - local.get $6 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1180 - i32.load - i32.const 1 - i32.shr_u - local.tee $1 - local.get $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $6 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 1 - i32.shl - memory.copy - local.get $2 - local.get $6 - i32.add - local.set $2 - end - local.get $1 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 1184 - local.get $1 - i32.const 1 - i32.shl - memory.copy - local.get $1 - local.get $2 - i32.add - local.set $2 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 - i32.store offset=4 - local.get $0 - if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - memory.copy - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - end - ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $while-continue|0 @@ -2176,27 +1962,26 @@ (local $5 i32) (local $6 i32) (local $7 i64) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) - (local $12 i64) local.get $1 local.get $0 i64.sub - local.set $9 + local.set $8 i64.const 1 i32.const 0 local.get $2 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $0 i64.shl - local.tee $11 + local.tee $10 i64.const 1 i64.sub - local.tee $12 + local.tee $11 local.get $1 i64.and local.set $7 @@ -2377,11 +2162,6 @@ i32.or if local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 i32.const 1 i32.shl i32.const 3920 @@ -2392,6 +2172,10 @@ i32.const 48 i32.add i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 end local.get $2 i32.const 1 @@ -2400,7 +2184,7 @@ local.get $3 local.get $5 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 @@ -2418,7 +2202,7 @@ i32.const 4848 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $1 @@ -2432,7 +2216,7 @@ local.set $2 loop $while-continue|3 local.get $0 - local.get $9 + local.get $8 i64.lt_u local.get $3 local.get $0 @@ -2441,19 +2225,19 @@ i64.ge_u i32.and if (result i32) - local.get $9 - local.get $0 - i64.sub + local.get $8 local.get $0 local.get $1 i64.add local.tee $7 - local.get $9 - i64.sub i64.gt_u + local.get $8 + local.get $0 + i64.sub local.get $7 - local.get $9 - i64.lt_u + local.get $8 + i64.sub + i64.gt_u i32.or else i32.const 0 @@ -2488,7 +2272,7 @@ i64.const 10 i64.mul local.tee $0 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $1 @@ -2521,7 +2305,7 @@ i32.sub local.set $2 local.get $0 - local.get $12 + local.get $11 i64.and local.tee $7 local.get $3 @@ -2534,7 +2318,7 @@ global.set $~lib/util/number/_K local.get $7 local.set $0 - local.get $9 + local.get $8 i32.const 0 local.get $2 i32.sub @@ -2560,7 +2344,7 @@ local.get $3 local.get $0 i64.sub - local.get $11 + local.get $10 i64.ge_u i32.and if (result i32) @@ -2568,7 +2352,7 @@ local.get $0 i64.sub local.get $0 - local.get $11 + local.get $10 i64.add local.tee $7 local.get $1 @@ -2587,7 +2371,7 @@ i32.sub local.set $2 local.get $0 - local.get $11 + local.get $10 i64.add local.set $0 br $while-continue|6 @@ -2932,10 +2716,10 @@ (local $3 i64) (local $4 i64) (local $5 i64) - (local $6 i32) + (local $6 i64) (local $7 i32) (local $8 i32) - (local $9 i64) + (local $9 i32) (local $10 i64) (local $11 i64) (local $12 i64) @@ -2961,19 +2745,19 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $6 + local.tee $7 i32.const 1 - local.get $6 + local.get $7 select i32.const 1075 i32.sub - local.tee $7 + local.tee $8 i32.const 1 i32.sub local.get $1 i64.const 4503599627370495 i64.and - local.get $6 + local.get $7 i32.const 0 i32.ne i64.extend_i32_u @@ -2988,11 +2772,11 @@ local.tee $3 i64.clz i32.wrap_i64 - local.tee $6 + local.tee $7 i32.sub - local.set $8 + local.set $9 local.get $3 - local.get $6 + local.get $7 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -3002,25 +2786,25 @@ i64.eq i32.const 1 i32.add - local.tee $6 + local.tee $7 i64.extend_i32_s i64.shl i64.const 1 i64.sub + local.get $8 local.get $7 - local.get $6 i32.sub - local.get $8 + local.get $9 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $8 + local.get $9 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $6 + local.tee $7 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -3029,8 +2813,8 @@ f64.add local.tee $0 i32.trunc_sat_f64_s - local.tee $7 - local.get $7 + local.tee $8 + local.get $8 f64.convert_i32_s local.get $0 f64.ne @@ -3039,18 +2823,18 @@ i32.shr_s i32.const 1 i32.add - local.tee $7 + local.tee $8 i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.sub global.set $~lib/util/number/_K - local.get $8 + local.get $9 i32.const 3976 i32.add i64.load global.set $~lib/util/number/_frc_pow - local.get $7 + local.get $8 i32.const 1 i32.shl i32.const 4672 @@ -3065,78 +2849,78 @@ i64.const 4294967295 i64.and local.set $4 + global.get $~lib/util/number/_frc_pow + local.tee $10 + i64.const 4294967295 + i64.and + local.tee $11 local.get $1 i64.const 32 i64.shr_u local.tee $1 - global.get $~lib/util/number/_frc_pow - local.tee $9 - i64.const 4294967295 - i64.and - local.tee $10 i64.mul local.get $4 - local.get $10 + local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 + local.set $5 global.get $~lib/util/number/_frc_plus local.tee $3 i64.const 4294967295 i64.and local.set $12 - local.get $10 local.get $3 i64.const 32 i64.shr_u local.tee $3 + local.get $11 i64.mul - local.get $10 + local.get $11 local.get $12 i64.mul i64.const 32 i64.shr_u i64.add - local.set $5 + local.set $6 global.get $~lib/util/number/_frc_minus local.tee $13 i64.const 4294967295 i64.and local.set $14 - local.get $10 local.get $13 i64.const 32 i64.shr_u local.tee $13 + local.get $11 i64.mul - local.get $10 + local.get $11 local.get $14 i64.mul i64.const 32 i64.shr_u i64.add - local.set $10 + local.set $11 local.get $2 i32.const 1 i32.shl i32.const 3920 i32.add - local.get $9 + local.get $1 + local.get $10 i64.const 32 i64.shr_u - local.tee $9 - local.get $1 + local.tee $1 i64.mul - local.get $11 + local.get $5 i64.const 32 i64.shr_u i64.add + local.get $1 local.get $4 - local.get $9 i64.mul - local.get $11 + local.get $5 i64.const 4294967295 i64.and i64.add @@ -3145,17 +2929,17 @@ i64.const 32 i64.shr_u i64.add + local.get $1 local.get $3 - local.get $9 i64.mul - local.get $5 + local.get $6 i64.const 32 i64.shr_u i64.add - local.get $9 + local.get $1 local.get $12 i64.mul - local.get $5 + local.get $6 i64.const 4294967295 i64.and i64.add @@ -3166,24 +2950,24 @@ i64.add i64.const 1 i64.sub - local.tee $1 - local.get $6 + local.tee $3 + local.get $7 global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub + local.get $3 local.get $1 - local.get $9 local.get $13 i64.mul - local.get $10 + local.get $11 i64.const 32 i64.shr_u i64.add - local.get $9 + local.get $1 local.get $14 i64.mul - local.get $10 + local.get $11 i64.const 4294967295 i64.and i64.add @@ -3407,7 +3191,11 @@ i32.const 1184 i32.store offset=20 i32.const 1744 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 1740 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3529,7 +3317,11 @@ i32.const 1184 i32.store offset=12 i32.const 3680 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 3676 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3651,7 +3443,11 @@ i32.const 1184 i32.store offset=12 i32.const 4976 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 4972 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3785,7 +3581,11 @@ i32.const 1184 i32.store offset=20 i32.const 5440 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 5436 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4211,10 +4011,12 @@ i32.const 5328 local.get $0 call $~lib/string/String#concat + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $templateliteral/RecursiveObject#toString (param $0 i32) (result i32) (local $1 i32) @@ -4249,10 +4051,12 @@ if local.get $0 i32.load + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end global.get $~lib/memory/__stack_pointer @@ -4287,11 +4091,17 @@ i32.const 1184 i32.store offset=16 i32.const 5616 - call $~lib/staticarray/StaticArray<~lib/string/String>#join + i32.const 5612 + i32.load + i32.const 2 + i32.shr_u + call $~lib/util/string/joinStringArray + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -4366,6 +4176,214 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 5716 + i32.lt_s + if + i32.const 22128 + i32.const 22176 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store + local.get $4 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1184 + return + end + local.get $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load + local.tee $0 + i32.store + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 1184 + local.get $0 + select + return + end + loop $for-loop|0 + local.get $1 + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.store offset=4 + local.get $5 + if + local.get $2 + local.get $5 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1180 + i32.load + i32.const 1 + i32.shr_u + local.tee $2 + local.get $4 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy + local.get $1 + local.get $6 + i32.add + local.set $1 + end + local.get $2 + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 1184 + local.get $2 + i32.const 1 + i32.shl + memory.copy + local.get $1 + local.get $2 + i32.add + local.set $1 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 + i32.store offset=4 + local.get $0 + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + memory.copy + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) (func $templateliteral/Ref#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/throw.release.wat b/tests/compiler/throw.release.wat index 2fb5742739..1cc6182270 100644 --- a/tests/compiler/throw.release.wat +++ b/tests/compiler/throw.release.wat @@ -854,6 +854,7 @@ global.set $~lib/rt/tlsf/ROOT end global.get $~lib/rt/tlsf/ROOT + local.set $0 local.get $3 i32.const 4 i32.sub @@ -886,6 +887,7 @@ i32.const 1 i32.or i32.store + local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock end @@ -1217,19 +1219,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index d2182e90d1..dd158bb874 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -1028,6 +1028,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -1060,6 +1061,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -2063,19 +2065,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/wasi/trace.release.wat b/tests/compiler/wasi/trace.release.wat index b2c02e1f68..f58ef99384 100644 --- a/tests/compiler/wasi/trace.release.wat +++ b/tests/compiler/wasi/trace.release.wat @@ -1165,26 +1165,25 @@ (local $7 i64) (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i64) - (local $13 i64) local.get $2 local.get $1 i64.sub - local.set $12 + local.set $11 i64.const 1 i32.const 0 local.get $3 i32.sub - local.tee $10 + local.tee $9 i64.extend_i32_s local.tee $1 i64.shl - local.tee $13 + local.tee $12 i64.const 1 i64.sub - local.tee $11 + local.tee $10 local.get $2 i64.and local.set $7 @@ -1238,9 +1237,9 @@ i32.add end end - local.set $9 + local.set $8 loop $while-continue|0 - local.get $9 + local.get $8 i32.const 0 i32.gt_s if @@ -1256,7 +1255,7 @@ block $case2|1 block $case1|1 block $case0|1 - local.get $9 + local.get $8 i32.const 1 i32.sub br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 @@ -1364,13 +1363,8 @@ local.get $6 i32.or if - local.get $5 - local.tee $8 - i32.const 1 - i32.add - local.set $5 local.get $0 - local.get $8 + local.get $5 i32.const 1 i32.shl i32.add @@ -1380,33 +1374,37 @@ i32.const 48 i32.add i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 + local.set $8 + local.get $4 local.get $3 i64.extend_i32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.get $7 i64.add local.tee $1 - local.get $4 - i64.le_u + i64.ge_u if global.get $~lib/util/number/_K - local.get $9 + local.get $8 i32.add global.set $~lib/util/number/_K - local.get $9 + local.get $8 i32.const 2 i32.shl i32.const 2200 i32.add i64.load32_u - local.get $10 + local.get $9 i64.extend_i32_s i64.shl local.set $2 @@ -1419,10 +1417,10 @@ i32.add local.tee $0 i32.load16_u - local.set $9 + local.set $8 loop $while-continue|3 local.get $1 - local.get $12 + local.get $11 i64.lt_u local.get $4 local.get $1 @@ -1431,28 +1429,28 @@ i64.ge_u i32.and if (result i32) - local.get $12 - local.get $1 - i64.sub + local.get $11 local.get $1 local.get $2 i64.add local.tee $7 - local.get $12 - i64.sub i64.gt_u + local.get $11 + local.get $1 + i64.sub local.get $7 - local.get $12 - i64.lt_u + local.get $11 + i64.sub + i64.gt_u i32.or else i32.const 0 end if - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 + local.set $8 local.get $1 local.get $2 i64.add @@ -1461,7 +1459,7 @@ end end local.get $0 - local.get $9 + local.get $8 i32.store16 local.get $5 return @@ -1469,7 +1467,7 @@ br $while-continue|0 end end - loop $while-continue|4 (result i32) + loop $while-continue|4 local.get $4 i64.const 10 i64.mul @@ -1478,7 +1476,7 @@ i64.const 10 i64.mul local.tee $1 - local.get $10 + local.get $9 i64.extend_i32_s i64.shr_u local.tee $2 @@ -1488,13 +1486,8 @@ i64.const 0 i64.ne if - local.get $5 - local.tee $3 - i32.const 1 - i32.add - local.set $5 local.get $0 - local.get $3 + local.get $5 i32.const 1 i32.shl i32.add @@ -1505,90 +1498,94 @@ i32.const 48 i32.add i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $9 + local.get $8 i32.const 1 i32.sub - local.set $9 - local.get $4 + local.set $8 local.get $1 - local.get $11 + local.get $10 i64.and local.tee $7 - i64.le_u + local.get $4 + i64.ge_u br_if $while-continue|4 - global.get $~lib/util/number/_K - local.get $9 - i32.add - global.set $~lib/util/number/_K - local.get $7 - local.set $1 + end + global.get $~lib/util/number/_K + local.get $8 + i32.add + global.set $~lib/util/number/_K + local.get $7 + local.set $1 + local.get $11 + i32.const 0 + local.get $8 + i32.sub + i32.const 2 + i32.shl + i32.const 2200 + i32.add + i64.load32_u + i64.mul + local.set $2 + local.get $0 + local.get $5 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $8 + loop $while-continue|6 + local.get $1 + local.get $2 + i64.lt_u + local.get $4 + local.get $1 + i64.sub local.get $12 - i32.const 0 - local.get $9 - i32.sub - i32.const 2 - i32.shl - i32.const 2200 - i32.add - i64.load32_u - i64.mul - local.set $2 - local.get $0 - local.get $5 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $9 - loop $while-continue|6 + i64.ge_u + i32.and + if (result i32) + local.get $2 local.get $1 + local.get $12 + i64.add + local.tee $7 + i64.gt_u local.get $2 - i64.lt_u - local.get $4 local.get $1 i64.sub - local.get $13 - i64.ge_u - i32.and - if (result i32) - local.get $2 - local.get $1 - i64.sub - local.get $1 - local.get $13 - i64.add - local.tee $7 - local.get $2 - i64.sub - i64.gt_u - local.get $2 - local.get $7 - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $1 - local.get $13 - i64.add - local.set $1 - br $while-continue|6 - end + local.get $7 + local.get $2 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $8 + i32.const 1 + i32.sub + local.set $8 + local.get $1 + local.get $12 + i64.add + local.set $1 + br $while-continue|6 end - local.get $0 - local.get $9 - i32.store16 - local.get $5 end + local.get $0 + local.get $8 + i32.store16 + local.get $5 ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -2852,6 +2849,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $0 local.get $6 i32.const 4 i32.sub @@ -2884,6 +2882,7 @@ i32.const 1 i32.or i32.store + local.get $0 local.get $7 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 1488e913b9..59141029e8 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -884,6 +884,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $1 local.get $0 i32.const 4 i32.sub @@ -916,6 +917,7 @@ i32.const 1 i32.or i32.store + local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1600,13 +1602,13 @@ end global.get $~lib/rt/itcms/total local.tee $0 + local.get $0 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1915,19 +1917,17 @@ i32.const 32 i32.and end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end local.set $3 local.get $2 i32.load offset=8 local.set $0 local.get $1 - local.get $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 local.get $3 + select + local.get $2 i32.or i32.store offset=4 local.get $1