diff --git a/std/assembly/array.ts b/std/assembly/array.ts index 4fbebd33..67051cbf 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -1,4 +1,4 @@ -import { ALLOCATE, REALLOCATE, DISCARD, RETAIN, RELEASE, REGISTER, MAX_BYTELENGTH, ArrayBufferView } from "./runtime"; +import { ALLOCATE, REALLOCATE, DISCARD, RETAIN, RELEASE, REGISTER, MAX_BYTELENGTH, ArrayBufferView, MOVE } from "./runtime"; import { ArrayBuffer } from "./arraybuffer"; import { COMPARATOR, SORT } from "./util/sort"; import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number"; @@ -76,8 +76,10 @@ export class Array extends ArrayBufferView { if (isManaged()) { let offset = this.dataStart + (index << alignof()); let oldValue = load(offset); - store(offset, RETAIN(value, this)); - RELEASE(oldValue, this); // order is important + if (value !== oldValue) { + RELEASE(oldValue, this); + store(offset, RETAIN(value, this)); + } } else { store(this.dataStart + (index << alignof()), value); } @@ -155,8 +157,7 @@ export class Array extends ArrayBufferView { if (isManaged()) { let thisStart = this.dataStart; for (let offset: usize = 0; offset < thisSize; offset += sizeof()) { - let element = load(thisStart + offset); - store(outStart + offset, RETAIN>(element, out)); + store(outStart + offset, RETAIN>(load(thisStart + offset), out)); } let otherStart = other.dataStart; let otherSize = otherLen << alignof(); @@ -332,13 +333,11 @@ export class Array extends ArrayBufferView { var thisStart = this.dataStart; var thisBase = thisStart + (start << alignof()); for (let i = 0; i < deleteCount; ++i) { - let deleted = load(thisBase + (i << alignof())); - if (isManaged()) { - store(resultStart + (i << alignof()), RETAIN>(deleted, result)); - RELEASE(deleted, this); // order is important - } else { - store(resultStart + (i << alignof()), deleted); - } + store(resultStart + (i << alignof()), + isManaged() + ? MOVE>(load(thisBase + (i << alignof())), this, result) + : load(thisBase + (i << alignof())) + ); } memory.copy( result.dataStart, diff --git a/std/assembly/collector/dummy.ts b/std/assembly/collector/dummy.ts new file mode 100644 index 00000000..eef7048b --- /dev/null +++ b/std/assembly/collector/dummy.ts @@ -0,0 +1,35 @@ +// A dummy GC for looking at generated GC code without actually implementing it. + +// @ts-ignore: decorator +@inline +const TRACE = false; + +// @ts-ignore: decorator +@global @unsafe +function __gc_register(ref: usize): void { + if (TRACE) trace("gc.register", 1, ref); +} + +// @ts-ignore: decorator +@global @unsafe +function __gc_retain(ref: usize, parentRef: usize): void { + if (TRACE) trace("gc.retain", 2, ref, parentRef); +} + +// @ts-ignore: decorator +@global @unsafe +function __gc_release(ref: usize, parentRef: usize): void { + if (TRACE) trace("gc.release", 2, ref, parentRef); +} + +// @ts-ignore: decorator +@global @unsafe +function __gc_move(ref: usize, oldParentRef: usize, newParentRef: usize): void { + if (TRACE) trace("gc.move", 3, ref, oldParentRef, newParentRef); +} + +// @ts-ignore: decorator +@global @unsafe +function __gc_collect(): void { + if (TRACE) trace("gc.collect"); +} diff --git a/std/assembly/collector/itcm.ts b/std/assembly/collector/itcm.ts index 26dedc7e..1a0a11e2 100644 --- a/std/assembly/collector/itcm.ts +++ b/std/assembly/collector/itcm.ts @@ -214,7 +214,7 @@ function objToRef(obj: ManagedObject): usize { // @ts-ignore: decorator @global @unsafe export function __gc_register(ref: usize): void { - if (TRACE) trace("gc.register", 2, ref); + if (TRACE) trace("gc.register", 1, ref); step(); // also makes sure it's initialized var obj = refToObj(ref); obj.color = white; diff --git a/std/assembly/fixedarray.ts b/std/assembly/fixedarray.ts index fc209af9..637453b9 100644 --- a/std/assembly/fixedarray.ts +++ b/std/assembly/fixedarray.ts @@ -38,8 +38,10 @@ export class FixedArray { if (isManaged()) { let offset = changetype(this) + (index << alignof()); let oldValue = load(offset); - store(offset, RETAIN(value, this)); - RELEASE(oldValue, this); // order is important + if (value !== oldValue) { + RELEASE(oldValue, this); + store(offset, RETAIN(value, this)); + } } else { store(changetype(this) + (index << alignof()), value); } diff --git a/std/assembly/map.ts b/std/assembly/map.ts index 3e72b880..9eace7e2 100644 --- a/std/assembly/map.ts +++ b/std/assembly/map.ts @@ -106,8 +106,10 @@ export class Map { if (entry) { if (isManaged()) { let oldValue = entry.value; - entry.value = RETAIN(value, this); - RELEASE(oldValue, this); // order is important + if (value !== oldValue) { + RELEASE(oldValue, this); + entry.value = RETAIN(value, this); + } } else { entry.value = value; } diff --git a/std/assembly/runtime.ts b/std/assembly/runtime.ts index 10b42ab7..8ee4d5ba 100644 --- a/std/assembly/runtime.ts +++ b/std/assembly/runtime.ts @@ -1,5 +1,5 @@ // The runtime provides a set of macros for dealing with common AssemblyScript internals, like -// allocation, memory management in general, integration with a (potenial) garbage collector +// allocation, memory management in general, integration with a (potential) garbage collector // and interfaces to hard-wired data types like buffers and their views. Doing so ensures that // no matter which underlying implementation of a memory allocator or garbage collector is used, // as long as all runtime/managed objects adhere to the runtime conventions, it'll all play well @@ -19,7 +19,7 @@ import { HEAP_BASE, memory } from "./memory"; // Changes the size of a previously allocated, but not yet registered, runtime object, for // example when a pre-allocated buffer turned out to be too small or too large. This works by // aligning dynamic allocations to actual block size internally so in the best case REALLOCATE -// only changes a size while in the worst case moves the object to larger block. +// only updates payload size while in the worst case moves the object to larger a block. // // DISCARD(ref) // ------------ @@ -45,6 +45,14 @@ import { HEAP_BASE, memory } from "./memory"; // ignore this by design, while a reference counting collector decrements the reference count // and potentially frees the runtime object. // +// MOVE(ref, oldParentRef, newParentRef) +// -------------------------------------------------------------- +// Moves a reference to ref hold by oldParentRef to be now hold by newParentRef. This is a +// special case of first RELEASE'ing a reference on one and instantly RETAIN'ing the reference +// on another parent. A tracing garbage collector will most likely link the runtime object as if +// RETAIN'ed on the new parent only, while a reference counting collector can skip increment and +// decrement, as decrementing might otherwise involve a costly check for cyclic garbage. +// // ALLOCATE_UNMANAGED(size) // ------------------------ // Allocates an unmanaged struct-like object. This is used by the compiler as an abstraction @@ -209,7 +217,11 @@ function doRegister(ref: usize, classId: u32): usize { export function RETAIN(ref: T, parentRef: TParent): T { if (!isManaged()) ERROR("managed reference expected"); if (!isManaged()) ERROR("managed reference expected"); - doRetain(changetype(ref), changetype(parentRef)); + if (isNullable()) { + if (ref !== null) doRetain(changetype(ref), changetype(parentRef)); + } else { + doRetain(changetype(ref), changetype(parentRef)); + } return ref; } @@ -228,7 +240,13 @@ function doRetain(ref: usize, parentRef: usize): void { export function RELEASE(ref: T, parentRef: TParent): void { if (!isManaged()) ERROR("managed reference expected"); if (!isManaged()) ERROR("managed reference expected"); - doRelease(changetype(ref), changetype(parentRef)); + // FIXME: new Array(10) has non-nullable elements but still contains `null`s. + // In the future, something like this should probably initialize with `new Ref()`s. + // if (isNullable()) { + if (ref !== null) doRelease(changetype(ref), changetype(parentRef)); + // } else { + // doRelease(changetype(ref), changetype(parentRef)); + // } } function doRelease(ref: usize, parentRef: usize): void { @@ -240,6 +258,41 @@ function doRelease(ref: usize, parentRef: usize): void { if (GC_IMPLEMENTED) __gc_release(changetype(ref), changetype(parentRef)); } +/** Moves a registered object from one parent to another. */ +// @ts-ignore: decorator +@unsafe @inline +export function MOVE(ref: T, oldParentRef: TOldParent, newParentRef: TNewParent): T { + if (!isManaged()) ERROR("managed reference expected"); + if (!isManaged()) ERROR("managed reference expected"); + if (!isManaged()) ERROR("managed reference expected"); + if (isNullable()) { + if (ref !== null) doMove(changetype(ref), changetype(oldParentRef), changetype(newParentRef)); + } else { + doMove(changetype(ref), changetype(oldParentRef), changetype(newParentRef)); + } + return ref; +} + +function doMove(ref: usize, oldParentRef: usize, newParentRef: usize): void { + if (!ASC_NO_ASSERT) { + assertRegistered(ref); + assertRegistered(oldParentRef); + assertRegistered(newParentRef); + } + if (GC_IMPLEMENTED) { + // @ts-ignore: stub + if (isDefined(__gc_move)) { + // @ts-ignore: stub + __gc_move(changetype(ref), changetype(oldParentRef), changetype(newParentRef)); + } else { + // @ts-ignore: stub + __gc_retain(changetype(ref), changetype(newParentRef)); + // @ts-ignore: stub + __gc_release(changetype(ref), changetype(oldParentRef)); + } + } +} + /** Discards an unregistered object that turned out to be unnecessary. */ // @ts-ignore: decorator @unsafe @inline @@ -283,7 +336,7 @@ function assertUnregistered(ref: usize): void { /** Asserts that a managed object has already been registered. */ // @ts-ignore: decorator function assertRegistered(ref: usize): void { - // may be a static string or buffer (not a heap object) + assert(ref !== null); // may be a static string or buffer (not a heap object) assert(changetype
(ref - HEADER_SIZE).classId != HEADER_MAGIC); } diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 1da04389..9d4209c6 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -357,16 +357,16 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut let result = new Array(length); let resultStart = changetype(result).dataStart; for (let i: isize = 0; i < length; ++i) { - let charStr = ALLOCATE(2); + let charStr = REGISTER(ALLOCATE(2)); store( - charStr, + changetype(charStr), load(changetype(this) + (i << 1)) ); // result[i] = charStr store(resultStart + (i << alignof()), isManaged() - ? RETAIN>(REGISTER(charStr), result) - : REGISTER(charStr) + ? RETAIN>(charStr, result) + : charStr ); } return result; diff --git a/tests/compiler.js b/tests/compiler.js index 5b5c1405..1691b650 100644 --- a/tests/compiler.js +++ b/tests/compiler.js @@ -231,9 +231,8 @@ tests.forEach(filename => { let memory = new WebAssembly.Memory({ initial: 10 }); let exports = {}; - const RUNTIME_HEADER_SIZE = 8; // 16 if GC is present - function getString(ptr) { + const RUNTIME_HEADER_SIZE = exports[".capabilities"] & 2 ? 16 : 8; if (!ptr) return "null"; var U32 = new Uint32Array(exports.memory ? exports.memory.buffer : memory.buffer); var U16 = new Uint16Array(exports.memory ? exports.memory.buffer : memory.buffer); diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index c814bd71..6cb604ef 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$fii (func (param i32 i32) (result f32))) (type $FUNCSIG$d (func (result f64))) @@ -26,221 +26,397 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 48) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 96) "\01\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 112) "\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 144) "\02\00\00\00\05\00\00\00\01\02\03\04\05") - (data (i32.const 160) "\07\00\00\00\10\00\00\00\98\00\00\00\98\00\00\00\05\00\00\00\05") - (data (i32.const 184) "\02\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 200) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 240) "\02\00\00\00\05") - (data (i32.const 256) "\02\00\00\00\05\00\00\00\01\01") - (data (i32.const 272) "\02\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 288) "\02\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 304) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 336) "\08\00\00\00\10\00\00\008\01\00\008\01\00\00\14\00\00\00\05") - (data (i32.const 360) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 392) "\02\00\00\00\14") - (data (i32.const 424) "\02\00\00\00\14\00\00\00\01\00\00\00\01") - (data (i32.const 456) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 488) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 520) "\02") - (data (i32.const 528) "\02") - (data (i32.const 536) "\04\00\00\00\10\00\00\00\18\02\00\00\18\02") - (data (i32.const 560) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 592) "\02\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 624) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 656) "\02\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") - (data (i32.const 688) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 720) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 752) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 784) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 816) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 848) "\02\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 880) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 912) "\02\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 944) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 976) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1008) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1040) "\02\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1072) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1104) "\02\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1136) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1168) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1200) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1232) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1264) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1296) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 1328) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1360) "\04\00\00\00\10\00\00\008\05\00\008\05\00\00\14\00\00\00\05") - (data (i32.const 1384) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1416) "\02") - (data (i32.const 1424) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1456) "\02\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1480) "\02\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 1496) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1528) "\02\00\00\00\08\00\00\00\03\00\00\00\04") - (data (i32.const 1544) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05") - (data (i32.const 1568) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1600) "\02\00\00\00\04\00\00\00\01") - (data (i32.const 1616) "\02\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1640) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1672) "\02\00\00\00\04\00\00\00\05") - (data (i32.const 1688) "\02\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 1712) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1744) "\02\00\00\00\08\00\00\00\04\00\00\00\05") - (data (i32.const 1760) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 1784) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1816) "\02\00\00\00\04\00\00\00\04") - (data (i32.const 1832) "\02\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 1856) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1888) "\02\00\00\00\04\00\00\00\01") - (data (i32.const 1904) "\02\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1928) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1960) "\02") - (data (i32.const 1968) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2000) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2032) "\02") - (data (i32.const 2040) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2072) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2104) "\02") - (data (i32.const 2112) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2144) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2176) "\02") - (data (i32.const 2184) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2216) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2248) "\02") - (data (i32.const 2256) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2288) "\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 2320) "\01\00\00\00\ac\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 2504) "\02\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2544) "\t\00\00\00\10\00\00\00\d0\t\00\00\d0\t\00\00 \00\00\00\08") - (data (i32.const 2568) "\02\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2608) "\02\00\00\00@") - (data (i32.const 2622) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 2662) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 2680) "\n\00\00\00\10\00\00\008\n\00\008\n\00\00@\00\00\00\08") - (data (i32.const 2704) "\02\00\00\00@") - (data (i32.const 2718) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 2750) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2776) "\02\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2808) "\04\00\00\00\10\00\00\00\e0\n\00\00\e0\n\00\00\14\00\00\00\05") - (data (i32.const 2832) "\02\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 2864) "\02\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2896) "\08\00\00\00\10\00\00\008\0b\00\008\0b\00\00\14\00\00\00\05") - (data (i32.const 2920) "\02\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2952) "\02") - (data (i32.const 2960) "\04\00\00\00\10\00\00\00\90\0b\00\00\90\0b") - (data (i32.const 2984) "\02\00\00\00\04\00\00\00\01") - (data (i32.const 3000) "\04\00\00\00\10\00\00\00\b0\0b\00\00\b0\0b\00\00\04\00\00\00\01") - (data (i32.const 3024) "\02\00\00\00\08\00\00\00\02\00\00\00\01") - (data (i32.const 3040) "\04\00\00\00\10\00\00\00\d8\0b\00\00\d8\0b\00\00\08\00\00\00\02") - (data (i32.const 3064) "\02\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 3088) "\04\00\00\00\10\00\00\00\00\0c\00\00\00\0c\00\00\10\00\00\00\04") - (data (i32.const 3112) "\02\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3136) "\04\00\00\00\10\00\00\000\0c\00\000\0c\00\00\10\00\00\00\04") - (data (i32.const 3160) "\02\00\00\00\04\00\00\00\01") - (data (i32.const 3176) "\02\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 3192) "\01\00\00\00\02\00\00\00a") - (data (i32.const 3208) "\01\00\00\00\02\00\00\00b") - (data (i32.const 3224) "\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 3240) "\01\00\00\00\04\00\00\00b\00a") - (data (i32.const 3256) "\01") - (data (i32.const 3264) "\02\00\00\00\1c\00\00\00\80\0c\00\00\90\0c\00\00\80\0c\00\00\a0\0c\00\00\b0\0c\00\00\c0\0c") - (data (i32.const 3304) "\0e\00\00\00\10\00\00\00\c8\0c\00\00\c8\0c\00\00\1c\00\00\00\07") - (data (i32.const 3328) "\02\00\00\00\1c\00\00\00\c0\0c\00\00\80\0c\00\00\80\0c\00\00\a0\0c\00\00\90\0c\00\00\b0\0c") - (data (i32.const 3368) "\0e\00\00\00\10\00\00\00\08\0d\00\00\08\0d\00\00\1c\00\00\00\07") - (data (i32.const 3392) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3432) "\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 3448) "\02\00\00\00\02\00\00\00\01") - (data (i32.const 3464) "\01\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 3480) "\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3504) "\01\00\00\00\02\00\00\00,") - (data (i32.const 3520) "\02\00\00\00\02\00\00\00\01") - (data (i32.const 3536) "\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 3568) "\02\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3592) "\01\00\00\00\02\00\00\000") - (data (i32.const 3608) "\02\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 4016) "\08\00\00\00\10\00\00\00 \0e\00\00 \0e\00\00\90\01\00\00d") - (data (i32.const 4040) "\02\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4064) "\01\00\00\00\n\00\00\001\00-\002\00-\003") - (data (i32.const 4088) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4112) "\01\00\00\00\02\00\00\00-") - (data (i32.const 4128) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4152) "\02\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4168) "\01\00\00\00\04\00\00\00_\00_") - (data (i32.const 4184) "\02\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4200) "\01\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 4256) "\02\00\00\000") - (data (i32.const 4278) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4312) "\01\00\00\00\04\00\00\00,\00 ") - (data (i32.const 4328) "\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 4344) "\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 4360) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4392) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4416) "\02\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 3208) "\02\00\00\00 ") + (data (i32.const 3226) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 3256) "\t\00\00\00\10") + (data (i32.const 3272) "\98\0c\00\00\98\0c\00\00 \00\00\00\08") + (data (i32.const 3288) "\02\00\00\00 ") + (data (i32.const 3306) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 3336) "\02\00\00\00@") + (data (i32.const 3358) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 3398) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3416) "\n\00\00\00\10") + (data (i32.const 3432) "\18\0d\00\00\18\0d\00\00@\00\00\00\08") + (data (i32.const 3448) "\02\00\00\00@") + (data (i32.const 3470) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 3502) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3528) "\02\00\00\00\14") + (data (i32.const 3544) "\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3568) "\04\00\00\00\10") + (data (i32.const 3584) "\d8\0d\00\00\d8\0d\00\00\14\00\00\00\05") + (data (i32.const 3600) "\02\00\00\00\14") + (data (i32.const 3616) "\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 3640) "\02\00\00\00\14") + (data (i32.const 3656) "\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3680) "\08\00\00\00\10") + (data (i32.const 3696) "H\0e\00\00H\0e\00\00\14\00\00\00\05") + (data (i32.const 3712) "\02\00\00\00\14") + (data (i32.const 3732) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3752) "\02") + (data (i32.const 3768) "\04\00\00\00\10") + (data (i32.const 3784) "\b8\0e\00\00\b8\0e") + (data (i32.const 3800) "\02\00\00\00\04") + (data (i32.const 3816) "\01") + (data (i32.const 3824) "\04\00\00\00\10") + (data (i32.const 3840) "\e8\0e\00\00\e8\0e\00\00\04\00\00\00\01") + (data (i32.const 3856) "\02\00\00\00\08") + (data (i32.const 3872) "\02\00\00\00\01") + (data (i32.const 3880) "\04\00\00\00\10") + (data (i32.const 3896) " \0f\00\00 \0f\00\00\08\00\00\00\02") + (data (i32.const 3912) "\02\00\00\00\10") + (data (i32.const 3928) "\03\00\00\00\02\00\00\00\01") + (data (i32.const 3944) "\04\00\00\00\10") + (data (i32.const 3960) "X\0f\00\00X\0f\00\00\10\00\00\00\04") + (data (i32.const 3976) "\02\00\00\00\10") + (data (i32.const 3996) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 4008) "\04\00\00\00\10") + (data (i32.const 4024) "\98\0f\00\00\98\0f\00\00\10\00\00\00\04") + (data (i32.const 4040) "\02\00\00\00\04") + (data (i32.const 4056) "\01") + (data (i32.const 4064) "\02\00\00\00\08") + (data (i32.const 4080) "\01\00\00\00\02") + (data (i32.const 4088) "\01\00\00\00\02") + (data (i32.const 4104) "a") + (data (i32.const 4112) "\01\00\00\00\02") + (data (i32.const 4128) "b") + (data (i32.const 4136) "\01\00\00\00\04") + (data (i32.const 4152) "a\00b") + (data (i32.const 4160) "\01\00\00\00\04") + (data (i32.const 4176) "b\00a") + (data (i32.const 4184) "\01") + (data (i32.const 4200) "\02\00\00\00\1c") + (data (i32.const 4216) "\08\10\00\00 \10\00\00\08\10\00\008\10\00\00P\10\00\00h\10") + (data (i32.const 4248) "\0e\00\00\00\10") + (data (i32.const 4264) "x\10\00\00x\10\00\00\1c\00\00\00\07") + (data (i32.const 4280) "\02\00\00\00\1c") + (data (i32.const 4296) "h\10\00\00\08\10\00\00\08\10\00\008\10\00\00 \10\00\00P\10") + (data (i32.const 4328) "\0e\00\00\00\10") + (data (i32.const 4344) "\c8\10\00\00\c8\10\00\00\1c\00\00\00\07") + (data (i32.const 4360) "\01\00\00\00\1c") + (data (i32.const 4376) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 4408) "\01\00\00\00\08") + (data (i32.const 4424) "n\00u\00l\00l") + (data (i32.const 4432) "\02\00\00\00\02") + (data (i32.const 4448) "\01") + (data (i32.const 4456) "\01\00\00\00\08") + (data (i32.const 4472) "t\00r\00u\00e") + (data (i32.const 4480) "\01\00\00\00\n") + (data (i32.const 4496) "f\00a\00l\00s\00e") + (data (i32.const 4512) "\01\00\00\00\02") + (data (i32.const 4528) ",") + (data (i32.const 4536) "\02\00\00\00\02") + (data (i32.const 4552) "\01") + (data (i32.const 4560) "\01\00\00\00\14") + (data (i32.const 4576) "t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 4600) "\02\00\00\00\0c") + (data (i32.const 4616) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4632) "\01\00\00\00\02") + (data (i32.const 4648) "0") + (data (i32.const 4656) "\02\00\00\00\90\01") + (data (i32.const 4672) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 5072) "\08\00\00\00\10") + (data (i32.const 5088) "@\12\00\00@\12\00\00\90\01\00\00d") + (data (i32.const 5104) "\02\00\00\00\0c") + (data (i32.const 5120) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 5136) "\01\00\00\00\n") + (data (i32.const 5152) "1\00-\002\00-\003") + (data (i32.const 5168) "\02\00\00\00\0c") + (data (i32.const 5184) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 5200) "\01\00\00\00\02") + (data (i32.const 5216) "-") + (data (i32.const 5224) "\02\00\00\00\0c") + (data (i32.const 5240) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 5256) "\02\00\00\00\08") + (data (i32.const 5275) "\80\00\00\00\80") + (data (i32.const 5280) "\01\00\00\00\04") + (data (i32.const 5296) "_\00_") + (data (i32.const 5304) "\02\00\00\00\08") + (data (i32.const 5323) "\80\00\00\00\80") + (data (i32.const 5328) "\01\00\00\000") + (data (i32.const 5344) "-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 5392) "\02\00\00\000") + (data (i32.const 5422) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 5456) "\01\00\00\00\04") + (data (i32.const 5472) ",\00 ") + (data (i32.const 5480) "\01\00\00\00\06") + (data (i32.const 5496) "0\00.\000") + (data (i32.const 5504) "\01\00\00\00\06") + (data (i32.const 5520) "N\00a\00N") + (data (i32.const 5528) "\01\00\00\00\12") + (data (i32.const 5544) "-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 5568) "\01\00\00\00\10") + (data (i32.const 5584) "I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 5600) "\02\00\00\00\b8\02") + (data (i32.const 5616) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR~anonymous|0) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/array/arr (mut i32) (i32.const 0)) (global $std/array/Null (mut i32) (i32.const 0)) - (global $std/array/arr8 (mut i32) (i32.const 168)) - (global $std/array/arr32 (mut i32) (i32.const 344)) + (global $std/array/arr8 (mut i32) (i32.const 216)) + (global $std/array/arr32 (mut i32) (i32.const 456)) (global $std/array/i (mut i32) (i32.const 0)) (global $std/array/other (mut i32) (i32.const 0)) (global $std/array/out (mut i32) (i32.const 0)) - (global $std/array/source (mut i32) (i32.const 544)) + (global $std/array/source (mut i32) (i32.const 720)) (global $std/array/cwArr (mut i32) (i32.const 0)) (global $std/array/includes (mut i32) (i32.const 0)) - (global $std/array/sarr (mut i32) (i32.const 1368)) + (global $std/array/sarr (mut i32) (i32.const 1752)) (global $~lib/argc (mut i32) (i32.const 0)) (global $std/array/every (mut i32) (i32.const 0)) (global $std/array/some (mut i32) (i32.const 0)) @@ -252,15 +428,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2552)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2688)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2816)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2904)) - (global $std/array/reversed0 (mut i32) (i32.const 2968)) - (global $std/array/reversed1 (mut i32) (i32.const 3008)) - (global $std/array/reversed2 (mut i32) (i32.const 3048)) - (global $std/array/reversed4 (mut i32) (i32.const 3096)) - (global $std/array/expected4 (mut i32) (i32.const 3144)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 3272)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3432)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3584)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3696)) + (global $std/array/reversed0 (mut i32) (i32.const 3784)) + (global $std/array/reversed1 (mut i32) (i32.const 3840)) + (global $std/array/reversed2 (mut i32) (i32.const 3896)) + (global $std/array/reversed4 (mut i32) (i32.const 3960)) + (global $std/array/expected4 (mut i32) (i32.const 4024)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -270,8 +446,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3312)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3376)) + (global $std/array/randomStringsActual (mut i32) (i32.const 4264)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 4344)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_plus (mut i64) (i64.const 0)) (global $~lib/util/number/_frc_minus (mut i64) (i64.const 0)) @@ -283,9 +459,12 @@ (global $std/array/subarr32 (mut i32) (i32.const 0)) (global $std/array/subarr8 (mut i32) (i32.const 0)) (global $std/array/subarrU32 (mut i32) (i32.const 0)) + (global $~lib/started (mut i32) (i32.const 0)) + (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (start $start) + (export "main" (func $std/array/main)) + (export ".capabilities" (global $~lib/capabilities)) (func $~lib/memory/memory.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -353,7 +532,7 @@ i32.const 1 i32.const 32 local.get $0 - i32.const 7 + i32.const 15 i32.add i32.clz i32.sub @@ -366,7 +545,13 @@ local.get $0 i32.store offset=4 local.get $1 - i32.const 8 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 16 i32.add ) (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) @@ -596,26 +781,26 @@ ) (func $~lib/runtime/assertUnregistered (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 6524 + i32.const 8060 i32.le_u if i32.const 0 - i32.const 16 - i32.const 217 + i32.const 24 + i32.const 332 i32.const 2 call $~lib/env/abort unreachable end local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load i32.const -1520547049 i32.ne if i32.const 0 - i32.const 16 - i32.const 218 + i32.const 24 + i32.const 333 i32.const 2 call $~lib/env/abort unreachable @@ -625,7 +810,7 @@ local.get $0 call $~lib/runtime/assertUnregistered local.get $0 - i32.const 8 + i32.const 16 i32.sub local.get $1 i32.store @@ -634,11 +819,11 @@ (func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 1073741816 + i32.const 1073741808 i32.gt_u if i32.const 0 - i32.const 56 + i32.const 72 i32.const 24 i32.const 43 call $~lib/env/abort @@ -654,16 +839,48 @@ i32.const 2 call $~lib/runtime/doRegister ) - (func $~lib/runtime/ArrayBufferView#constructor (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/assertRegistered (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 339 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 16 + i32.sub + i32.load + i32.const -1520547049 + i32.eq + if + i32.const 0 + i32.const 24 + i32.const 340 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/runtime/doRetain (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + call $~lib/runtime/assertRegistered local.get $1 - i32.const 1073741816 + call $~lib/runtime/assertRegistered + ) + (func $~lib/runtime/ArrayBufferView#constructor (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $1 + i32.const 1073741808 local.get $2 i32.shr_u i32.gt_u if i32.const 0 - i32.const 16 - i32.const 251 + i32.const 24 + i32.const 366 i32.const 57 call $~lib/env/abort unreachable @@ -692,6 +909,9 @@ local.get $0 i32.const 0 i32.store offset=8 + local.get $2 + local.get $0 + call $~lib/runtime/doRetain local.get $0 local.get $2 i32.store @@ -703,7 +923,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 16 call $~lib/runtime/doAllocate @@ -720,7 +940,7 @@ i32.store offset=12 local.get $1 ) - (func $~lib/array/Array#fill (; 10 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/array/Array#fill (; 12 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) local.get $0 @@ -785,7 +1005,7 @@ call $~lib/memory/memory.fill end ) - (func $~lib/util/memory/memcpy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1682,7 +1902,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -1876,16 +2096,16 @@ end end ) - (func $~lib/runtime/doWrapArray (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/doWrapArray (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) i32.const 16 call $~lib/runtime/doAllocate local.get $1 call $~lib/runtime/doRegister - local.tee $3 + local.set $3 local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 local.tee $4 @@ -1893,6 +2113,10 @@ local.get $1 call $~lib/runtime/doRegister local.tee $1 + local.get $3 + call $~lib/runtime/doRetain + local.get $3 + local.get $1 i32.store local.get $3 local.get $1 @@ -1911,14 +2135,14 @@ call $~lib/memory/memory.copy local.get $3 ) - (func $~lib/array/Array#__get (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -1930,7 +2154,7 @@ i32.add i32.load8_u ) - (func $std/array/isArraysEqual (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -1977,7 +2201,7 @@ end i32.const 1 ) - (func $~lib/array/Array#fill (; 16 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/array/Array#fill (; 18 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) local.get $0 @@ -2050,7 +2274,7 @@ end end ) - (func $~lib/array/Array#__get (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2059,7 +2283,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -2073,7 +2297,7 @@ i32.add i32.load ) - (func $std/array/isArraysEqual (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -2123,13 +2347,13 @@ end i32.const 1 ) - (func $~lib/runtime/doReallocate (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/doReallocate (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 - i32.const 8 + i32.const 16 i32.sub local.tee $3 i32.load offset=4 @@ -2140,20 +2364,20 @@ i32.const 1 i32.const 32 local.get $2 - i32.const 7 + i32.const 15 i32.add i32.clz i32.sub i32.shl i32.const 0 local.get $0 - i32.const 6524 + i32.const 8060 i32.gt_u select i32.const 1 i32.const 32 local.get $1 - i32.const 7 + i32.const 15 i32.add i32.clz i32.sub @@ -2163,19 +2387,25 @@ if local.get $4 call $~lib/memory/memory.allocate - local.tee $4 + local.tee $5 local.get $3 i32.load i32.store - local.get $4 - i32.const 8 + local.get $5 + i32.const 0 + i32.store offset=8 + local.get $5 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 16 i32.add - local.tee $5 + local.tee $4 local.get $0 local.get $2 call $~lib/memory/memory.copy local.get $2 - local.get $5 + local.get $4 i32.add i32.const 0 local.get $1 @@ -2188,20 +2418,20 @@ i32.eq if local.get $0 - i32.const 6524 + i32.const 8060 i32.le_u if i32.const 0 - i32.const 16 - i32.const 107 + i32.const 24 + i32.const 177 i32.const 8 call $~lib/env/abort unreachable end end - local.get $4 - local.set $3 local.get $5 + local.set $3 + local.get $4 local.set $0 else local.get $0 @@ -2219,7 +2449,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureCapacity (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -2230,11 +2460,11 @@ i32.gt_u if local.get $1 - i32.const 268435454 + i32.const 268435452 i32.gt_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 10 i32.const 64 call $~lib/env/abort @@ -2252,6 +2482,9 @@ local.get $2 i32.ne if + local.get $1 + local.get $0 + call $~lib/runtime/doRetain local.get $0 local.get $1 i32.store @@ -2264,7 +2497,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#push (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $0 @@ -2287,7 +2520,7 @@ local.get $1 i32.store ) - (func $~lib/array/Array#pop (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2297,8 +2530,8 @@ i32.lt_s if i32.const 0 - i32.const 208 - i32.const 203 + i32.const 272 + i32.const 204 i32.const 20 call $~lib/env/abort unreachable @@ -2319,7 +2552,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#concat (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2356,7 +2589,7 @@ call $~lib/memory/memory.copy local.get $4 ) - (func $~lib/array/Array#copyWithin (; 24 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 26 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2523,7 +2756,7 @@ end local.get $0 ) - (func $~lib/array/Array#unshift (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#unshift (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2552,7 +2785,7 @@ local.get $2 i32.store offset=12 ) - (func $~lib/array/Array#shift (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2564,8 +2797,8 @@ i32.lt_s if i32.const 0 - i32.const 208 - i32.const 264 + i32.const 272 + i32.const 265 i32.const 20 call $~lib/env/abort unreachable @@ -2597,7 +2830,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#reverse (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array#reverse (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2644,7 +2877,7 @@ end end ) - (func $~lib/array/Array#indexOf (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2708,7 +2941,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -2716,7 +2949,7 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#splice (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2724,7 +2957,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) local.get $2 local.get $0 i32.load offset=12 @@ -2752,9 +2984,9 @@ end local.tee $1 i32.sub - local.tee $5 + local.tee $3 local.get $2 - local.get $5 + local.get $3 i32.lt_s select local.tee $3 @@ -2765,17 +2997,17 @@ select local.tee $2 call $~lib/array/Array#constructor - local.tee $7 + local.tee $6 i32.load offset=4 - local.set $8 + local.set $7 local.get $0 i32.load offset=4 - local.tee $9 + local.tee $8 local.get $1 i32.const 2 i32.shl i32.add - local.set $6 + local.set $5 i32.const 0 local.set $3 loop $repeat|0 @@ -2787,15 +3019,13 @@ local.get $3 i32.const 2 i32.shl - local.tee $10 - local.get $6 - i32.add - i32.load - local.set $5 - local.get $8 - local.get $10 + local.tee $9 + local.get $7 i32.add local.get $5 + local.get $9 + i32.add + i32.load i32.store local.get $3 i32.const 1 @@ -2804,9 +3034,9 @@ br $repeat|0 end end - local.get $7 - i32.load offset=4 local.get $6 + i32.load offset=4 + local.get $5 local.get $2 i32.const 2 i32.shl @@ -2818,11 +3048,11 @@ local.get $4 i32.ne if - local.get $6 + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $9 + local.get $8 i32.add local.get $4 local.get $1 @@ -2836,9 +3066,9 @@ local.get $2 i32.sub i32.store offset=12 - local.get $7 + local.get $6 ) - (func $~lib/array/Array#__set (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 local.get $1 i32.const 1 @@ -2864,11 +3094,11 @@ i32.store offset=12 end ) - (func $start:std/array~anonymous|0 (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.eqz ) - (func $~lib/array/Array#findIndex (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2916,17 +3146,17 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.eq ) - (func $start:std/array~anonymous|2 (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|3 (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -2934,7 +3164,7 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|5 (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -2942,12 +3172,12 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|6 (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2995,12 +3225,12 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.le_s ) - (func $start:std/array~anonymous|8 (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3008,12 +3238,12 @@ i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|9 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|10 (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3021,12 +3251,12 @@ i32.const 3 i32.lt_s ) - (func $start:std/array~anonymous|11 (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3074,12 +3304,12 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const -1 i32.le_s ) - (func $start:std/array~anonymous|13 (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3087,12 +3317,12 @@ i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|14 (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|15 (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3100,13 +3330,13 @@ i32.const 3 i32.gt_s ) - (func $start:std/array~anonymous|16 (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i ) - (func $~lib/array/Array#forEach (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3149,7 +3379,7 @@ unreachable end ) - (func $start:std/array~anonymous|17 (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3158,7 +3388,7 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|19 (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/array/Array#pop drop @@ -3167,7 +3397,7 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|20 (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $1 i32.eqz @@ -3256,19 +3486,19 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 559 + i32.const 152 + i32.const 562 i32.const 4 call $~lib/env/abort unreachable end end ) - (func $start:std/array~anonymous|21 (; 55 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 57 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $0 f32.convert_i32_s ) - (func $~lib/array/Array#map (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#map (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3335,7 +3565,7 @@ end local.get $3 ) - (func $~lib/array/Array#__get (; 57 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 59 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -3344,7 +3574,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -3358,7 +3588,7 @@ i32.add f32.load ) - (func $start:std/array~anonymous|22 (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3368,7 +3598,7 @@ global.set $std/array/i local.get $0 ) - (func $~lib/array/Array#map (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#map (; 61 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3420,14 +3650,14 @@ end end ) - (func $start:std/array~anonymous|23 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|24 (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3437,12 +3667,12 @@ global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|25 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3495,7 +3725,7 @@ end local.get $4 ) - (func $start:std/array~anonymous|26 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3507,7 +3737,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|27 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add @@ -3516,7 +3746,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|28 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3528,12 +3758,12 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|29 (; 67 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 69 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduce (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3577,7 +3807,7 @@ end local.get $2 ) - (func $start:std/array~anonymous|31 (; 69 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 71 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.eqz if @@ -3588,7 +3818,7 @@ end local.get $0 ) - (func $start:std/array~anonymous|32 (; 70 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 72 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.eqz if @@ -3599,7 +3829,7 @@ end local.get $0 ) - (func $start:std/array~anonymous|33 (; 71 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 73 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 i32.const 1 call $~lib/array/Array#push @@ -3607,7 +3837,7 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|35 (; 72 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 74 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/array/Array#pop drop @@ -3615,7 +3845,7 @@ local.get $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 73 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -3652,7 +3882,7 @@ end local.get $2 ) - (func $~lib/math/splitMix32 (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 76 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -3684,13 +3914,13 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 75 ;) (type $FUNCSIG$vj) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 77 ;) (type $FUNCSIG$vj) (param $0 i64) (local $1 i64) local.get $0 i64.eqz if i32.const 0 - i32.const 2296 + i32.const 2992 i32.const 1021 i32.const 4 call $~lib/env/abort @@ -3749,7 +3979,7 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/util/sort/insertionSort (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 78 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -3831,7 +4061,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 77 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4087,7 +4317,7 @@ local.get $6 f32.store ) - (func $~lib/array/Array#sort (; 78 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#sort (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f32) (local $4 f32) @@ -4095,8 +4325,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -4155,7 +4385,7 @@ call $~lib/util/sort/weakHeapSort end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 79 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 81 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4184,7 +4414,7 @@ i32.lt_s i32.sub ) - (func $std/array/isArraysEqual (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 82 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 f32) (local $4 i32) @@ -4245,7 +4475,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 81 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 83 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -4327,7 +4557,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 82 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 84 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4583,7 +4813,7 @@ local.get $6 f64.store ) - (func $~lib/array/Array#sort (; 83 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#sort (; 85 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f64) (local $4 f64) @@ -4591,8 +4821,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -4651,7 +4881,7 @@ call $~lib/util/sort/weakHeapSort end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 84 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 86 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -4680,7 +4910,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#__get (; 85 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 87 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -4689,7 +4919,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -4703,7 +4933,7 @@ i32.add f64.load ) - (func $std/array/isArraysEqual (; 86 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 88 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -4764,7 +4994,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 87 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 89 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4846,7 +5076,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 88 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 90 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5102,7 +5332,7 @@ local.get $1 i32.store ) - (func $~lib/array/Array#sort (; 89 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 91 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5110,8 +5340,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -5175,12 +5405,12 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 90 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 92 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 91 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 93 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -5189,7 +5419,7 @@ i32.lt_u i32.sub ) - (func $std/array/createReverseOrderedArray (; 92 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/array/Array#constructor @@ -5220,14 +5450,14 @@ end local.get $1 ) - (func $~lib/math/NativeMath.random (; 93 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/math/NativeMath.random (; 95 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) global.get $~lib/math/random_seeded i32.eqz if i32.const 0 - i32.const 2296 + i32.const 2992 i32.const 1030 i32.const 24 call $~lib/env/abort @@ -5267,7 +5497,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/array/Array#constructor @@ -5296,7 +5526,7 @@ end local.get $0 ) - (func $std/array/isSorted (; 95 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 97 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 1 @@ -5338,7 +5568,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 98 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array#sort @@ -5347,24 +5577,24 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 810 + i32.const 152 + i32.const 813 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/array/assertSortedDefault (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSortedDefault (; 99 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 48 call $std/array/assertSorted ) - (func $start:std/array~anonymous|44 (; 98 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 100 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array>#constructor (; 99 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#constructor (; 101 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 16 call $~lib/runtime/doAllocate @@ -5381,7 +5611,56 @@ i32.store offset=12 local.get $1 ) - (func $std/array/createReverseOrderedNestedArray (; 100 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array>#__set (; 102 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/ensureCapacity + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + local.tee $3 + local.get $2 + i32.ne + if + local.get $0 + local.set $5 + local.get $3 + if + local.get $3 + local.get $5 + call $~lib/runtime/doRetain + end + local.get $2 + local.tee $3 + local.get $0 + call $~lib/runtime/doRetain + local.get $4 + local.get $3 + i32.store + end + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=12 + end + ) + (func $std/array/createReverseOrderedNestedArray (; 103 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) i32.const 512 @@ -5397,7 +5676,7 @@ local.get $1 i32.const 1 call $~lib/array/Array#constructor - call $~lib/array/Array#__set + call $~lib/array/Array>#__set local.get $0 local.get $1 call $~lib/array/Array#__get @@ -5418,7 +5697,7 @@ end local.get $0 ) - (func $start:std/array~anonymous|47 (; 101 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 104 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -5427,7 +5706,7 @@ call $~lib/array/Array#__get i32.sub ) - (func $~lib/array/Array>#sort (; 102 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 105 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5435,8 +5714,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -5488,7 +5767,7 @@ call $~lib/util/sort/insertionSort local.get $0 ) - (func $std/array/assertSorted> (; 103 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 106 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array>#sort @@ -5497,14 +5776,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 810 + i32.const 152 + i32.const 813 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/array/createReverseOrderedElementsArray (; 104 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 107 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5545,7 +5824,7 @@ local.get $0 local.get $1 local.get $3 - call $~lib/array/Array#__set + call $~lib/array/Array>#__set local.get $1 i32.const 1 i32.add @@ -5555,14 +5834,14 @@ end local.get $0 ) - (func $start:std/array~anonymous|48 (; 105 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 108 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 i32.load i32.sub ) - (func $~lib/util/string/compareImpl (; 106 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/compareImpl (; 109 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) loop $continue|0 local.get $2 @@ -5595,7 +5874,7 @@ end local.get $3 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 107 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5624,14 +5903,14 @@ return end local.get $1 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 i32.shr_u local.set $3 local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -5672,7 +5951,7 @@ select call $~lib/util/string/compareImpl ) - (func $std/array/assertSorted|trampoline (; 108 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSorted|trampoline (; 111 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $1of1 block $0of1 @@ -5691,7 +5970,7 @@ local.get $1 call $std/array/assertSorted> ) - (func $~lib/string/String.__eq (; 109 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 112 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -5714,14 +5993,14 @@ return end local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 i32.shr_u local.tee $2 local.get $1 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -5737,7 +6016,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $std/array/isArraysEqual (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 113 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5784,16 +6063,16 @@ end i32.const 1 ) - (func $~lib/string/String#charAt (; 111 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#charAt (; 114 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 2324 + i32.const 3020 i32.load i32.const 1 i32.shr_u i32.ge_u if - i32.const 3264 + i32.const 4200 return end i32.const 2 @@ -5802,7 +6081,7 @@ local.get $0 i32.const 1 i32.shl - i32.const 2328 + i32.const 3032 i32.add i32.load16_u i32.store16 @@ -5810,16 +6089,16 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String#concat (; 112 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 115 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) local.get $1 - i32.const 3440 + i32.const 4424 local.get $1 select local.tee $1 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -5828,7 +6107,7 @@ i32.shl local.tee $4 local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -5840,7 +6119,7 @@ local.tee $2 i32.eqz if - i32.const 3264 + i32.const 4200 return end local.get $2 @@ -5859,18 +6138,18 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String.__concat (; 113 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 3440 + i32.const 4424 local.get $0 select local.get $1 call $~lib/string/String#concat ) - (func $std/array/createRandomString (; 114 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 117 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 3264 + i32.const 4200 local.set $1 loop $repeat|0 local.get $2 @@ -5879,7 +6158,7 @@ if local.get $1 call $~lib/math/NativeMath.random - i32.const 2324 + i32.const 3020 i32.load i32.const 1 i32.shr_u @@ -5899,7 +6178,7 @@ end local.get $1 ) - (func $std/array/createRandomStringArray (; 115 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createRandomStringArray (; 118 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) i32.const 16 @@ -5928,7 +6207,7 @@ f64.mul i32.trunc_f64_s call $std/array/createRandomString - call $~lib/array/Array#__set + call $~lib/array/Array>#__set local.get $1 i32.const 1 i32.add @@ -5938,7 +6217,7 @@ end local.get $0 ) - (func $~lib/string/String#substring (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 119 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5946,7 +6225,7 @@ i32.eqz if i32.const 0 - i32.const 3400 + i32.const 4376 i32.const 186 i32.const 4 call $~lib/env/abort @@ -5960,7 +6239,7 @@ select local.tee $2 local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -6000,7 +6279,7 @@ local.tee $3 i32.eqz if - i32.const 3264 + i32.const 4200 return end local.get $4 @@ -6008,7 +6287,7 @@ local.tee $2 if local.get $0 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -6036,7 +6315,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#join_bool (; 117 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_bool (; 120 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6053,7 +6332,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -6062,14 +6341,14 @@ local.get $4 i32.eqz if - i32.const 3472 - i32.const 3488 + i32.const 4472 + i32.const 4496 local.get $5 i32.load8_u select return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -6108,8 +6387,8 @@ i32.shl local.get $2 i32.add - i32.const 3472 - i32.const 3488 + i32.const 4472 + i32.const 4496 local.get $8 select local.get $3 @@ -6127,7 +6406,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $6 i32.const 1 i32.shl @@ -6160,8 +6439,8 @@ i32.shl local.get $2 i32.add - i32.const 3472 - i32.const 3488 + i32.const 4472 + i32.const 4496 local.get $0 select local.get $3 @@ -6188,7 +6467,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/decimalCount32 (; 118 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 121 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 100000 i32.lt_u @@ -6242,10 +6521,10 @@ end end ) - (func $~lib/util/number/utoa32_lut (; 119 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 122 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 4028 + i32.const 5092 i32.load local.set $3 loop $continue|0 @@ -6352,14 +6631,14 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 120 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i32.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -6394,7 +6673,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa_stream (; 121 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 124 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -6438,7 +6717,7 @@ end local.get $2 ) - (func $~lib/array/Array#join_int (; 122 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 125 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6453,7 +6732,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -6468,7 +6747,7 @@ return end local.get $1 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -6556,18 +6835,18 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#join (; 123 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int ) - (func $~lib/util/number/utoa32 (; 124 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 127 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -6584,7 +6863,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa_stream (; 125 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 128 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -6608,7 +6887,7 @@ call $~lib/util/number/utoa32_lut local.get $0 ) - (func $~lib/array/Array#join_int (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6623,7 +6902,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -6638,7 +6917,7 @@ return end local.get $1 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -6726,12 +7005,12 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#join (; 127 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 130 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int ) - (func $~lib/util/number/genDigits (; 128 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 131 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i32) @@ -6766,7 +7045,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $9 - i32.const 5412 + i32.const 6644 i32.load local.set $13 loop $continue|0 @@ -7142,7 +7421,7 @@ local.get $2 end ) - (func $~lib/util/number/prettify (; 129 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 132 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7404,7 +7683,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 130 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 133 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -7523,13 +7802,13 @@ local.tee $8 i32.sub global.set $~lib/util/number/_K - i32.const 5132 + i32.const 6332 i32.load local.get $8 i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 5340 + i32.const 6556 i32.load local.get $3 i32.const 1 @@ -7715,14 +7994,14 @@ local.get $11 i32.add ) - (func $~lib/util/number/dtoa (; 131 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 134 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 f64.const 0 f64.eq if - i32.const 4336 + i32.const 5496 return end local.get $0 @@ -7735,11 +8014,11 @@ local.get $0 f64.ne if - i32.const 4352 + i32.const 5520 return end - i32.const 4368 - i32.const 4400 + i32.const 5544 + i32.const 5584 local.get $0 f64.const 0 f64.lt @@ -7760,7 +8039,7 @@ call $~lib/runtime/assertUnregistered local.get $1 ) - (func $~lib/util/number/dtoa_stream (; 132 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 135 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) local.get $1 i32.const 1 i32.shl @@ -7806,8 +8085,8 @@ return else local.get $0 - i32.const 4368 - i32.const 4400 + i32.const 5544 + i32.const 5584 local.get $2 f64.const 0 f64.lt @@ -7829,7 +8108,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/array/Array#join_flt (; 133 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_flt (; 136 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7844,7 +8123,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -7858,7 +8137,7 @@ call $~lib/util/number/dtoa return end - i32.const 4316 + i32.const 5460 i32.load i32.const 1 i32.shr_u @@ -7900,7 +8179,7 @@ i32.shl local.get $2 i32.add - i32.const 4320 + i32.const 5472 local.get $5 i32.const 1 i32.shl @@ -7945,7 +8224,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#join_str (; 134 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_str (; 137 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7961,7 +8240,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -7975,7 +8254,7 @@ return end local.get $1 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -7999,7 +8278,7 @@ local.tee $4 if local.get $4 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -8046,7 +8325,7 @@ i32.add local.get $4 local.get $4 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -8099,7 +8378,7 @@ i32.add local.get $4 local.get $4 - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 1 @@ -8112,18 +8391,18 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#join (; 135 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_str ) - (func $std/array/Ref#constructor (; 136 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/Ref#constructor (; 139 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $~lib/runtime/doAllocate i32.const 18 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#join_ref (; 137 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_ref (; 140 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8138,7 +8417,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -8147,10 +8426,10 @@ local.get $3 i32.eqz if - i32.const 5640 + i32.const 6920 return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -8185,7 +8464,7 @@ i32.shl local.get $2 i32.add - i32.const 5640 + i32.const 6920 i32.const 30 call $~lib/memory/memory.copy local.get $1 @@ -8200,7 +8479,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $4 i32.const 1 i32.shl @@ -8230,7 +8509,7 @@ i32.shl local.get $2 i32.add - i32.const 5640 + i32.const 6920 i32.const 30 call $~lib/memory/memory.copy local.get $1 @@ -8256,12 +8535,12 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#toString (; 138 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 141 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa_stream (; 139 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 142 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -8316,7 +8595,7 @@ end local.get $1 ) - (func $~lib/array/Array#join_int (; 140 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8331,7 +8610,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -8345,7 +8624,7 @@ call $~lib/util/number/itoa32 return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -8385,7 +8664,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $5 i32.const 1 i32.shl @@ -8428,7 +8707,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa_stream (; 141 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 144 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -8458,7 +8737,7 @@ call $~lib/util/number/utoa32_lut local.get $1 ) - (func $~lib/array/Array#join_int (; 142 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 145 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8473,7 +8752,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -8487,7 +8766,7 @@ call $~lib/util/number/utoa32 return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -8529,7 +8808,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $5 i32.const 1 i32.shl @@ -8574,7 +8853,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/decimalCount64 (; 143 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 146 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 i64.const 1000000000000000 i64.lt_u @@ -8628,12 +8907,12 @@ end end ) - (func $~lib/util/number/utoa64_lut (; 144 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 147 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4028 + i32.const 5092 i32.load local.set $3 loop $continue|0 @@ -8725,14 +9004,14 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 145 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 148 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i64.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -8767,7 +9046,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa_stream (; 146 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 149 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -8807,7 +9086,7 @@ end local.get $1 ) - (func $~lib/array/Array#join_int (; 147 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 150 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8822,7 +9101,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -8836,7 +9115,7 @@ call $~lib/util/number/utoa64 return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -8878,7 +9157,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $5 i32.const 1 i32.shl @@ -8923,7 +9202,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa64 (; 148 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 151 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8931,7 +9210,7 @@ local.get $0 i64.eqz if - i32.const 3600 + i32.const 4648 return end block (result i32) @@ -8988,7 +9267,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa_stream (; 149 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 152 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -9051,7 +9330,7 @@ end local.get $1 ) - (func $~lib/array/Array#join_int (; 150 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 153 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9066,7 +9345,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -9080,7 +9359,7 @@ call $~lib/util/number/itoa64 return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -9122,7 +9401,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $5 i32.const 1 i32.shl @@ -9167,12 +9446,12 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array#toString (; 151 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 154 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/array/Array>#join_arr (; 152 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#join_arr (; 155 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9186,12 +9465,12 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $1 - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -9207,10 +9486,10 @@ local.tee $0 if (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join else - i32.const 3264 + i32.const 4200 end return end @@ -9229,7 +9508,7 @@ if local.get $1 local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join call $~lib/string/String.__concat local.set $1 @@ -9237,7 +9516,7 @@ local.get $5 if local.get $1 - i32.const 3512 + i32.const 4528 call $~lib/string/String.__concat local.set $1 end @@ -9258,14 +9537,14 @@ if (result i32) local.get $1 local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join call $~lib/string/String.__concat else local.get $1 end ) - (func $~lib/util/number/itoa_stream (; 153 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 156 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -9295,7 +9574,7 @@ call $~lib/util/number/utoa32_lut local.get $1 ) - (func $~lib/array/Array#join_int (; 154 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9310,7 +9589,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -9324,7 +9603,7 @@ call $~lib/util/number/utoa32 return end - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -9364,7 +9643,7 @@ i32.shl local.get $2 i32.add - i32.const 3512 + i32.const 4528 local.get $5 i32.const 1 i32.shl @@ -9407,7 +9686,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/array/Array>#join_arr (; 155 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#join_arr (; 158 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9421,12 +9700,12 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $1 - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -9444,7 +9723,7 @@ local.get $0 call $~lib/array/Array#join_int else - i32.const 3264 + i32.const 4200 end return end @@ -9470,7 +9749,7 @@ local.get $5 if local.get $1 - i32.const 3512 + i32.const 4528 call $~lib/string/String.__concat local.set $1 end @@ -9497,7 +9776,7 @@ local.get $1 end ) - (func $~lib/array/Array>#join_arr (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#join_arr (; 159 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9511,12 +9790,12 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $1 - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -9532,10 +9811,10 @@ local.tee $0 if (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join else - i32.const 3264 + i32.const 4200 end return end @@ -9554,7 +9833,7 @@ if local.get $1 local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join call $~lib/string/String.__concat local.set $1 @@ -9562,7 +9841,7 @@ local.get $5 if local.get $1 - i32.const 3512 + i32.const 4528 call $~lib/string/String.__concat local.set $1 end @@ -9583,14 +9862,14 @@ if (result i32) local.get $1 local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join call $~lib/string/String.__concat else local.get $1 end ) - (func $~lib/array/Array>>#join_arr (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>>#join_arr (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9604,12 +9883,12 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $1 - i32.const 3508 + i32.const 4516 i32.load i32.const 1 i32.shr_u @@ -9627,7 +9906,7 @@ local.get $0 call $~lib/array/Array>#join_arr else - i32.const 3264 + i32.const 4200 end return end @@ -9653,7 +9932,7 @@ local.get $5 if local.get $1 - i32.const 3512 + i32.const 4528 call $~lib/string/String.__concat local.set $1 end @@ -9680,11 +9959,13 @@ local.get $1 end ) - (func $start:std/array (; 158 ;) (type $FUNCSIG$v) + (func $start:std/array (; 161 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 6528 + (local $3 i32) + (local $4 i32) + i32.const 8064 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -9694,8 +9975,8 @@ global.get $std/array/Null if i32.const 0 - i32.const 120 - i32.const 37 + i32.const 152 + i32.const 40 i32.const 0 call $~lib/env/abort unreachable @@ -9707,8 +9988,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 38 + i32.const 152 + i32.const 41 i32.const 0 call $~lib/env/abort unreachable @@ -9732,7 +10013,7 @@ i32.const 3 call $~lib/array/Array#fill global.get $std/array/arr8 - i32.const 192 + i32.const 248 i32.const 7 i32.const 0 call $~lib/runtime/doWrapArray @@ -9740,8 +10021,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 49 + i32.const 152 + i32.const 52 i32.const 0 call $~lib/env/abort unreachable @@ -9752,7 +10033,7 @@ i32.const 2147483647 call $~lib/array/Array#fill global.get $std/array/arr8 - i32.const 248 + i32.const 320 i32.const 7 i32.const 0 call $~lib/runtime/doWrapArray @@ -9760,8 +10041,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 52 + i32.const 152 + i32.const 55 i32.const 0 call $~lib/env/abort unreachable @@ -9772,7 +10053,7 @@ i32.const -3 call $~lib/array/Array#fill global.get $std/array/arr8 - i32.const 264 + i32.const 344 i32.const 7 i32.const 0 call $~lib/runtime/doWrapArray @@ -9780,8 +10061,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 55 + i32.const 152 + i32.const 58 i32.const 0 call $~lib/env/abort unreachable @@ -9792,7 +10073,7 @@ i32.const 2147483647 call $~lib/array/Array#fill global.get $std/array/arr8 - i32.const 280 + i32.const 368 i32.const 7 i32.const 0 call $~lib/runtime/doWrapArray @@ -9800,8 +10081,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 58 + i32.const 152 + i32.const 61 i32.const 0 call $~lib/env/abort unreachable @@ -9812,7 +10093,7 @@ i32.const 0 call $~lib/array/Array#fill global.get $std/array/arr8 - i32.const 296 + i32.const 392 i32.const 7 i32.const 0 call $~lib/runtime/doWrapArray @@ -9820,8 +10101,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 61 + i32.const 152 + i32.const 64 i32.const 0 call $~lib/env/abort unreachable @@ -9832,7 +10113,7 @@ i32.const 3 call $~lib/array/Array#fill global.get $std/array/arr32 - i32.const 368 + i32.const 488 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray @@ -9841,8 +10122,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 66 + i32.const 152 + i32.const 69 i32.const 0 call $~lib/env/abort unreachable @@ -9853,7 +10134,7 @@ i32.const 2147483647 call $~lib/array/Array#fill global.get $std/array/arr32 - i32.const 400 + i32.const 528 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray @@ -9862,8 +10143,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 69 + i32.const 152 + i32.const 72 i32.const 0 call $~lib/env/abort unreachable @@ -9874,7 +10155,7 @@ i32.const -3 call $~lib/array/Array#fill global.get $std/array/arr32 - i32.const 432 + i32.const 568 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray @@ -9883,8 +10164,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 72 + i32.const 152 + i32.const 75 i32.const 0 call $~lib/env/abort unreachable @@ -9895,7 +10176,7 @@ i32.const 2147483647 call $~lib/array/Array#fill global.get $std/array/arr32 - i32.const 464 + i32.const 608 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray @@ -9904,8 +10185,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 75 + i32.const 152 + i32.const 78 i32.const 0 call $~lib/env/abort unreachable @@ -9916,7 +10197,7 @@ i32.const 0 call $~lib/array/Array#fill global.get $std/array/arr32 - i32.const 496 + i32.const 648 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray @@ -9925,8 +10206,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 78 + i32.const 152 + i32.const 81 i32.const 0 call $~lib/env/abort unreachable @@ -9935,23 +10216,23 @@ i32.load offset=12 if i32.const 0 - i32.const 120 - i32.const 82 + i32.const 152 + i32.const 85 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 i32.shr_s if i32.const 0 - i32.const 120 - i32.const 83 + i32.const 152 + i32.const 86 i32.const 0 call $~lib/env/abort unreachable @@ -9966,8 +10247,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 87 + i32.const 152 + i32.const 90 i32.const 0 call $~lib/env/abort unreachable @@ -9978,15 +10259,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 88 + i32.const 152 + i32.const 91 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -9995,8 +10276,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 89 + i32.const 152 + i32.const 92 i32.const 0 call $~lib/env/abort unreachable @@ -10009,8 +10290,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 93 + i32.const 152 + i32.const 96 i32.const 0 call $~lib/env/abort unreachable @@ -10019,15 +10300,15 @@ i32.load offset=12 if i32.const 0 - i32.const 120 - i32.const 94 + i32.const 152 + i32.const 97 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -10036,8 +10317,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 95 + i32.const 152 + i32.const 98 i32.const 0 call $~lib/env/abort unreachable @@ -10051,15 +10332,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 99 + i32.const 152 + i32.const 102 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -10068,8 +10349,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 100 + i32.const 152 + i32.const 103 i32.const 0 call $~lib/env/abort unreachable @@ -10081,8 +10362,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 101 + i32.const 152 + i32.const 104 i32.const 0 call $~lib/env/abort unreachable @@ -10096,83 +10377,25 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 105 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.load - i32.const 8 - i32.sub - i32.load offset=4 - i32.const 2 - i32.shr_s - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 106 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 107 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 108 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr - i32.const 45 - call $~lib/array/Array#push - global.get $std/array/arr - i32.load offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 112 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 i32.shr_s - i32.const 3 + i32.const 2 i32.ne if i32.const 0 - i32.const 120 - i32.const 113 + i32.const 152 + i32.const 109 i32.const 0 call $~lib/env/abort unreachable @@ -10184,8 +10407,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 114 + i32.const 152 + i32.const 110 i32.const 0 call $~lib/env/abort unreachable @@ -10197,21 +10420,79 @@ i32.ne if i32.const 0 - i32.const 120 + i32.const 152 + i32.const 111 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + call $~lib/array/Array#push + global.get $std/array/arr + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 152 i32.const 115 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + i32.load + i32.const 16 + i32.sub + i32.load offset=4 + i32.const 2 + i32.shr_s + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 116 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 117 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 118 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 2 call $~lib/array/Array#__get i32.const 45 i32.ne if i32.const 0 - i32.const 120 - i32.const 116 + i32.const 152 + i32.const 119 i32.const 0 call $~lib/env/abort unreachable @@ -10225,7 +10506,7 @@ global.set $std/array/out global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -10234,8 +10515,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 123 + i32.const 152 + i32.const 126 i32.const 0 call $~lib/env/abort unreachable @@ -10246,8 +10527,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 124 + i32.const 152 + i32.const 127 i32.const 0 call $~lib/env/abort unreachable @@ -10258,14 +10539,14 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 125 + i32.const 152 + i32.const 128 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/out - i32.const 528 + i32.const 688 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10273,7 +10554,7 @@ drop global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -10282,8 +10563,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 128 + i32.const 152 + i32.const 131 i32.const 0 call $~lib/env/abort unreachable @@ -10295,8 +10576,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 130 + i32.const 152 + i32.const 133 i32.const 0 call $~lib/env/abort unreachable @@ -10308,8 +10589,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 131 + i32.const 152 + i32.const 134 i32.const 0 call $~lib/env/abort unreachable @@ -10321,8 +10602,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 132 + i32.const 152 + i32.const 135 i32.const 0 call $~lib/env/abort unreachable @@ -10339,7 +10620,7 @@ global.set $std/array/out global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -10348,8 +10629,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 139 + i32.const 152 + i32.const 142 i32.const 0 call $~lib/env/abort unreachable @@ -10360,8 +10641,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 140 + i32.const 152 + i32.const 143 i32.const 0 call $~lib/env/abort unreachable @@ -10372,8 +10653,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 141 + i32.const 152 + i32.const 144 i32.const 0 call $~lib/env/abort unreachable @@ -10385,8 +10666,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 142 + i32.const 152 + i32.const 145 i32.const 0 call $~lib/env/abort unreachable @@ -10398,8 +10679,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 143 + i32.const 152 + i32.const 146 i32.const 0 call $~lib/env/abort unreachable @@ -10411,8 +10692,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 144 + i32.const 152 + i32.const 147 i32.const 0 call $~lib/env/abort unreachable @@ -10424,8 +10705,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 145 + i32.const 152 + i32.const 148 i32.const 0 call $~lib/env/abort unreachable @@ -10437,8 +10718,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 146 + i32.const 152 + i32.const 149 i32.const 0 call $~lib/env/abort unreachable @@ -10452,8 +10733,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 149 + i32.const 152 + i32.const 152 i32.const 0 call $~lib/env/abort unreachable @@ -10468,8 +10749,8 @@ i32.ne if i32.const 0 - i32.const 120 i32.const 152 + i32.const 155 i32.const 0 call $~lib/env/abort unreachable @@ -10481,8 +10762,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 153 + i32.const 152 + i32.const 156 i32.const 0 call $~lib/env/abort unreachable @@ -10491,8 +10772,8 @@ i32.load offset=12 if i32.const 0 - i32.const 120 - i32.const 156 + i32.const 152 + i32.const 159 i32.const 0 call $~lib/env/abort unreachable @@ -10507,8 +10788,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 158 + i32.const 152 + i32.const 161 i32.const 0 call $~lib/env/abort unreachable @@ -10517,13 +10798,13 @@ i32.load offset=12 if i32.const 0 - i32.const 120 - i32.const 159 + i32.const 152 + i32.const 162 i32.const 0 call $~lib/env/abort unreachable end - i32.const 568 + i32.const 752 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10533,81 +10814,6 @@ i32.const 3 i32.const 2147483647 call $~lib/array/Array#copyWithin - i32.const 600 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 165 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 632 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/cwArr - global.get $std/array/cwArr - i32.const 1 - i32.const 3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - i32.const 664 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 167 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 696 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/cwArr - global.get $std/array/cwArr - i32.const 1 - i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - i32.const 728 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 169 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 760 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/cwArr - global.get $std/array/cwArr - i32.const 2 - i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin i32.const 792 i32.const 4 i32.const 2 @@ -10617,38 +10823,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 171 + i32.const 152 + i32.const 168 i32.const 0 call $~lib/env/abort unreachable end - i32.const 824 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/cwArr - global.get $std/array/cwArr - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/array/Array#copyWithin - i32.const 856 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 173 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 888 + i32.const 832 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10656,9 +10837,9 @@ global.get $std/array/cwArr i32.const 1 i32.const 3 - i32.const 4 + i32.const 2147483647 call $~lib/array/Array#copyWithin - i32.const 920 + i32.const 872 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10667,48 +10848,48 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 175 + i32.const 152 + i32.const 170 i32.const 0 call $~lib/env/abort unreachable end + i32.const 912 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/cwArr + global.get $std/array/cwArr + i32.const 1 + i32.const 2 + i32.const 2147483647 + call $~lib/array/Array#copyWithin i32.const 952 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray - global.set $std/array/cwArr - global.get $std/array/cwArr - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/array/Array#copyWithin - i32.const 984 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 120 - i32.const 177 + i32.const 152 + i32.const 172 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1016 + i32.const 992 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray global.set $std/array/cwArr global.get $std/array/cwArr - i32.const 0 - i32.const -2 + i32.const 2 + i32.const 2 i32.const 2147483647 call $~lib/array/Array#copyWithin - i32.const 1048 + i32.const 1032 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10717,21 +10898,21 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 179 + i32.const 152 + i32.const 174 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1080 + i32.const 1072 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 - i32.const -2 - i32.const -1 + i32.const 3 + i32.const 4 call $~lib/array/Array#copyWithin i32.const 1112 i32.const 4 @@ -10742,13 +10923,113 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 181 + i32.const 152 + i32.const 176 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1144 + i32.const 1152 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/cwArr + global.get $std/array/cwArr + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + i32.const 1192 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 178 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1232 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/cwArr + global.get $std/array/cwArr + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/array/Array#copyWithin + i32.const 1272 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 180 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1312 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/cwArr + global.get $std/array/cwArr + i32.const 0 + i32.const -2 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + i32.const 1352 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 182 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1392 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/cwArr + global.get $std/array/cwArr + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/array/Array#copyWithin + i32.const 1432 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 184 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1472 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10758,7 +11039,7 @@ i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - i32.const 1176 + i32.const 1512 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10767,13 +11048,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 183 + i32.const 152 + i32.const 186 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1208 + i32.const 1552 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10783,7 +11064,7 @@ i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - i32.const 1240 + i32.const 1592 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10792,13 +11073,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 185 + i32.const 152 + i32.const 188 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1272 + i32.const 1632 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10808,7 +11089,7 @@ i32.const -3 i32.const 2147483647 call $~lib/array/Array#copyWithin - i32.const 1304 + i32.const 1672 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -10817,8 +11098,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 187 + i32.const 152 + i32.const 190 i32.const 0 call $~lib/env/abort unreachable @@ -10832,64 +11113,64 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 193 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.load - i32.const 8 - i32.sub - i32.load offset=4 - i32.const 2 - i32.shr_s - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 194 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 195 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 196 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + i32.load + i32.const 16 + i32.sub + i32.load offset=4 + i32.const 2 + i32.shr_s + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 197 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 198 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 199 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 2 call $~lib/array/Array#__get i32.const 44 i32.ne if i32.const 0 - i32.const 120 - i32.const 197 + i32.const 152 + i32.const 200 i32.const 0 call $~lib/env/abort unreachable @@ -10901,8 +11182,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 198 + i32.const 152 + i32.const 201 i32.const 0 call $~lib/env/abort unreachable @@ -10916,15 +11197,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 202 + i32.const 152 + i32.const 205 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -10933,8 +11214,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 203 + i32.const 152 + i32.const 206 i32.const 0 call $~lib/env/abort unreachable @@ -10946,8 +11227,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 204 + i32.const 152 + i32.const 207 i32.const 0 call $~lib/env/abort unreachable @@ -10959,8 +11240,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 205 + i32.const 152 + i32.const 208 i32.const 0 call $~lib/env/abort unreachable @@ -10972,8 +11253,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 206 + i32.const 152 + i32.const 209 i32.const 0 call $~lib/env/abort unreachable @@ -10985,8 +11266,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 207 + i32.const 152 + i32.const 210 i32.const 0 call $~lib/env/abort unreachable @@ -10998,8 +11279,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 208 + i32.const 152 + i32.const 211 i32.const 0 call $~lib/env/abort unreachable @@ -11012,8 +11293,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 214 + i32.const 152 + i32.const 217 i32.const 0 call $~lib/env/abort unreachable @@ -11024,15 +11305,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 215 + i32.const 152 + i32.const 218 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -11041,8 +11322,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 216 + i32.const 152 + i32.const 219 i32.const 0 call $~lib/env/abort unreachable @@ -11054,8 +11335,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 217 + i32.const 152 + i32.const 220 i32.const 0 call $~lib/env/abort unreachable @@ -11067,8 +11348,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 218 + i32.const 152 + i32.const 221 i32.const 0 call $~lib/env/abort unreachable @@ -11080,8 +11361,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 219 + i32.const 152 + i32.const 222 i32.const 0 call $~lib/env/abort unreachable @@ -11093,8 +11374,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 220 + i32.const 152 + i32.const 223 i32.const 0 call $~lib/env/abort unreachable @@ -11107,8 +11388,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 224 + i32.const 152 + i32.const 227 i32.const 0 call $~lib/env/abort unreachable @@ -11119,15 +11400,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 225 + i32.const 152 + i32.const 228 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -11136,8 +11417,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 226 + i32.const 152 + i32.const 229 i32.const 0 call $~lib/env/abort unreachable @@ -11149,8 +11430,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 227 + i32.const 152 + i32.const 230 i32.const 0 call $~lib/env/abort unreachable @@ -11162,8 +11443,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 228 + i32.const 152 + i32.const 231 i32.const 0 call $~lib/env/abort unreachable @@ -11175,8 +11456,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 229 + i32.const 152 + i32.const 232 i32.const 0 call $~lib/env/abort unreachable @@ -11189,15 +11470,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 235 + i32.const 152 + i32.const 238 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -11206,52 +11487,52 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 236 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 237 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 238 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 239 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 240 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 241 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 152 + i32.const 242 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 43 call $~lib/array/Array#push global.get $std/array/arr @@ -11265,8 +11546,8 @@ global.get $std/array/i if i32.const 0 - i32.const 120 - i32.const 248 + i32.const 152 + i32.const 251 i32.const 0 call $~lib/env/abort unreachable @@ -11281,8 +11562,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 252 + i32.const 152 + i32.const 255 i32.const 0 call $~lib/env/abort unreachable @@ -11297,8 +11578,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 256 + i32.const 152 + i32.const 259 i32.const 0 call $~lib/env/abort unreachable @@ -11313,8 +11594,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 260 + i32.const 152 + i32.const 263 i32.const 0 call $~lib/env/abort unreachable @@ -11329,8 +11610,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 264 + i32.const 152 + i32.const 267 i32.const 0 call $~lib/env/abort unreachable @@ -11345,8 +11626,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 268 + i32.const 152 + i32.const 271 i32.const 0 call $~lib/env/abort unreachable @@ -11361,8 +11642,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 272 + i32.const 152 + i32.const 275 i32.const 0 call $~lib/env/abort unreachable @@ -11377,8 +11658,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 276 + i32.const 152 + i32.const 279 i32.const 0 call $~lib/env/abort unreachable @@ -11393,8 +11674,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 280 + i32.const 152 + i32.const 283 i32.const 0 call $~lib/env/abort unreachable @@ -11409,8 +11690,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 284 + i32.const 152 + i32.const 287 i32.const 0 call $~lib/env/abort unreachable @@ -11425,8 +11706,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 290 + i32.const 152 + i32.const 293 i32.const 0 call $~lib/env/abort unreachable @@ -11441,8 +11722,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 294 + i32.const 152 + i32.const 297 i32.const 0 call $~lib/env/abort unreachable @@ -11455,8 +11736,8 @@ global.get $std/array/includes if i32.const 0 - i32.const 120 - i32.const 298 + i32.const 152 + i32.const 301 i32.const 0 call $~lib/env/abort unreachable @@ -11469,8 +11750,8 @@ global.get $std/array/includes if i32.const 0 - i32.const 120 - i32.const 302 + i32.const 152 + i32.const 305 i32.const 0 call $~lib/env/abort unreachable @@ -11485,8 +11766,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 306 + i32.const 152 + i32.const 309 i32.const 0 call $~lib/env/abort unreachable @@ -11501,8 +11782,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 310 + i32.const 152 + i32.const 313 i32.const 0 call $~lib/env/abort unreachable @@ -11517,8 +11798,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 314 + i32.const 152 + i32.const 317 i32.const 0 call $~lib/env/abort unreachable @@ -11533,8 +11814,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 318 + i32.const 152 + i32.const 321 i32.const 0 call $~lib/env/abort unreachable @@ -11549,8 +11830,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 322 + i32.const 152 + i32.const 325 i32.const 0 call $~lib/env/abort unreachable @@ -11565,8 +11846,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 326 + i32.const 152 + i32.const 329 i32.const 0 call $~lib/env/abort unreachable @@ -11582,15 +11863,15 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 330 + i32.const 152 + i32.const 333 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr i32.load - i32.const 8 + i32.const 16 i32.sub i32.load offset=4 i32.const 2 @@ -11599,8 +11880,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 331 + i32.const 152 + i32.const 334 i32.const 0 call $~lib/env/abort unreachable @@ -11612,8 +11893,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 332 + i32.const 152 + i32.const 335 i32.const 0 call $~lib/env/abort unreachable @@ -11625,8 +11906,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 333 + i32.const 152 + i32.const 336 i32.const 0 call $~lib/env/abort unreachable @@ -11635,7 +11916,7 @@ i32.const 0 i32.const 2147483647 call $~lib/array/Array#splice - i32.const 1392 + i32.const 1784 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -11644,237 +11925,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 338 + i32.const 152 + i32.const 341 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/sarr - i32.const 1424 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 339 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1432 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#splice - i32.const 1464 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 342 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - i32.const 1488 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 343 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1504 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - i32.const 1536 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 346 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - i32.const 1552 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 347 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1576 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 0 - i32.const 1 - call $~lib/array/Array#splice - i32.const 1608 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 350 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - i32.const 1624 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 351 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1648 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const -1 - i32.const 2147483647 - call $~lib/array/Array#splice - i32.const 1680 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 354 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - i32.const 1696 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 355 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1720 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#splice - i32.const 1752 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 358 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - i32.const 1768 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 359 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1792 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const -2 - i32.const 1 - call $~lib/array/Array#splice i32.const 1824 i32.const 4 i32.const 2 @@ -11884,38 +11941,22 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 362 + i32.const 152 + i32.const 342 i32.const 0 call $~lib/env/abort unreachable end - global.get $std/array/sarr i32.const 1840 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 363 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1864 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray global.set $std/array/sarr global.get $std/array/sarr - i32.const -7 - i32.const 1 + i32.const 2 + i32.const 2147483647 call $~lib/array/Array#splice - i32.const 1896 + i32.const 1880 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -11924,8 +11965,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 366 + i32.const 152 + i32.const 345 i32.const 0 call $~lib/env/abort unreachable @@ -11940,8 +11981,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 367 + i32.const 152 + i32.const 346 i32.const 0 call $~lib/env/abort unreachable @@ -11952,25 +11993,9 @@ call $~lib/runtime/doWrapArray global.set $std/array/sarr global.get $std/array/sarr - i32.const -2 - i32.const -1 - call $~lib/array/Array#splice - i32.const 1968 - i32.const 4 i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 370 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr + i32.const 2 + call $~lib/array/Array#splice i32.const 1976 i32.const 4 i32.const 2 @@ -11980,22 +12005,38 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 371 + i32.const 152 + i32.const 349 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2008 + global.get $std/array/sarr + i32.const 2000 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 350 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2032 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray global.set $std/array/sarr global.get $std/array/sarr + i32.const 0 i32.const 1 - i32.const -2 call $~lib/array/Array#splice - i32.const 2040 + i32.const 2072 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -12004,14 +12045,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 374 + i32.const 152 + i32.const 353 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/sarr - i32.const 2048 + i32.const 2096 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -12020,22 +12061,22 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 375 + i32.const 152 + i32.const 354 i32.const 0 call $~lib/env/abort unreachable end - i32.const 2080 + i32.const 2128 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray global.set $std/array/sarr global.get $std/array/sarr - i32.const 4 - i32.const 0 + i32.const -1 + i32.const 2147483647 call $~lib/array/Array#splice - i32.const 2112 + i32.const 2168 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -12044,48 +12085,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 378 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - i32.const 2120 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 379 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 2152 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 7 - i32.const 0 - call $~lib/array/Array#splice - i32.const 2184 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 382 + i32.const 152 + i32.const 357 i32.const 0 call $~lib/env/abort unreachable @@ -12100,8 +12101,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 383 + i32.const 152 + i32.const 358 i32.const 0 call $~lib/env/abort unreachable @@ -12112,25 +12113,9 @@ call $~lib/runtime/doWrapArray global.set $std/array/sarr global.get $std/array/sarr - i32.const 7 - i32.const 5 + i32.const -2 + i32.const 2147483647 call $~lib/array/Array#splice - i32.const 2256 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 386 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr i32.const 2264 i32.const 4 i32.const 2 @@ -12140,8 +12125,304 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 387 + i32.const 152 + i32.const 361 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2288 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 362 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2320 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const -2 + i32.const 1 + call $~lib/array/Array#splice + i32.const 2360 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 365 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2384 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 366 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2416 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + i32.const 2456 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 369 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2480 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 370 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2512 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + i32.const 2552 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 373 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2568 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 374 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2608 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + i32.const 2648 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 377 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2664 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 378 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2704 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + i32.const 2744 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 381 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2760 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 382 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2800 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 7 + i32.const 0 + call $~lib/array/Array#splice + i32.const 2840 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 385 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2856 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 386 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2896 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + i32.const 2936 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 389 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + i32.const 2952 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 390 i32.const 0 call $~lib/env/abort unreachable @@ -12169,8 +12450,8 @@ global.get $std/array/i if i32.const 0 - i32.const 120 - i32.const 397 + i32.const 152 + i32.const 400 i32.const 0 call $~lib/env/abort unreachable @@ -12184,8 +12465,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 400 + i32.const 152 + i32.const 403 i32.const 0 call $~lib/env/abort unreachable @@ -12199,8 +12480,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 403 + i32.const 152 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -12214,8 +12495,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 411 + i32.const 152 + i32.const 414 i32.const 0 call $~lib/env/abort unreachable @@ -12226,8 +12507,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 412 + i32.const 152 + i32.const 415 i32.const 0 call $~lib/env/abort unreachable @@ -12241,8 +12522,8 @@ i32.eq if i32.const 0 - i32.const 120 - i32.const 414 + i32.const 152 + i32.const 417 i32.const 0 call $~lib/env/abort unreachable @@ -12268,8 +12549,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 427 + i32.const 152 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -12280,8 +12561,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 428 + i32.const 152 + i32.const 431 i32.const 0 call $~lib/env/abort unreachable @@ -12301,8 +12582,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 436 + i32.const 152 + i32.const 439 i32.const 0 call $~lib/env/abort unreachable @@ -12314,8 +12595,8 @@ global.get $std/array/every if i32.const 0 - i32.const 120 - i32.const 439 + i32.const 152 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -12329,8 +12610,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 447 + i32.const 152 + i32.const 450 i32.const 0 call $~lib/env/abort unreachable @@ -12341,8 +12622,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 448 + i32.const 152 + i32.const 451 i32.const 0 call $~lib/env/abort unreachable @@ -12354,8 +12635,8 @@ global.get $std/array/every if i32.const 0 - i32.const 120 - i32.const 450 + i32.const 152 + i32.const 453 i32.const 0 call $~lib/env/abort unreachable @@ -12381,8 +12662,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 463 + i32.const 152 + i32.const 466 i32.const 0 call $~lib/env/abort unreachable @@ -12393,8 +12674,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 464 + i32.const 152 + i32.const 467 i32.const 0 call $~lib/env/abort unreachable @@ -12414,8 +12695,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 472 + i32.const 152 + i32.const 475 i32.const 0 call $~lib/env/abort unreachable @@ -12427,8 +12708,8 @@ global.get $std/array/some if i32.const 0 - i32.const 120 - i32.const 475 + i32.const 152 + i32.const 478 i32.const 0 call $~lib/env/abort unreachable @@ -12440,8 +12721,8 @@ global.get $std/array/some if i32.const 0 - i32.const 120 - i32.const 483 + i32.const 152 + i32.const 486 i32.const 0 call $~lib/env/abort unreachable @@ -12452,8 +12733,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 484 + i32.const 152 + i32.const 487 i32.const 0 call $~lib/env/abort unreachable @@ -12467,8 +12748,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 486 + i32.const 152 + i32.const 489 i32.const 0 call $~lib/env/abort unreachable @@ -12492,8 +12773,8 @@ global.get $std/array/some if i32.const 0 - i32.const 120 - i32.const 499 + i32.const 152 + i32.const 502 i32.const 0 call $~lib/env/abort unreachable @@ -12504,8 +12785,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 500 + i32.const 152 + i32.const 503 i32.const 0 call $~lib/env/abort unreachable @@ -12526,8 +12807,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 509 + i32.const 152 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -12542,8 +12823,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 518 + i32.const 152 + i32.const 521 i32.const 0 call $~lib/env/abort unreachable @@ -12554,8 +12835,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 519 + i32.const 152 + i32.const 522 i32.const 0 call $~lib/env/abort unreachable @@ -12570,8 +12851,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 522 + i32.const 152 + i32.const 525 i32.const 0 call $~lib/env/abort unreachable @@ -12598,8 +12879,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 536 + i32.const 152 + i32.const 539 i32.const 0 call $~lib/env/abort unreachable @@ -12610,8 +12891,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 537 + i32.const 152 + i32.const 540 i32.const 0 call $~lib/env/abort unreachable @@ -12631,8 +12912,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 562 + i32.const 152 + i32.const 565 i32.const 0 call $~lib/env/abort unreachable @@ -12673,8 +12954,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 573 + i32.const 152 + i32.const 576 i32.const 0 call $~lib/env/abort unreachable @@ -12689,8 +12970,8 @@ f32.ne if i32.const 0 - i32.const 120 - i32.const 574 + i32.const 152 + i32.const 577 i32.const 0 call $~lib/env/abort unreachable @@ -12705,8 +12986,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 583 + i32.const 152 + i32.const 586 i32.const 0 call $~lib/env/abort unreachable @@ -12717,8 +12998,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 584 + i32.const 152 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -12733,8 +13014,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 591 + i32.const 152 + i32.const 594 i32.const 0 call $~lib/env/abort unreachable @@ -12761,8 +13042,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 606 + i32.const 152 + i32.const 609 i32.const 0 call $~lib/env/abort unreachable @@ -12773,8 +13054,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 607 + i32.const 152 + i32.const 610 i32.const 0 call $~lib/env/abort unreachable @@ -12795,8 +13076,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 615 + i32.const 152 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -12812,8 +13093,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 624 + i32.const 152 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -12824,8 +13105,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 625 + i32.const 152 + i32.const 628 i32.const 0 call $~lib/env/abort unreachable @@ -12841,8 +13122,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 632 + i32.const 152 + i32.const 635 i32.const 0 call $~lib/env/abort unreachable @@ -12870,8 +13151,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 647 + i32.const 152 + i32.const 650 i32.const 0 call $~lib/env/abort unreachable @@ -12882,8 +13163,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 648 + i32.const 152 + i32.const 651 i32.const 0 call $~lib/env/abort unreachable @@ -12904,8 +13185,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 656 + i32.const 152 + i32.const 659 i32.const 0 call $~lib/env/abort unreachable @@ -12920,8 +13201,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 660 + i32.const 152 + i32.const 663 i32.const 0 call $~lib/env/abort unreachable @@ -12938,8 +13219,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 663 + i32.const 152 + i32.const 666 i32.const 0 call $~lib/env/abort unreachable @@ -12954,8 +13235,8 @@ global.get $std/array/boolVal if i32.const 0 - i32.const 120 - i32.const 666 + i32.const 152 + i32.const 669 i32.const 0 call $~lib/env/abort unreachable @@ -12970,8 +13251,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 674 + i32.const 152 + i32.const 677 i32.const 0 call $~lib/env/abort unreachable @@ -12982,8 +13263,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 675 + i32.const 152 + i32.const 678 i32.const 0 call $~lib/env/abort unreachable @@ -12998,8 +13279,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 677 + i32.const 152 + i32.const 680 i32.const 0 call $~lib/env/abort unreachable @@ -13026,8 +13307,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 690 + i32.const 152 + i32.const 693 i32.const 0 call $~lib/env/abort unreachable @@ -13038,8 +13319,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 691 + i32.const 152 + i32.const 694 i32.const 0 call $~lib/env/abort unreachable @@ -13060,8 +13341,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 699 + i32.const 152 + i32.const 702 i32.const 0 call $~lib/env/abort unreachable @@ -13076,8 +13357,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 703 + i32.const 152 + i32.const 706 i32.const 0 call $~lib/env/abort unreachable @@ -13094,8 +13375,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 706 + i32.const 152 + i32.const 709 i32.const 0 call $~lib/env/abort unreachable @@ -13110,8 +13391,8 @@ global.get $std/array/boolVal if i32.const 0 - i32.const 120 - i32.const 709 + i32.const 152 + i32.const 712 i32.const 0 call $~lib/env/abort unreachable @@ -13126,8 +13407,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 717 + i32.const 152 + i32.const 720 i32.const 0 call $~lib/env/abort unreachable @@ -13138,8 +13419,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 718 + i32.const 152 + i32.const 721 i32.const 0 call $~lib/env/abort unreachable @@ -13154,8 +13435,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 720 + i32.const 152 + i32.const 723 i32.const 0 call $~lib/env/abort unreachable @@ -13182,8 +13463,8 @@ i32.ne if i32.const 0 - i32.const 120 - i32.const 733 + i32.const 152 + i32.const 736 i32.const 0 call $~lib/env/abort unreachable @@ -13192,8 +13473,8 @@ i32.load offset=12 if i32.const 0 - i32.const 120 - i32.const 734 + i32.const 152 + i32.const 737 i32.const 0 call $~lib/env/abort unreachable @@ -13234,7 +13515,7 @@ local.get $0 call $~lib/array/Array#sort global.get $std/array/f32ArrayTyped - i32.const 2576 + i32.const 3304 i32.const 9 i32.const 2 call $~lib/runtime/doWrapArray @@ -13242,8 +13523,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 821 + i32.const 152 + i32.const 824 i32.const 0 call $~lib/env/abort unreachable @@ -13269,7 +13550,7 @@ local.get $0 call $~lib/array/Array#sort global.get $std/array/f64ArrayTyped - i32.const 2712 + i32.const 3464 i32.const 10 i32.const 3 call $~lib/runtime/doWrapArray @@ -13277,8 +13558,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 825 + i32.const 152 + i32.const 828 i32.const 0 call $~lib/env/abort unreachable @@ -13305,7 +13586,7 @@ call $~lib/array/Array#sort drop global.get $std/array/i32ArrayTyped - i32.const 2840 + i32.const 3616 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -13314,8 +13595,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 829 + i32.const 152 + i32.const 832 i32.const 0 call $~lib/env/abort unreachable @@ -13342,7 +13623,7 @@ call $~lib/array/Array#sort drop global.get $std/array/u32ArrayTyped - i32.const 2928 + i32.const 3728 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray @@ -13351,8 +13632,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 833 + i32.const 152 + i32.const 836 i32.const 0 call $~lib/env/abort unreachable @@ -13377,7 +13658,7 @@ global.get $std/array/reversed1 call $std/array/assertSortedDefault global.get $std/array/reversed1 - i32.const 3168 + i32.const 4056 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray @@ -13386,30 +13667,30 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 853 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/reversed2 - call $std/array/assertSortedDefault - global.get $std/array/reversed2 - i32.const 3184 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 856 i32.const 0 call $~lib/env/abort unreachable end + global.get $std/array/reversed2 + call $std/array/assertSortedDefault + global.get $std/array/reversed2 + i32.const 4080 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 859 + i32.const 0 + call $~lib/env/abort + unreachable + end global.get $std/array/reversed4 call $std/array/assertSortedDefault global.get $std/array/reversed4 @@ -13419,42 +13700,42 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 859 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/reversed64 - call $std/array/assertSortedDefault - global.get $std/array/reversed64 - global.get $std/array/expected4 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 862 i32.const 0 call $~lib/env/abort unreachable end - global.get $std/array/reversed128 + global.get $std/array/reversed64 call $std/array/assertSortedDefault - global.get $std/array/reversed128 + global.get $std/array/reversed64 global.get $std/array/expected4 i32.const 4 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 120 + i32.const 152 i32.const 865 i32.const 0 call $~lib/env/abort unreachable end + global.get $std/array/reversed128 + call $std/array/assertSortedDefault + global.get $std/array/reversed128 + global.get $std/array/expected4 + i32.const 4 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 868 + i32.const 0 + call $~lib/env/abort + unreachable + end global.get $std/array/reversed1024 call $std/array/assertSortedDefault global.get $std/array/reversed1024 @@ -13464,8 +13745,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 868 + i32.const 152 + i32.const 871 i32.const 0 call $~lib/env/abort unreachable @@ -13479,8 +13760,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 871 + i32.const 152 + i32.const 874 i32.const 0 call $~lib/env/abort unreachable @@ -13525,8 +13806,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 901 + i32.const 152 + i32.const 904 i32.const 0 call $~lib/env/abort unreachable @@ -13537,106 +13818,106 @@ global.set $~lib/argc global.get $std/array/randomStrings400 call $std/array/assertSorted|trampoline - i32.const 3528 + i32.const 4552 i32.const 15 i32.const 0 call $~lib/runtime/doWrapArray call $~lib/array/Array#join_bool - i32.const 3544 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 910 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4048 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 3264 - call $~lib/array/Array#join - i32.const 4072 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 911 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4136 - i32.const 8 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 4120 - call $~lib/array/Array#join - i32.const 4072 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 912 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4192 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - i32.const 4176 - call $~lib/array/Array#join - i32.const 4208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 913 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5432 - i32.const 10 - i32.const 3 + i32.const 5120 + i32.const 4 + i32.const 2 call $~lib/runtime/doWrapArray - call $~lib/array/Array#join_flt - i32.const 5488 + i32.const 4200 + call $~lib/array/Array#join + i32.const 5152 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 + i32.const 152 i32.const 914 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5616 - i32.const 14 + i32.const 5240 + i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray - i32.const 3264 - call $~lib/array/Array#join - i32.const 5576 + i32.const 5216 + call $~lib/array/Array#join + i32.const 5152 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 + i32.const 152 i32.const 915 i32.const 0 call $~lib/env/abort unreachable end + i32.const 5320 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 5296 + call $~lib/array/Array#join + i32.const 5344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 916 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 6672 + i32.const 10 + i32.const 3 + call $~lib/runtime/doWrapArray + call $~lib/array/Array#join_flt + i32.const 6736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 917 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 6888 + i32.const 14 + i32.const 2 + call $~lib/runtime/doWrapArray + i32.const 4200 + call $~lib/array/Array#join + i32.const 6832 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 918 + i32.const 0 + call $~lib/env/abort + unreachable + end i32.const 16 call $~lib/runtime/doAllocate i32.const 19 @@ -13652,202 +13933,227 @@ i32.store offset=12 local.get $0 i32.load offset=4 - local.tee $1 + local.tee $2 + local.set $3 call $std/array/Ref#constructor - i32.store + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/runtime/doRetain + end + local.get $3 local.get $1 + i32.store + local.get $2 i32.const 0 i32.store offset=4 - local.get $1 call $std/array/Ref#constructor + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/runtime/doRetain + end + local.get $2 + local.get $1 i32.store offset=8 local.get $0 global.set $std/array/refArr global.get $std/array/refArr call $~lib/array/Array#join_ref - i32.const 5680 + i32.const 6968 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 917 + i32.const 152 + i32.const 920 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed0 call $~lib/array/Array#toString - i32.const 3264 + i32.const 4200 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 921 + i32.const 152 + i32.const 924 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed1 call $~lib/array/Array#toString - i32.const 5576 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 922 + i32.const 152 + i32.const 925 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed2 call $~lib/array/Array#toString - i32.const 5752 + i32.const 7048 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 923 + i32.const 152 + i32.const 926 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed4 call $~lib/array/Array#toString - i32.const 5768 + i32.const 7072 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 924 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 5808 - i32.const 20 - i32.const 0 - call $~lib/runtime/doWrapArray - call $~lib/array/Array#join_int - i32.const 5824 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 926 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 5864 - i32.const 21 - i32.const 1 - call $~lib/runtime/doWrapArray - call $~lib/array/Array#join_int - i32.const 5880 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 927 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5944 - i32.const 16 - i32.const 3 + i32.const 7128 + i32.const 20 + i32.const 0 call $~lib/runtime/doWrapArray - call $~lib/array/Array#join_int - i32.const 5976 + call $~lib/array/Array#join_int + i32.const 7152 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 928 + i32.const 152 + i32.const 929 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6072 - i32.const 22 - i32.const 3 + i32.const 7208 + i32.const 21 + i32.const 1 call $~lib/runtime/doWrapArray - call $~lib/array/Array#join_int - i32.const 6112 + call $~lib/array/Array#join_int + i32.const 7232 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 929 + i32.const 152 + i32.const 930 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 7312 + i32.const 16 + i32.const 3 + call $~lib/runtime/doWrapArray + call $~lib/array/Array#join_int + i32.const 7352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 931 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 7464 + i32.const 22 + i32.const 3 + call $~lib/runtime/doWrapArray + call $~lib/array/Array#join_int + i32.const 7512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 932 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/randomStringsExpected call $~lib/array/Array#toString - i32.const 6208 + i32.const 7616 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 930 + i32.const 152 + i32.const 933 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6304 + i32.const 7744 i32.const 14 i32.const 2 call $~lib/runtime/doWrapArray call $~lib/array/Array#toString - i32.const 6328 + i32.const 7776 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 931 + i32.const 152 + i32.const 934 i32.const 0 call $~lib/env/abort unreachable end i32.const 2 call $~lib/array/Array>#constructor - local.tee $1 + local.tee $2 i32.load offset=4 - local.tee $0 - i32.const 6368 + local.set $0 + i32.const 7832 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray - i32.store + local.tee $1 + local.get $2 + call $~lib/runtime/doRetain local.get $0 - i32.const 6384 + local.get $1 + i32.store + i32.const 7856 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray - i32.store offset=4 + local.tee $1 + local.get $2 + call $~lib/runtime/doRetain + local.get $0 local.get $1 + i32.store offset=4 + local.get $2 global.set $std/array/subarr32 global.get $std/array/subarr32 call $~lib/array/Array>#join_arr - i32.const 6400 + i32.const 7880 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 934 + i32.const 152 + i32.const 937 i32.const 0 call $~lib/env/abort unreachable @@ -13867,29 +14173,38 @@ i32.store offset=12 local.get $0 i32.load offset=4 + local.set $2 + i32.const 7936 + i32.const 7 + i32.const 0 + call $~lib/runtime/doWrapArray local.tee $1 - i32.const 6440 - i32.const 7 - i32.const 0 - call $~lib/runtime/doWrapArray - i32.store + local.get $0 + call $~lib/runtime/doRetain + local.get $2 local.get $1 - i32.const 6456 + i32.store + i32.const 7960 i32.const 7 i32.const 0 call $~lib/runtime/doWrapArray + local.tee $1 + local.get $0 + call $~lib/runtime/doRetain + local.get $2 + local.get $1 i32.store offset=4 local.get $0 global.set $std/array/subarr8 global.get $std/array/subarr8 call $~lib/array/Array>#join_arr - i32.const 6400 + i32.const 7880 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 937 + i32.const 152 + i32.const 940 i32.const 0 call $~lib/env/abort unreachable @@ -13909,7 +14224,7 @@ i32.store offset=12 local.get $0 i32.load offset=4 - local.set $1 + local.set $2 i32.const 16 call $~lib/runtime/doAllocate i32.const 24 @@ -13917,42 +14232,57 @@ i32.const 1 i32.const 2 call $~lib/runtime/ArrayBufferView#constructor - local.tee $2 + local.tee $1 i32.const 0 i32.store offset=12 - local.get $2 + local.get $1 i32.const 1 i32.store offset=12 - local.get $2 + local.get $1 i32.load offset=4 - i32.const 6520 + local.set $3 + i32.const 8056 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray + local.tee $4 + local.get $1 + call $~lib/runtime/doRetain + local.get $3 + local.get $4 i32.store local.get $1 + local.get $0 + call $~lib/runtime/doRetain local.get $2 + local.get $1 i32.store local.get $0 global.set $std/array/subarrU32 global.get $std/array/subarrU32 call $~lib/array/Array>>#join_arr - i32.const 5576 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 940 + i32.const 152 + i32.const 943 i32.const 0 call $~lib/env/abort unreachable end ) - (func $start (; 159 ;) (type $FUNCSIG$v) - call $start:std/array + (func $std/array/main (; 162 ;) (type $FUNCSIG$v) + global.get $~lib/started + i32.eqz + if + call $start:std/array + i32.const 1 + global.set $~lib/started + end ) - (func $null (; 160 ;) (type $FUNCSIG$v) + (func $null (; 163 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index fb38652b..b1d2653b 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -1,7 +1,10 @@ import "allocator/arena"; +import "collector/dummy"; import { Array } from "array"; import { COMPARATOR } from "util/sort"; +@start export function main(): void {} + // Obtains the internal capacity of an array from its backing buffer. function internalCapacity(array: Array): i32 { // the memory region used by the backing buffer might still be larger in that the ArrayBuffer diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 09ee0b98..aeb7260b 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$fii (func (param i32 i32) (result f32))) (type $FUNCSIG$d (func (result f64))) @@ -28,221 +28,221 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 48) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 96) "\01\00\00\00\06\00\00\00a\00b\00c\00") - (data (i32.const 112) "\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 144) "\02\00\00\00\05\00\00\00\01\02\03\04\05") - (data (i32.const 160) "\07\00\00\00\10\00\00\00\98\00\00\00\98\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 184) "\02\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 200) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 240) "\02\00\00\00\05\00\00\00\00\00\00\00\00") - (data (i32.const 256) "\02\00\00\00\05\00\00\00\01\01\00\00\00") - (data (i32.const 272) "\02\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 288) "\02\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 304) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 336) "\08\00\00\00\10\00\00\008\01\00\008\01\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 360) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 392) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 424) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 456) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 488) "\02\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 520) "\02\00\00\00\00\00\00\00") - (data (i32.const 528) "\02\00\00\00\00\00\00\00") - (data (i32.const 536) "\04\00\00\00\10\00\00\00\18\02\00\00\18\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 592) "\02\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 624) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 656) "\02\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 688) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 720) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 752) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 784) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 816) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 848) "\02\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 880) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 912) "\02\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 944) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 976) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1008) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1040) "\02\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1072) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1104) "\02\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1136) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1168) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1200) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1232) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1264) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1296) "\02\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 1328) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1360) "\04\00\00\00\10\00\00\008\05\00\008\05\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 1384) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1416) "\02\00\00\00\00\00\00\00") - (data (i32.const 1424) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1456) "\02\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1480) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 1496) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1528) "\02\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 1544) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") - (data (i32.const 1568) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1600) "\02\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 1616) "\02\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1640) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1672) "\02\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1688) "\02\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 1712) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1744) "\02\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1760) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 1784) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1816) "\02\00\00\00\04\00\00\00\04\00\00\00") - (data (i32.const 1832) "\02\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00") - (data (i32.const 1856) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1888) "\02\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 1904) "\02\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1928) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1960) "\02\00\00\00\00\00\00\00") - (data (i32.const 1968) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2000) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2032) "\02\00\00\00\00\00\00\00") - (data (i32.const 2040) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2072) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2104) "\02\00\00\00\00\00\00\00") - (data (i32.const 2112) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2144) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2176) "\02\00\00\00\00\00\00\00") - (data (i32.const 2184) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2216) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2248) "\02\00\00\00\00\00\00\00") - (data (i32.const 2256) "\02\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2288) "\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 2320) "\01\00\00\00\ac\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 2504) "\02\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2544) "\t\00\00\00\10\00\00\00\d0\t\00\00\d0\t\00\00 \00\00\00\08\00\00\00") - (data (i32.const 2568) "\02\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2608) "\02\00\00\00@\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 2680) "\n\00\00\00\10\00\00\008\n\00\008\n\00\00@\00\00\00\08\00\00\00") - (data (i32.const 2704) "\02\00\00\00@\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2776) "\02\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00") - (data (i32.const 2808) "\04\00\00\00\10\00\00\00\e0\n\00\00\e0\n\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 2832) "\02\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 2864) "\02\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00") - (data (i32.const 2896) "\08\00\00\00\10\00\00\008\0b\00\008\0b\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 2920) "\02\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2952) "\02\00\00\00\00\00\00\00") - (data (i32.const 2960) "\04\00\00\00\10\00\00\00\90\0b\00\00\90\0b\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2984) "\02\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 3000) "\04\00\00\00\10\00\00\00\b0\0b\00\00\b0\0b\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 3024) "\02\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 3040) "\04\00\00\00\10\00\00\00\d8\0b\00\00\d8\0b\00\00\08\00\00\00\02\00\00\00") - (data (i32.const 3064) "\02\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3088) "\04\00\00\00\10\00\00\00\00\0c\00\00\00\0c\00\00\10\00\00\00\04\00\00\00") - (data (i32.const 3112) "\02\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 3136) "\04\00\00\00\10\00\00\000\0c\00\000\0c\00\00\10\00\00\00\04\00\00\00") - (data (i32.const 3160) "\02\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 3176) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 3192) "\01\00\00\00\02\00\00\00a\00") - (data (i32.const 3208) "\01\00\00\00\02\00\00\00b\00") - (data (i32.const 3224) "\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 3240) "\01\00\00\00\04\00\00\00b\00a\00") - (data (i32.const 3256) "\01\00\00\00\00\00\00\00") - (data (i32.const 3264) "\02\00\00\00\1c\00\00\00\80\0c\00\00\90\0c\00\00\80\0c\00\00\a0\0c\00\00\b0\0c\00\00\c0\0c\00\00\00\00\00\00") - (data (i32.const 3304) "\0e\00\00\00\10\00\00\00\c8\0c\00\00\c8\0c\00\00\1c\00\00\00\07\00\00\00") - (data (i32.const 3328) "\02\00\00\00\1c\00\00\00\c0\0c\00\00\80\0c\00\00\80\0c\00\00\a0\0c\00\00\90\0c\00\00\b0\0c\00\00\00\00\00\00") - (data (i32.const 3368) "\0e\00\00\00\10\00\00\00\08\0d\00\00\08\0d\00\00\1c\00\00\00\07\00\00\00") - (data (i32.const 3392) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3432) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 3448) "\02\00\00\00\02\00\00\00\01\00") - (data (i32.const 3464) "\01\00\00\00\08\00\00\00t\00r\00u\00e\00") - (data (i32.const 3480) "\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 3504) "\01\00\00\00\02\00\00\00,\00") - (data (i32.const 3520) "\02\00\00\00\02\00\00\00\01\00") - (data (i32.const 3536) "\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 3568) "\02\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3592) "\01\00\00\00\02\00\00\000\00") - (data (i32.const 3608) "\02\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 4016) "\08\00\00\00\10\00\00\00 \0e\00\00 \0e\00\00\90\01\00\00d\00\00\00") - (data (i32.const 4040) "\02\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4064) "\01\00\00\00\n\00\00\001\00-\002\00-\003\00") - (data (i32.const 4088) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 4112) "\01\00\00\00\02\00\00\00-\00") - (data (i32.const 4128) "\02\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 4152) "\02\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4168) "\01\00\00\00\04\00\00\00_\00_\00") - (data (i32.const 4184) "\02\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4200) "\01\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4256) "\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4312) "\01\00\00\00\04\00\00\00,\00 \00") - (data (i32.const 4328) "\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 4344) "\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 4360) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4392) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4416) "\02\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 3208) "\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 3256) "\t\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\0c\00\00\98\0c\00\00 \00\00\00\08\00\00\00") + (data (i32.const 3288) "\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 3336) "\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3416) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\0d\00\00\18\0d\00\00@\00\00\00\08\00\00\00") + (data (i32.const 3448) "\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3528) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00") + (data (i32.const 3568) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d8\0d\00\00\d8\0d\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3600) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3640) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00") + (data (i32.const 3680) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\0e\00\00H\0e\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3712) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3752) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3768) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\0e\00\00\b8\0e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3800) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 3824) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e8\0e\00\00\e8\0e\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 3856) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3880) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00 \0f\00\00 \0f\00\00\08\00\00\00\02\00\00\00") + (data (i32.const 3912) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3944) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00X\0f\00\00X\0f\00\00\10\00\00\00\04\00\00\00") + (data (i32.const 3976) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 4008) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\0f\00\00\98\0f\00\00\10\00\00\00\04\00\00\00") + (data (i32.const 4040) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 4064) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 4088) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") + (data (i32.const 4112) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") + (data (i32.const 4136) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") + (data (i32.const 4160) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") + (data (i32.const 4184) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4200) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\08\10\00\00 \10\00\00\08\10\00\008\10\00\00P\10\00\00h\10\00\00\00\00\00\00") + (data (i32.const 4248) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00x\10\00\00x\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4280) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00h\10\00\00\08\10\00\00\08\10\00\008\10\00\00 \10\00\00P\10\00\00\00\00\00\00") + (data (i32.const 4328) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\10\00\00\c8\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4360) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 4408) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") + (data (i32.const 4432) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") + (data (i32.const 4456) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00") + (data (i32.const 4480) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 4512) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") + (data (i32.const 4536) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") + (data (i32.const 4560) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 4600) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4632) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") + (data (i32.const 4656) "\02\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 5072) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00@\12\00\00@\12\00\00\90\01\00\00d\00\00\00") + (data (i32.const 5104) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 5136) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\00-\002\00-\003\00") + (data (i32.const 5168) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5200) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00-\00") + (data (i32.const 5224) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5256) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 5280) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00_\00_\00") + (data (i32.const 5304) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 5328) "\01\00\00\000\00\00\00\00\00\00\00\00\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 5392) "\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 5456) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00,\00 \00") + (data (i32.const 5480) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\000\00") + (data (i32.const 5504) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") + (data (i32.const 5528) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5568) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5600) "\02\00\00\00\b8\02\00\00\00\00\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $start:std/array~anonymous|43 $start:std/array~anonymous|44 $start:std/array~anonymous|45 $start:std/array~anonymous|46 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR~anonymous|0) - (global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 0)) - (global $~lib/runtime/HEADER_SIZE i32 (i32.const 8)) + (global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 1)) + (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) - (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741816)) + (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $std/array/arr (mut i32) (i32.const 0)) (global $std/array/num (mut i32) (i32.const 1)) (global $std/array/Null (mut i32) (i32.const 0)) - (global $std/array/str (mut i32) (i32.const 104)) - (global $std/array/arr8 (mut i32) (i32.const 168)) + (global $std/array/str (mut i32) (i32.const 128)) + (global $std/array/arr8 (mut i32) (i32.const 216)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) - (global $std/array/arr32 (mut i32) (i32.const 344)) + (global $std/array/arr32 (mut i32) (i32.const 456)) (global $std/array/i (mut i32) (i32.const 0)) (global $std/array/other (mut i32) (i32.const 0)) (global $std/array/out (mut i32) (i32.const 0)) - (global $std/array/source (mut i32) (i32.const 544)) + (global $std/array/source (mut i32) (i32.const 720)) (global $std/array/cwArr (mut i32) (i32.const 0)) (global $std/array/includes (mut i32) (i32.const 0)) - (global $std/array/sarr (mut i32) (i32.const 1368)) + (global $std/array/sarr (mut i32) (i32.const 1752)) (global $~lib/argc (mut i32) (i32.const 0)) (global $std/array/every (mut i32) (i32.const 0)) (global $std/array/some (mut i32) (i32.const 0)) @@ -254,16 +254,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 2328)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2552)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2688)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2816)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2904)) - (global $std/array/reversed0 (mut i32) (i32.const 2968)) - (global $std/array/reversed1 (mut i32) (i32.const 3008)) - (global $std/array/reversed2 (mut i32) (i32.const 3048)) - (global $std/array/reversed4 (mut i32) (i32.const 3096)) - (global $std/array/expected4 (mut i32) (i32.const 3144)) + (global $std/array/charset i32 (i32.const 3032)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 3272)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3432)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3584)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3696)) + (global $std/array/reversed0 (mut i32) (i32.const 3784)) + (global $std/array/reversed1 (mut i32) (i32.const 3840)) + (global $std/array/reversed2 (mut i32) (i32.const 3896)) + (global $std/array/reversed4 (mut i32) (i32.const 3960)) + (global $std/array/expected4 (mut i32) (i32.const 4024)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -273,8 +273,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3312)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3376)) + (global $std/array/randomStringsActual (mut i32) (i32.const 4264)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 4344)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648)) @@ -290,10 +290,13 @@ (global $std/array/subarr32 (mut i32) (i32.const 0)) (global $std/array/subarr8 (mut i32) (i32.const 0)) (global $std/array/subarrU32 (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 6524)) + (global $~lib/started (mut i32) (i32.const 0)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 8060)) + (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (start $start) + (export "main" (func $std/array/main)) + (export ".capabilities" (global $~lib/capabilities)) (func $~lib/runtime/ADJUSTOBLOCK (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -404,6 +407,12 @@ local.get $0 i32.store offset=4 local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 global.get $~lib/runtime/HEADER_SIZE i32.add ) @@ -671,8 +680,8 @@ i32.eqz if i32.const 0 - i32.const 16 - i32.const 217 + i32.const 24 + i32.const 332 i32.const 2 call $~lib/env/abort unreachable @@ -686,14 +695,17 @@ i32.eqz if i32.const 0 - i32.const 16 - i32.const 218 + i32.const 24 + i32.const 333 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/runtime/doRegister (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/collector/dummy/__gc_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/doRegister (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 call $~lib/runtime/assertUnregistered local.get $0 @@ -702,8 +714,10 @@ local.get $1 i32.store local.get $0 + call $~lib/collector/dummy/__gc_register + local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -711,7 +725,7 @@ i32.gt_u if i32.const 0 - i32.const 56 + i32.const 72 i32.const 24 i32.const 43 call $~lib/env/abort @@ -736,7 +750,48 @@ call $~lib/runtime/doRegister end ) - (func $~lib/runtime/ArrayBufferView#constructor (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/assertRegistered (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 339 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $~lib/runtime/HEADER_SIZE + i32.sub + i32.load + global.get $~lib/runtime/HEADER_MAGIC + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 340 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/collector/dummy/__gc_retain (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/runtime/doRetain (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + call $~lib/runtime/assertRegistered + local.get $1 + call $~lib/runtime/assertRegistered + local.get $0 + local.get $1 + call $~lib/collector/dummy/__gc_retain + ) + (func $~lib/runtime/ArrayBufferView#constructor (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -746,8 +801,8 @@ i32.gt_u if i32.const 0 - i32.const 16 - i32.const 251 + i32.const 24 + i32.const 366 i32.const 57 call $~lib/env/abort unreachable @@ -788,7 +843,13 @@ i32.store offset=8 local.get $0 end - local.get $3 + local.tee $4 + block $~lib/runtime/RETAIN|inlined.0 (result i32) + local.get $3 + local.get $4 + call $~lib/runtime/doRetain + local.get $3 + end i32.store local.get $0 local.get $3 @@ -798,7 +859,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -827,7 +888,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array.isArray | null> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray | null> (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 if (result i32) local.get $0 @@ -837,7 +898,7 @@ i32.const 1 end ) - (func $~lib/array/Array.isArray> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray> (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 if (result i32) local.get $0 @@ -847,7 +908,7 @@ i32.const 1 end ) - (func $std/array/P#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/P#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.eqz @@ -868,7 +929,7 @@ end local.get $0 ) - (func $~lib/array/Array.isArray

(; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray

(; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -878,7 +939,7 @@ i32.const 0 end ) - (func $~lib/typedarray/Uint8Array#constructor (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -901,7 +962,7 @@ local.set $0 local.get $0 ) - (func $~lib/array/Array.isArray (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -911,7 +972,7 @@ i32.const 0 end ) - (func $~lib/array/Array.isArray (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -921,7 +982,7 @@ i32.const 0 end ) - (func $~lib/array/Array.isArray (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -931,7 +992,7 @@ i32.const 0 end ) - (func $~lib/array/Array#fill (; 19 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 23 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -1007,13 +1068,13 @@ end local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub i32.load offset=4 ) - (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2214,7 +2275,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2445,10 +2506,11 @@ end end ) - (func $~lib/runtime/doWrapArray (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/doWrapArray (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) i32.const 16 call $~lib/runtime/doAllocate local.get $1 @@ -2463,7 +2525,13 @@ call $~lib/runtime/doRegister local.set $5 local.get $3 - local.get $5 + local.tee $6 + block $~lib/runtime/RETAIN|inlined.1 (result i32) + local.get $5 + local.get $6 + call $~lib/runtime/doRetain + local.get $5 + end i32.store local.get $3 local.get $5 @@ -2482,11 +2550,11 @@ call $~lib/memory/memory.copy local.get $3 ) - (func $~lib/array/Array#get:length (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2495,7 +2563,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -2509,7 +2577,7 @@ i32.add i32.load8_u ) - (func $std/array/isArraysEqual (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -2564,7 +2632,7 @@ end i32.const 1 ) - (func $~lib/array/Array#fill (; 27 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 31 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2650,11 +2718,11 @@ end local.get $0 ) - (func $~lib/array/Array#get:length (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2663,7 +2731,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -2677,7 +2745,7 @@ i32.add i32.load ) - (func $std/array/isArraysEqual (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -2732,11 +2800,11 @@ end i32.const 1 ) - (func $~lib/array/Array#get:length (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $std/array/internalCapacity (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/internalCapacity (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -2746,12 +2814,12 @@ i32.const 2 i32.shr_s ) - (func $~lib/memory/memory.free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/memory/memory.free (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 local.set $1 ) - (func $~lib/runtime/doReallocate (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/doReallocate (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2789,6 +2857,12 @@ i32.load i32.store local.get $5 + i32.const 0 + i32.store offset=8 + local.get $5 + i32.const 0 + i32.store offset=12 + local.get $5 global.get $~lib/runtime/HEADER_SIZE i32.add local.set $6 @@ -2815,8 +2889,8 @@ i32.eqz if i32.const 0 - i32.const 16 - i32.const 107 + i32.const 24 + i32.const 177 i32.const 8 call $~lib/env/abort unreachable @@ -2824,7 +2898,8 @@ local.get $2 call $~lib/memory/memory.free else - nop + local.get $0 + call $~lib/collector/dummy/__gc_register end local.get $5 local.set $2 @@ -2848,7 +2923,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2867,7 +2942,7 @@ i32.gt_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 10 i32.const 64 call $~lib/env/abort @@ -2895,7 +2970,13 @@ i32.ne if local.get $0 - local.get $5 + local.tee $6 + block $~lib/runtime/RETAIN|inlined.2 (result i32) + local.get $5 + local.get $6 + call $~lib/runtime/doRetain + local.get $5 + end i32.store local.get $0 local.get $5 @@ -2906,7 +2987,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -2932,7 +3013,7 @@ i32.store local.get $2 ) - (func $~lib/array/Array#__get (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2941,7 +3022,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -2955,7 +3036,7 @@ i32.add i32.load ) - (func $~lib/array/Array#pop (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2966,8 +3047,8 @@ i32.lt_s if i32.const 0 - i32.const 208 - i32.const 203 + i32.const 272 + i32.const 204 i32.const 20 call $~lib/env/abort unreachable @@ -2988,7 +3069,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#concat (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3034,7 +3115,7 @@ call $~lib/memory/memory.copy local.get $4 ) - (func $~lib/array/Array#copyWithin (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 44 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3224,7 +3305,7 @@ end local.get $0 ) - (func $std/array/isArraysEqual (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -3279,7 +3360,7 @@ end i32.const 1 ) - (func $~lib/array/Array#unshift (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#unshift (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3312,7 +3393,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#shift (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3325,8 +3406,8 @@ i32.lt_s if i32.const 0 - i32.const 208 - i32.const 264 + i32.const 272 + i32.const 265 i32.const 20 call $~lib/env/abort unreachable @@ -3361,7 +3442,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#reverse (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#reverse (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3416,7 +3497,7 @@ end local.get $0 ) - (func $~lib/array/Array#indexOf (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3488,7 +3569,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -3496,7 +3577,7 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#splice (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3576,22 +3657,18 @@ i32.lt_s i32.eqz br_if $break|0 - block - local.get $9 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $5 - local.get $7 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store - end + local.get $7 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $9 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store local.get $4 i32.const 1 i32.add @@ -3636,7 +3713,7 @@ i32.store offset=12 local.get $6 ) - (func $~lib/array/Array#__set (; 48 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 local.get $1 i32.const 1 @@ -3663,12 +3740,12 @@ i32.store offset=12 end ) - (func $start:std/array~anonymous|0 (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.eq ) - (func $~lib/array/Array#findIndex (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3727,17 +3804,17 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.eq ) - (func $start:std/array~anonymous|2 (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|3 (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3746,12 +3823,12 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|4 (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|4 (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|5 (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3759,12 +3836,12 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|6 (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3824,12 +3901,12 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.le_s ) - (func $start:std/array~anonymous|8 (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3838,12 +3915,12 @@ i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|9 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|10 (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3851,12 +3928,12 @@ i32.const 3 i32.lt_s ) - (func $start:std/array~anonymous|11 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3915,12 +3992,12 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const -1 i32.le_s ) - (func $start:std/array~anonymous|13 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3929,12 +4006,12 @@ i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|14 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|15 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 71 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3942,13 +4019,13 @@ i32.const 3 i32.gt_s ) - (func $start:std/array~anonymous|16 (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 72 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i ) - (func $~lib/array/Array#forEach (; 69 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4000,7 +4077,7 @@ unreachable end ) - (func $start:std/array~anonymous|17 (; 70 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 74 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4010,13 +4087,13 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|18 (; 71 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|18 (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|19 (; 72 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/array/Array#pop drop @@ -4025,7 +4102,7 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|20 (; 73 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 77 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $1 i32.const 0 @@ -4132,19 +4209,19 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 559 + i32.const 152 + i32.const 562 i32.const 4 call $~lib/env/abort unreachable end end ) - (func $start:std/array~anonymous|21 (; 74 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 78 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $0 f32.convert_i32_s ) - (func $~lib/array/Array#constructor (; 75 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -4173,7 +4250,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array#map (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4246,11 +4323,11 @@ end local.get $3 ) - (func $~lib/array/Array#get:length (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 81 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (; 78 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 82 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -4259,7 +4336,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -4273,7 +4350,7 @@ i32.add f32.load ) - (func $start:std/array~anonymous|22 (; 79 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4284,7 +4361,7 @@ global.set $std/array/i local.get $0 ) - (func $~lib/array/Array#map (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 84 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4356,14 +4433,14 @@ end local.get $3 ) - (func $start:std/array~anonymous|23 (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|24 (; 82 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 86 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -4373,12 +4450,12 @@ global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|25 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 84 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 88 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4448,7 +4525,7 @@ end local.get $2 ) - (func $start:std/array~anonymous|26 (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4461,7 +4538,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|27 (; 86 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 90 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add @@ -4470,7 +4547,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|28 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 91 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -4482,12 +4559,12 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|29 (; 88 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 92 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduce (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 93 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4545,12 +4622,12 @@ end local.get $3 ) - (func $start:std/array~anonymous|30 (; 90 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|30 (; 94 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|31 (; 91 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4562,7 +4639,7 @@ i32.gt_s end ) - (func $~lib/array/Array#reduce (; 92 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4620,7 +4697,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|32 (; 93 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 97 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4632,7 +4709,7 @@ i32.gt_s end ) - (func $start:std/array~anonymous|33 (; 94 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 98 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 i32.const 1 call $~lib/array/Array#push @@ -4641,12 +4718,12 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|34 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|34 (; 99 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|35 (; 96 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 100 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/array/Array#pop drop @@ -4654,12 +4731,12 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|36 (; 97 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|36 (; 101 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 98 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -4704,12 +4781,12 @@ end local.get $3 ) - (func $start:std/array~anonymous|37 (; 99 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|37 (; 103 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|38 (; 100 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|38 (; 104 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4721,7 +4798,7 @@ i32.gt_s end ) - (func $~lib/array/Array#reduceRight (; 101 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 105 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -4766,7 +4843,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|39 (; 102 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|39 (; 106 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4778,7 +4855,7 @@ i32.gt_s end ) - (func $start:std/array~anonymous|40 (; 103 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|40 (; 107 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 i32.const 1 call $~lib/array/Array#push @@ -4787,12 +4864,12 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|41 (; 104 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|41 (; 108 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|42 (; 105 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|42 (; 109 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/array/Array#pop drop @@ -4800,7 +4877,7 @@ local.get $1 i32.add ) - (func $~lib/math/murmurHash3 (; 106 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 110 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -4829,7 +4906,7 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (; 107 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 111 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -4864,12 +4941,12 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 108 ;) (type $FUNCSIG$vj) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 112 ;) (type $FUNCSIG$vj) (param $0 i64) local.get $0 i64.eqz if i32.const 0 - i32.const 2296 + i32.const 2992 i32.const 1021 i32.const 4 call $~lib/env/abort @@ -4893,7 +4970,7 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/util/sort/insertionSort (; 109 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 113 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f32) (local $5 i32) @@ -4989,7 +5066,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 110 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 114 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5289,7 +5366,7 @@ local.get $10 f32.store ) - (func $~lib/array/Array#sort (; 111 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 115 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -5301,8 +5378,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -5375,7 +5452,7 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 112 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 116 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5408,7 +5485,7 @@ i32.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 113 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 117 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -5427,12 +5504,12 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/builtins/isNaN (; 114 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/builtins/isNaN (; 118 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $std/array/isArraysEqual (; 115 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 119 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -5503,7 +5580,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 116 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 120 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -5599,7 +5676,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 117 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 121 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5899,7 +5976,7 @@ local.get $10 f64.store ) - (func $~lib/array/Array#sort (; 118 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 122 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -5911,8 +5988,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -5985,7 +6062,7 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 119 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 123 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -6018,7 +6095,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 120 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 124 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -6037,11 +6114,11 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array#get:length (; 121 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 125 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (; 122 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 126 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -6050,7 +6127,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -6064,12 +6141,12 @@ i32.add f64.load ) - (func $~lib/builtins/isNaN (; 123 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 127 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $std/array/isArraysEqual (; 124 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 128 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -6140,7 +6217,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 125 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 129 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6236,7 +6313,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 126 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 130 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6536,7 +6613,7 @@ local.get $10 i32.store ) - (func $~lib/array/Array#sort (; 127 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 131 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6546,8 +6623,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -6620,12 +6697,12 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -6644,7 +6721,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/util/sort/insertionSort (; 130 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 134 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6740,7 +6817,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 131 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 135 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7040,7 +7117,7 @@ local.get $10 i32.store ) - (func $~lib/array/Array#sort (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7050,8 +7127,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -7124,7 +7201,7 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 137 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -7133,7 +7210,7 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 134 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7152,7 +7229,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $std/array/createReverseOrderedArray (; 135 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 139 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -7189,7 +7266,7 @@ end local.get $1 ) - (func $~lib/math/NativeMath.random (; 136 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/math/NativeMath.random (; 140 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) @@ -7197,7 +7274,7 @@ i32.eqz if i32.const 0 - i32.const 2296 + i32.const 2992 i32.const 1030 i32.const 24 call $~lib/env/abort @@ -7246,7 +7323,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 137 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 141 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -7283,12 +7360,12 @@ end local.get $1 ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $std/array/isSorted (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 143 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -7336,7 +7413,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 140 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 144 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array#sort @@ -7345,14 +7422,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 810 + i32.const 152 + i32.const 813 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/array/assertSortedDefault (; 141 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSortedDefault (; 145 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) i32.const 48 @@ -7360,27 +7437,27 @@ end call $std/array/assertSorted ) - (func $start:std/array~anonymous|43 (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|43 (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|44 (; 143 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 147 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $start:std/array~anonymous|45 (; 144 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|45 (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|46 (; 145 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|46 (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array>#constructor (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 150 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -7409,11 +7486,27 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array>#get:length (; 147 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#get:length (; 151 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array>#__set (; 148 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/collector/dummy/__gc_release (; 152 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/runtime/doRelease (; 153 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + call $~lib/runtime/assertRegistered + local.get $1 + call $~lib/runtime/assertRegistered + local.get $0 + local.get $1 + call $~lib/collector/dummy/__gc_release + ) + (func $~lib/array/Array>#__set (; 154 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) local.get $0 local.get $1 i32.const 1 @@ -7426,8 +7519,41 @@ i32.const 2 i32.shl i32.add + local.set $3 + local.get $3 + i32.load + local.set $4 local.get $2 - i32.store + local.get $4 + i32.ne + if + block $~lib/runtime/RELEASE,Array>>|inlined.0 + local.get $4 + local.set $6 + local.get $0 + local.set $5 + local.get $6 + i32.const 0 + i32.ne + if + local.get $6 + local.get $5 + call $~lib/runtime/doRelease + end + end + local.get $3 + block $~lib/runtime/RETAIN,Array>>|inlined.0 (result i32) + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $6 + local.get $5 + call $~lib/runtime/doRetain + local.get $6 + end + i32.store + end local.get $1 local.get $0 i32.load offset=12 @@ -7440,7 +7566,7 @@ i32.store offset=12 end ) - (func $~lib/array/Array>#__get (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 155 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -7449,7 +7575,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -7463,7 +7589,7 @@ i32.add i32.load ) - (func $std/array/createReverseOrderedNestedArray (; 150 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -7510,7 +7636,7 @@ end local.get $1 ) - (func $start:std/array~anonymous|47 (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 157 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -7519,7 +7645,7 @@ call $~lib/array/Array#__get i32.sub ) - (func $~lib/util/sort/insertionSort> (; 152 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort> (; 158 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7615,7 +7741,7 @@ unreachable end ) - (func $~lib/array/Array>#sort (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7625,8 +7751,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -7689,7 +7815,7 @@ end local.get $0 ) - (func $std/array/isSorted> (; 154 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 160 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -7737,7 +7863,7 @@ end i32.const 1 ) - (func $std/array/assertSorted> (; 155 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 161 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array>#sort @@ -7746,14 +7872,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 810 + i32.const 152 + i32.const 813 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/array/Array>#constructor (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -7782,11 +7908,11 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array>#get:length (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#get:length (; 163 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $std/array/Proxy#constructor (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Proxy#constructor (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.eqz @@ -7810,7 +7936,11 @@ i32.store local.get $0 ) - (func $~lib/array/Array>#__set (; 159 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__set (; 165 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) local.get $0 local.get $1 i32.const 1 @@ -7823,8 +7953,41 @@ i32.const 2 i32.shl i32.add + local.set $3 + local.get $3 + i32.load + local.set $4 local.get $2 - i32.store + local.get $4 + i32.ne + if + block $~lib/runtime/RELEASE,Array>>|inlined.0 + local.get $4 + local.set $6 + local.get $0 + local.set $5 + local.get $6 + i32.const 0 + i32.ne + if + local.get $6 + local.get $5 + call $~lib/runtime/doRelease + end + end + local.get $3 + block $~lib/runtime/RETAIN,Array>>|inlined.0 (result i32) + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $6 + local.get $5 + call $~lib/runtime/doRetain + local.get $6 + end + i32.store + end local.get $1 local.get $0 i32.load offset=12 @@ -7837,7 +8000,7 @@ i32.store offset=12 end ) - (func $std/array/createReverseOrderedElementsArray (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 166 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -7876,14 +8039,14 @@ end local.get $1 ) - (func $start:std/array~anonymous|48 (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 i32.load i32.sub ) - (func $~lib/util/sort/insertionSort> (; 162 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort> (; 168 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7979,7 +8142,7 @@ unreachable end ) - (func $~lib/array/Array>#sort (; 163 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7989,8 +8152,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -8053,7 +8216,7 @@ end local.get $0 ) - (func $~lib/array/Array>#__get (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -8062,7 +8225,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -8076,7 +8239,7 @@ i32.add i32.load ) - (func $std/array/isSorted> (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -8124,7 +8287,7 @@ end i32.const 1 ) - (func $std/array/assertSorted> (; 166 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 172 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array>#sort @@ -8133,14 +8296,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 810 + i32.const 152 + i32.const 813 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/util/sort/insertionSort (; 167 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 173 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8236,7 +8399,7 @@ unreachable end ) - (func $~lib/array/Array#sort (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 174 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8246,8 +8409,8 @@ i32.eqz if i32.const 0 - i32.const 208 - i32.const 378 + i32.const 272 + i32.const 377 i32.const 4 call $~lib/env/abort unreachable @@ -8310,11 +8473,11 @@ end local.get $0 ) - (func $~lib/array/Array#get:length (; 169 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 175 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 176 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -8323,7 +8486,7 @@ i32.ge_u if i32.const 0 - i32.const 208 + i32.const 272 i32.const 69 i32.const 61 call $~lib/env/abort @@ -8337,7 +8500,7 @@ i32.add i32.load ) - (func $std/array/isSorted (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -8385,7 +8548,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 172 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 178 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array#sort @@ -8394,14 +8557,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 810 + i32.const 152 + i32.const 813 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/string/String#get:length (; 173 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 179 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub @@ -8409,7 +8572,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/string/compareImpl (; 174 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 180 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -8462,7 +8625,7 @@ end local.get $5 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8535,7 +8698,7 @@ select call $~lib/util/string/compareImpl ) - (func $std/array/assertSorted|trampoline (; 176 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted|trampoline (; 182 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -8556,7 +8719,7 @@ local.get $1 call $std/array/assertSorted ) - (func $~lib/string/String.__eq (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 183 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -8600,13 +8763,13 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String.__ne (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 184 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__eq i32.eqz ) - (func $std/array/isArraysEqual (; 179 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 185 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -8661,7 +8824,7 @@ end i32.const 1 ) - (func $~lib/array/Array#constructor (; 180 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 186 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -8690,7 +8853,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/string/String#charAt (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charAt (; 187 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -8699,7 +8862,7 @@ i32.eqz if i32.const 0 - i32.const 3400 + i32.const 4376 i32.const 36 i32.const 4 call $~lib/env/abort @@ -8710,7 +8873,7 @@ call $~lib/string/String#get:length i32.ge_u if - i32.const 3264 + i32.const 4200 return end block $~lib/runtime/ALLOCATE|inlined.10 (result i32) @@ -8736,7 +8899,7 @@ call $~lib/runtime/doRegister end ) - (func $~lib/string/String#concat (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 188 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8746,7 +8909,7 @@ i32.const 0 i32.eq if - i32.const 3440 + i32.const 4424 local.set $1 end local.get $0 @@ -8767,7 +8930,7 @@ i32.const 0 i32.eq if - i32.const 3264 + i32.const 4200 return end block $~lib/runtime/ALLOCATE|inlined.11 (result i32) @@ -8795,9 +8958,9 @@ call $~lib/runtime/doRegister end ) - (func $~lib/string/String.__concat (; 183 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 189 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 3440 + i32.const 4424 local.get $0 i32.const 0 i32.ne @@ -8805,11 +8968,11 @@ local.get $1 call $~lib/string/String#concat ) - (func $std/array/createRandomString (; 184 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 190 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 3264 + i32.const 4200 local.set $1 block $break|0 i32.const 0 @@ -8847,7 +9010,11 @@ end local.get $1 ) - (func $~lib/array/Array#__set (; 185 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 191 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) local.get $0 local.get $1 i32.const 1 @@ -8860,8 +9027,41 @@ i32.const 2 i32.shl i32.add + local.set $3 + local.get $3 + i32.load + local.set $4 local.get $2 - i32.store + local.get $4 + i32.ne + if + block $~lib/runtime/RELEASE>|inlined.0 + local.get $4 + local.set $6 + local.get $0 + local.set $5 + local.get $6 + i32.const 0 + i32.ne + if + local.get $6 + local.get $5 + call $~lib/runtime/doRelease + end + end + local.get $3 + block $~lib/runtime/RETAIN>|inlined.0 (result i32) + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $6 + local.get $5 + call $~lib/runtime/doRetain + local.get $6 + end + i32.store + end local.get $1 local.get $0 i32.load offset=12 @@ -8874,7 +9074,7 @@ i32.store offset=12 end ) - (func $std/array/createRandomStringArray (; 186 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomStringArray (; 192 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -8910,7 +9110,7 @@ end local.get $1 ) - (func $~lib/string/String#substring (; 187 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 193 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8925,7 +9125,7 @@ i32.eqz if i32.const 0 - i32.const 3400 + i32.const 4376 i32.const 186 i32.const 4 call $~lib/env/abort @@ -8995,7 +9195,7 @@ local.get $3 i32.eqz if - i32.const 3264 + i32.const 4200 return end local.get $8 @@ -9036,7 +9236,7 @@ call $~lib/runtime/doRegister end ) - (func $~lib/runtime/doDiscard (; 188 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/doDiscard (; 194 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/runtime/assertUnregistered local.get $0 @@ -9044,7 +9244,7 @@ i32.sub call $~lib/memory/memory.free ) - (func $~lib/array/Array#join_bool (; 189 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_bool (; 195 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9064,7 +9264,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -9073,8 +9273,8 @@ local.get $2 i32.eqz if - i32.const 3472 - i32.const 3488 + i32.const 4472 + i32.const 4496 local.get $3 i32.load8_u i32.const 0 @@ -9133,8 +9333,8 @@ i32.const 1 i32.shl i32.add - i32.const 3472 - i32.const 3488 + i32.const 4472 + i32.const 4496 local.get $10 i32.const 0 i32.ne @@ -9191,8 +9391,8 @@ i32.const 1 i32.shl i32.add - i32.const 3472 - i32.const 3488 + i32.const 4472 + i32.const 4496 local.get $10 i32.const 0 i32.ne @@ -9231,13 +9431,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_bool return ) - (func $~lib/util/number/decimalCount32 (; 191 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 197 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -9306,7 +9506,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa32_lut (; 192 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 198 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9314,7 +9514,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 4024 + i32.const 5088 i32.load offset=4 local.set $3 block $break|0 @@ -9449,7 +9649,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 193 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 199 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9459,7 +9659,7 @@ local.get $0 i32.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -9513,12 +9713,12 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/itoa (; 194 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 200 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 195 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 201 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9577,7 +9777,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 202 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9596,7 +9796,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -9723,13 +9923,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 203 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/util/number/utoa32 (; 198 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 204 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9738,7 +9938,7 @@ local.get $0 i32.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -9773,12 +9973,12 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/itoa (; 199 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 205 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 200 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 206 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9817,7 +10017,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 201 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 207 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9836,7 +10036,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -9963,20 +10163,20 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 202 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 208 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/builtins/isFinite (; 203 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 209 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/util/number/genDigits (; 204 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 210 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -10032,7 +10232,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 5408 + i32.const 6640 i32.load offset=4 local.set $16 block $break|0 @@ -10547,7 +10747,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 205 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 211 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10880,7 +11080,7 @@ unreachable unreachable ) - (func $~lib/util/number/dtoa_core (; 206 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 212 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -11049,7 +11249,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 5128 + i32.const 6328 i32.load offset=4 local.get $13 i32.const 3 @@ -11057,7 +11257,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 5336 + i32.const 6552 i32.load offset=4 local.get $13 i32.const 1 @@ -11326,7 +11526,7 @@ local.get $2 i32.add ) - (func $~lib/util/number/dtoa (; 207 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 213 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11335,7 +11535,7 @@ f64.const 0 f64.eq if - i32.const 4336 + i32.const 5496 return end local.get $0 @@ -11345,11 +11545,11 @@ local.get $0 call $~lib/builtins/isNaN if - i32.const 4352 + i32.const 5520 return end - i32.const 4368 - i32.const 4400 + i32.const 5544 + i32.const 5584 local.get $0 f64.const 0 f64.lt @@ -11382,7 +11582,7 @@ end local.get $4 ) - (func $~lib/util/number/dtoa_stream (; 208 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 214 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11435,8 +11635,8 @@ local.get $3 i32.add local.set $4 - i32.const 4368 - i32.const 4400 + i32.const 5544 + i32.const 5584 local.get $3 select local.set $5 @@ -11456,7 +11656,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/array/Array#join_flt (; 209 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_flt (; 215 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11475,7 +11675,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -11602,13 +11802,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 210 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_flt return ) - (func $~lib/array/Array#join_str (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_str (; 217 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11627,7 +11827,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -11800,13 +12000,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 212 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 218 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_str return ) - (func $std/array/Ref#constructor (; 213 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/Ref#constructor (; 219 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.eqz @@ -11827,7 +12027,7 @@ end local.get $0 ) - (func $~lib/array/Array#constructor (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -11856,7 +12056,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array#join_ref (; 215 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_ref (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11875,7 +12075,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -11884,7 +12084,7 @@ local.get $2 i32.eqz if - i32.const 5640 + i32.const 6920 return end local.get $1 @@ -11933,7 +12133,7 @@ i32.const 1 i32.shl i32.add - i32.const 5640 + i32.const 6920 i32.const 15 i32.const 1 i32.shl @@ -11982,7 +12182,7 @@ i32.const 1 i32.shl i32.add - i32.const 5640 + i32.const 6920 i32.const 15 i32.const 1 i32.shl @@ -12018,18 +12218,18 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_ref return ) - (func $~lib/array/Array#toString (; 217 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 224 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -12038,7 +12238,7 @@ call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 219 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 225 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12113,7 +12313,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12132,7 +12332,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -12259,25 +12459,25 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 227 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 222 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 228 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 229 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 65535 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 224 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 230 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12322,7 +12522,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 225 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 231 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12341,7 +12541,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -12468,18 +12668,18 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 232 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 227 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 233 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/decimalCount64 (; 228 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 234 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -12548,7 +12748,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa64_lut (; 229 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 235 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -12560,7 +12760,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 4024 + i32.const 5088 i32.load offset=4 local.set $3 block $break|0 @@ -12676,7 +12876,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 230 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 236 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12687,7 +12887,7 @@ local.get $0 i64.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -12756,12 +12956,12 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/itoa (; 231 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 237 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/utoa64 return ) - (func $~lib/util/number/itoa_stream (; 232 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 238 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12827,7 +13027,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 233 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 239 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12846,7 +13046,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -12973,18 +13173,18 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 234 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 240 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 235 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 241 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa64 (; 236 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 242 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12996,7 +13196,7 @@ local.get $0 i64.eqz if - i32.const 3600 + i32.const 4648 return end local.get $0 @@ -13086,12 +13286,12 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/itoa (; 237 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 243 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/itoa64 return ) - (func $~lib/util/number/itoa_stream (; 238 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 244 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13179,7 +13379,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 239 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 245 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13198,7 +13398,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -13325,23 +13525,23 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 240 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 241 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 247 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/array/Array#toString (; 242 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 248 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/array/Array>#join_arr (; 243 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join_arr (; 249 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13357,10 +13557,10 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -13380,7 +13580,7 @@ local.get $1 call $~lib/array/Array#join else - i32.const 3264 + i32.const 4200 end return end @@ -13445,18 +13645,18 @@ end local.get $3 ) - (func $~lib/array/Array>#join (; 244 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array>#join_arr return ) - (func $~lib/array/Array>#toString (; 245 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#toString (; 251 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array>#join ) - (func $~lib/array/Array>#constructor (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -13485,14 +13685,14 @@ i32.store offset=12 local.get $0 ) - (func $~lib/util/number/itoa (; 247 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 253 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 248 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 254 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13537,7 +13737,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 249 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 255 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13556,7 +13756,7 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end local.get $0 @@ -13683,13 +13883,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/array/Array#join (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array>#join_arr (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join_arr (; 257 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13705,10 +13905,10 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -13728,7 +13928,7 @@ local.get $1 call $~lib/array/Array#join else - i32.const 3264 + i32.const 4200 end return end @@ -13793,18 +13993,18 @@ end local.get $3 ) - (func $~lib/array/Array>#join (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array>#join_arr return ) - (func $~lib/array/Array>#toString (; 253 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#toString (; 259 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array>#join ) - (func $~lib/array/Array>#constructor (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 260 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -13833,7 +14033,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array>>#constructor (; 255 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>>#constructor (; 261 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 if (result i32) @@ -13862,7 +14062,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array>#join_arr (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join_arr (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13878,10 +14078,10 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -13901,7 +14101,7 @@ local.get $1 call $~lib/array/Array#join else - i32.const 3264 + i32.const 4200 end return end @@ -13966,13 +14166,13 @@ end local.get $3 ) - (func $~lib/array/Array>#join (; 257 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 263 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array>#join_arr return ) - (func $~lib/array/Array>>#join_arr (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>>#join_arr (; 264 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13988,10 +14188,10 @@ i32.const 0 i32.lt_s if - i32.const 3264 + i32.const 4200 return end - i32.const 3264 + i32.const 4200 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -14011,7 +14211,7 @@ local.get $1 call $~lib/array/Array>#join else - i32.const 3264 + i32.const 4200 end return end @@ -14076,18 +14276,18 @@ end local.get $3 ) - (func $~lib/array/Array>>#join (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>>#join (; 265 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array>>#join_arr return ) - (func $~lib/array/Array>>#toString (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>>#toString (; 266 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 3512 + i32.const 4528 call $~lib/array/Array>>#join ) - (func $start:std/array (; 261 ;) (type $FUNCSIG$v) + (func $start:std/array (; 267 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14114,8 +14314,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 37 + i32.const 152 + i32.const 40 i32.const 0 call $~lib/env/abort unreachable @@ -14127,8 +14327,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 38 + i32.const 152 + i32.const 41 i32.const 0 call $~lib/env/abort unreachable @@ -14141,8 +14341,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 39 + i32.const 152 + i32.const 42 i32.const 0 call $~lib/env/abort unreachable @@ -14156,8 +14356,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 40 + i32.const 152 + i32.const 43 i32.const 0 call $~lib/env/abort unreachable @@ -14169,8 +14369,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 41 + i32.const 152 + i32.const 44 i32.const 0 call $~lib/env/abort unreachable @@ -14182,8 +14382,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 42 + i32.const 152 + i32.const 45 i32.const 0 call $~lib/env/abort unreachable @@ -14196,32 +14396,6 @@ drop global.get $std/array/arr8 block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) - i32.const 192 - local.set $0 - local.get $0 - i32.const 7 - i32.const 0 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 49 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr8 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill - drop - global.get $std/array/arr8 - block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) i32.const 248 local.set $0 local.get $0 @@ -14234,13 +14408,39 @@ i32.eqz if i32.const 0 - i32.const 120 + i32.const 152 i32.const 52 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr8 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#fill + drop + global.get $std/array/arr8 + block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) + i32.const 320 + local.set $0 + local.get $0 + i32.const 7 + i32.const 0 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 55 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr8 i32.const 1 i32.const 0 i32.const -3 @@ -14248,7 +14448,7 @@ drop global.get $std/array/arr8 block $~lib/runtime/WRAPARRAY|inlined.2 (result i32) - i32.const 264 + i32.const 344 local.set $0 local.get $0 i32.const 7 @@ -14260,8 +14460,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 55 + i32.const 152 + i32.const 58 i32.const 0 call $~lib/env/abort unreachable @@ -14274,7 +14474,7 @@ drop global.get $std/array/arr8 block $~lib/runtime/WRAPARRAY|inlined.3 (result i32) - i32.const 280 + i32.const 368 local.set $0 local.get $0 i32.const 7 @@ -14286,8 +14486,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 58 + i32.const 152 + i32.const 61 i32.const 0 call $~lib/env/abort unreachable @@ -14300,7 +14500,7 @@ drop global.get $std/array/arr8 block $~lib/runtime/WRAPARRAY|inlined.4 (result i32) - i32.const 296 + i32.const 392 local.set $0 local.get $0 i32.const 7 @@ -14312,8 +14512,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 61 + i32.const 152 + i32.const 64 i32.const 0 call $~lib/env/abort unreachable @@ -14326,7 +14526,7 @@ drop global.get $std/array/arr32 block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) - i32.const 368 + i32.const 488 local.set $0 local.get $0 i32.const 8 @@ -14338,8 +14538,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 66 + i32.const 152 + i32.const 69 i32.const 0 call $~lib/env/abort unreachable @@ -14352,7 +14552,7 @@ drop global.get $std/array/arr32 block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 400 + i32.const 528 local.set $0 local.get $0 i32.const 8 @@ -14364,8 +14564,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 69 + i32.const 152 + i32.const 72 i32.const 0 call $~lib/env/abort unreachable @@ -14378,7 +14578,7 @@ drop global.get $std/array/arr32 block $~lib/runtime/WRAPARRAY|inlined.2 (result i32) - i32.const 432 + i32.const 568 local.set $0 local.get $0 i32.const 8 @@ -14390,8 +14590,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 72 + i32.const 152 + i32.const 75 i32.const 0 call $~lib/env/abort unreachable @@ -14404,7 +14604,7 @@ drop global.get $std/array/arr32 block $~lib/runtime/WRAPARRAY|inlined.3 (result i32) - i32.const 464 + i32.const 608 local.set $0 local.get $0 i32.const 8 @@ -14416,8 +14616,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 75 + i32.const 152 + i32.const 78 i32.const 0 call $~lib/env/abort unreachable @@ -14430,7 +14630,7 @@ drop global.get $std/array/arr32 block $~lib/runtime/WRAPARRAY|inlined.4 (result i32) - i32.const 496 + i32.const 648 local.set $0 local.get $0 i32.const 8 @@ -14442,8 +14642,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 78 + i32.const 152 + i32.const 81 i32.const 0 call $~lib/env/abort unreachable @@ -14455,8 +14655,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 82 + i32.const 152 + i32.const 85 i32.const 0 call $~lib/env/abort unreachable @@ -14468,8 +14668,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 83 + i32.const 152 + i32.const 86 i32.const 0 call $~lib/env/abort unreachable @@ -14486,8 +14686,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 87 + i32.const 152 + i32.const 90 i32.const 0 call $~lib/env/abort unreachable @@ -14499,8 +14699,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 88 + i32.const 152 + i32.const 91 i32.const 0 call $~lib/env/abort unreachable @@ -14512,8 +14712,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 89 + i32.const 152 + i32.const 92 i32.const 0 call $~lib/env/abort unreachable @@ -14527,8 +14727,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 93 + i32.const 152 + i32.const 96 i32.const 0 call $~lib/env/abort unreachable @@ -14540,8 +14740,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 94 + i32.const 152 + i32.const 97 i32.const 0 call $~lib/env/abort unreachable @@ -14553,8 +14753,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 95 + i32.const 152 + i32.const 98 i32.const 0 call $~lib/env/abort unreachable @@ -14570,8 +14770,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 99 + i32.const 152 + i32.const 102 i32.const 0 call $~lib/env/abort unreachable @@ -14583,8 +14783,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 100 + i32.const 152 + i32.const 103 i32.const 0 call $~lib/env/abort unreachable @@ -14597,8 +14797,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 101 + i32.const 152 + i32.const 104 i32.const 0 call $~lib/env/abort unreachable @@ -14614,79 +14814,21 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 105 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 106 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 107 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 108 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr - i32.const 45 - call $~lib/array/Array#push - drop - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 112 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr call $std/array/internalCapacity - i32.const 3 + i32.const 2 i32.eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 113 + i32.const 152 + i32.const 109 i32.const 0 call $~lib/env/abort unreachable @@ -14699,8 +14841,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 114 + i32.const 152 + i32.const 110 i32.const 0 call $~lib/env/abort unreachable @@ -14713,13 +14855,71 @@ i32.eqz if i32.const 0 - i32.const 120 + i32.const 152 + i32.const 111 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + call $~lib/array/Array#push + drop + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 i32.const 115 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 116 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 117 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 118 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -14727,8 +14927,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 116 + i32.const 152 + i32.const 119 i32.const 0 call $~lib/env/abort unreachable @@ -14748,8 +14948,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 123 + i32.const 152 + i32.const 126 i32.const 0 call $~lib/env/abort unreachable @@ -14761,8 +14961,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 124 + i32.const 152 + i32.const 127 i32.const 0 call $~lib/env/abort unreachable @@ -14774,15 +14974,15 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 125 + i32.const 152 + i32.const 128 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/out block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) - i32.const 528 + i32.const 688 local.set $0 local.get $0 i32.const 4 @@ -14798,8 +14998,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 128 + i32.const 152 + i32.const 131 i32.const 0 call $~lib/env/abort unreachable @@ -14812,8 +15012,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 130 + i32.const 152 + i32.const 133 i32.const 0 call $~lib/env/abort unreachable @@ -14826,8 +15026,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 131 + i32.const 152 + i32.const 134 i32.const 0 call $~lib/env/abort unreachable @@ -14840,8 +15040,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 132 + i32.const 152 + i32.const 135 i32.const 0 call $~lib/env/abort unreachable @@ -14865,8 +15065,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 139 + i32.const 152 + i32.const 142 i32.const 0 call $~lib/env/abort unreachable @@ -14878,8 +15078,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 140 + i32.const 152 + i32.const 143 i32.const 0 call $~lib/env/abort unreachable @@ -14891,8 +15091,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 141 + i32.const 152 + i32.const 144 i32.const 0 call $~lib/env/abort unreachable @@ -14905,8 +15105,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 142 + i32.const 152 + i32.const 145 i32.const 0 call $~lib/env/abort unreachable @@ -14919,8 +15119,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 143 + i32.const 152 + i32.const 146 i32.const 0 call $~lib/env/abort unreachable @@ -14933,8 +15133,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 144 + i32.const 152 + i32.const 147 i32.const 0 call $~lib/env/abort unreachable @@ -14947,8 +15147,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 145 + i32.const 152 + i32.const 148 i32.const 0 call $~lib/env/abort unreachable @@ -14961,8 +15161,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 146 + i32.const 152 + i32.const 149 i32.const 0 call $~lib/env/abort unreachable @@ -14977,8 +15177,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 149 + i32.const 152 + i32.const 152 i32.const 0 call $~lib/env/abort unreachable @@ -14994,8 +15194,8 @@ i32.eqz if i32.const 0 - i32.const 120 i32.const 152 + i32.const 155 i32.const 0 call $~lib/env/abort unreachable @@ -15008,8 +15208,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 153 + i32.const 152 + i32.const 156 i32.const 0 call $~lib/env/abort unreachable @@ -15021,8 +15221,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 156 + i32.const 152 + i32.const 159 i32.const 0 call $~lib/env/abort unreachable @@ -15038,8 +15238,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 158 + i32.const 152 + i32.const 161 i32.const 0 call $~lib/env/abort unreachable @@ -15051,14 +15251,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 159 + i32.const 152 + i32.const 162 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 568 + i32.const 752 local.set $0 local.get $0 i32.const 4 @@ -15072,7 +15272,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.2 (result i32) - i32.const 600 + i32.const 792 local.set $0 local.get $0 i32.const 4 @@ -15084,14 +15284,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 165 + i32.const 152 + i32.const 168 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.3 (result i32) - i32.const 632 + i32.const 832 local.set $0 local.get $0 i32.const 4 @@ -15105,7 +15305,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.4 (result i32) - i32.const 664 + i32.const 872 local.set $0 local.get $0 i32.const 4 @@ -15117,14 +15317,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 167 + i32.const 152 + i32.const 170 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.5 (result i32) - i32.const 696 + i32.const 912 local.set $0 local.get $0 i32.const 4 @@ -15138,7 +15338,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.6 (result i32) - i32.const 728 + i32.const 952 local.set $0 local.get $0 i32.const 4 @@ -15150,14 +15350,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 169 + i32.const 152 + i32.const 172 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.7 (result i32) - i32.const 760 + i32.const 992 local.set $0 local.get $0 i32.const 4 @@ -15171,7 +15371,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.8 (result i32) - i32.const 792 + i32.const 1032 local.set $0 local.get $0 i32.const 4 @@ -15183,14 +15383,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 171 + i32.const 152 + i32.const 174 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.9 (result i32) - i32.const 824 + i32.const 1072 local.set $0 local.get $0 i32.const 4 @@ -15204,7 +15404,7 @@ i32.const 4 call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.10 (result i32) - i32.const 856 + i32.const 1112 local.set $0 local.get $0 i32.const 4 @@ -15216,14 +15416,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 173 + i32.const 152 + i32.const 176 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.11 (result i32) - i32.const 888 + i32.const 1152 local.set $0 local.get $0 i32.const 4 @@ -15237,7 +15437,7 @@ i32.const 4 call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.12 (result i32) - i32.const 920 + i32.const 1192 local.set $0 local.get $0 i32.const 4 @@ -15249,14 +15449,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 175 + i32.const 152 + i32.const 178 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.13 (result i32) - i32.const 952 + i32.const 1232 local.set $0 local.get $0 i32.const 4 @@ -15270,7 +15470,7 @@ i32.const 4 call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.14 (result i32) - i32.const 984 + i32.const 1272 local.set $0 local.get $0 i32.const 4 @@ -15282,14 +15482,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 177 + i32.const 152 + i32.const 180 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.15 (result i32) - i32.const 1016 + i32.const 1312 local.set $0 local.get $0 i32.const 4 @@ -15303,7 +15503,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.16 (result i32) - i32.const 1048 + i32.const 1352 local.set $0 local.get $0 i32.const 4 @@ -15315,14 +15515,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 179 + i32.const 152 + i32.const 182 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.17 (result i32) - i32.const 1080 + i32.const 1392 local.set $0 local.get $0 i32.const 4 @@ -15336,7 +15536,7 @@ i32.const -1 call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.18 (result i32) - i32.const 1112 + i32.const 1432 local.set $0 local.get $0 i32.const 4 @@ -15348,14 +15548,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 181 + i32.const 152 + i32.const 184 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.19 (result i32) - i32.const 1144 + i32.const 1472 local.set $0 local.get $0 i32.const 4 @@ -15369,7 +15569,7 @@ i32.const -2 call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.20 (result i32) - i32.const 1176 + i32.const 1512 local.set $0 local.get $0 i32.const 4 @@ -15381,14 +15581,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 183 + i32.const 152 + i32.const 186 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.21 (result i32) - i32.const 1208 + i32.const 1552 local.set $0 local.get $0 i32.const 4 @@ -15402,7 +15602,7 @@ i32.const -1 call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.22 (result i32) - i32.const 1240 + i32.const 1592 local.set $0 local.get $0 i32.const 4 @@ -15414,14 +15614,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 185 + i32.const 152 + i32.const 188 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.23 (result i32) - i32.const 1272 + i32.const 1632 local.set $0 local.get $0 i32.const 4 @@ -15435,7 +15635,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin block $~lib/runtime/WRAPARRAY|inlined.24 (result i32) - i32.const 1304 + i32.const 1672 local.set $0 local.get $0 i32.const 4 @@ -15447,8 +15647,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 187 + i32.const 152 + i32.const 190 i32.const 0 call $~lib/env/abort unreachable @@ -15464,54 +15664,54 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 193 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 194 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 195 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 196 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + call $std/array/internalCapacity + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 197 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 198 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 199 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -15519,8 +15719,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 197 + i32.const 152 + i32.const 200 i32.const 0 call $~lib/env/abort unreachable @@ -15533,8 +15733,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 198 + i32.const 152 + i32.const 201 i32.const 0 call $~lib/env/abort unreachable @@ -15550,8 +15750,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 202 + i32.const 152 + i32.const 205 i32.const 0 call $~lib/env/abort unreachable @@ -15563,8 +15763,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 203 + i32.const 152 + i32.const 206 i32.const 0 call $~lib/env/abort unreachable @@ -15577,8 +15777,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 204 + i32.const 152 + i32.const 207 i32.const 0 call $~lib/env/abort unreachable @@ -15591,8 +15791,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 205 + i32.const 152 + i32.const 208 i32.const 0 call $~lib/env/abort unreachable @@ -15605,8 +15805,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 206 + i32.const 152 + i32.const 209 i32.const 0 call $~lib/env/abort unreachable @@ -15619,8 +15819,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 207 + i32.const 152 + i32.const 210 i32.const 0 call $~lib/env/abort unreachable @@ -15633,8 +15833,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 208 + i32.const 152 + i32.const 211 i32.const 0 call $~lib/env/abort unreachable @@ -15648,8 +15848,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 214 + i32.const 152 + i32.const 217 i32.const 0 call $~lib/env/abort unreachable @@ -15661,8 +15861,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 215 + i32.const 152 + i32.const 218 i32.const 0 call $~lib/env/abort unreachable @@ -15674,8 +15874,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 216 + i32.const 152 + i32.const 219 i32.const 0 call $~lib/env/abort unreachable @@ -15688,8 +15888,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 217 + i32.const 152 + i32.const 220 i32.const 0 call $~lib/env/abort unreachable @@ -15702,8 +15902,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 218 + i32.const 152 + i32.const 221 i32.const 0 call $~lib/env/abort unreachable @@ -15716,8 +15916,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 219 + i32.const 152 + i32.const 222 i32.const 0 call $~lib/env/abort unreachable @@ -15730,8 +15930,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 220 + i32.const 152 + i32.const 223 i32.const 0 call $~lib/env/abort unreachable @@ -15745,8 +15945,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 224 + i32.const 152 + i32.const 227 i32.const 0 call $~lib/env/abort unreachable @@ -15758,8 +15958,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 225 + i32.const 152 + i32.const 228 i32.const 0 call $~lib/env/abort unreachable @@ -15771,8 +15971,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 226 + i32.const 152 + i32.const 229 i32.const 0 call $~lib/env/abort unreachable @@ -15785,8 +15985,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 227 + i32.const 152 + i32.const 230 i32.const 0 call $~lib/env/abort unreachable @@ -15799,8 +15999,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 228 + i32.const 152 + i32.const 231 i32.const 0 call $~lib/env/abort unreachable @@ -15813,8 +16013,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 229 + i32.const 152 + i32.const 232 i32.const 0 call $~lib/env/abort unreachable @@ -15829,8 +16029,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 235 + i32.const 152 + i32.const 238 i32.const 0 call $~lib/env/abort unreachable @@ -15842,55 +16042,55 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 236 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 237 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 238 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 239 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 240 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 241 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 242 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 43 call $~lib/array/Array#push drop @@ -15909,8 +16109,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 248 + i32.const 152 + i32.const 251 i32.const 0 call $~lib/env/abort unreachable @@ -15926,8 +16126,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 252 + i32.const 152 + i32.const 255 i32.const 0 call $~lib/env/abort unreachable @@ -15943,8 +16143,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 256 + i32.const 152 + i32.const 259 i32.const 0 call $~lib/env/abort unreachable @@ -15960,8 +16160,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 260 + i32.const 152 + i32.const 263 i32.const 0 call $~lib/env/abort unreachable @@ -15977,8 +16177,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 264 + i32.const 152 + i32.const 267 i32.const 0 call $~lib/env/abort unreachable @@ -15994,8 +16194,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 268 + i32.const 152 + i32.const 271 i32.const 0 call $~lib/env/abort unreachable @@ -16011,8 +16211,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 272 + i32.const 152 + i32.const 275 i32.const 0 call $~lib/env/abort unreachable @@ -16028,8 +16228,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 276 + i32.const 152 + i32.const 279 i32.const 0 call $~lib/env/abort unreachable @@ -16045,8 +16245,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 280 + i32.const 152 + i32.const 283 i32.const 0 call $~lib/env/abort unreachable @@ -16062,8 +16262,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 284 + i32.const 152 + i32.const 287 i32.const 0 call $~lib/env/abort unreachable @@ -16079,8 +16279,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 290 + i32.const 152 + i32.const 293 i32.const 0 call $~lib/env/abort unreachable @@ -16096,8 +16296,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 294 + i32.const 152 + i32.const 297 i32.const 0 call $~lib/env/abort unreachable @@ -16113,8 +16313,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 298 + i32.const 152 + i32.const 301 i32.const 0 call $~lib/env/abort unreachable @@ -16130,8 +16330,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 302 + i32.const 152 + i32.const 305 i32.const 0 call $~lib/env/abort unreachable @@ -16147,8 +16347,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 306 + i32.const 152 + i32.const 309 i32.const 0 call $~lib/env/abort unreachable @@ -16164,8 +16364,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 310 + i32.const 152 + i32.const 313 i32.const 0 call $~lib/env/abort unreachable @@ -16181,8 +16381,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 314 + i32.const 152 + i32.const 317 i32.const 0 call $~lib/env/abort unreachable @@ -16198,8 +16398,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 318 + i32.const 152 + i32.const 321 i32.const 0 call $~lib/env/abort unreachable @@ -16215,8 +16415,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 322 + i32.const 152 + i32.const 325 i32.const 0 call $~lib/env/abort unreachable @@ -16232,8 +16432,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 326 + i32.const 152 + i32.const 329 i32.const 0 call $~lib/env/abort unreachable @@ -16250,8 +16450,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 330 + i32.const 152 + i32.const 333 i32.const 0 call $~lib/env/abort unreachable @@ -16263,8 +16463,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 331 + i32.const 152 + i32.const 334 i32.const 0 call $~lib/env/abort unreachable @@ -16277,8 +16477,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 332 + i32.const 152 + i32.const 335 i32.const 0 call $~lib/env/abort unreachable @@ -16291,8 +16491,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 333 + i32.const 152 + i32.const 336 i32.const 0 call $~lib/env/abort unreachable @@ -16302,7 +16502,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice block $~lib/runtime/WRAPARRAY|inlined.25 (result i32) - i32.const 1392 + i32.const 1784 local.set $0 local.get $0 i32.const 4 @@ -16314,306 +16514,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 338 + i32.const 152 + i32.const 341 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/sarr block $~lib/runtime/WRAPARRAY|inlined.26 (result i32) - i32.const 1424 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 339 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.27 (result i32) - i32.const 1432 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.28 (result i32) - i32.const 1464 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 342 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.29 (result i32) - i32.const 1488 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 343 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.30 (result i32) - i32.const 1504 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.31 (result i32) - i32.const 1536 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 346 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.32 (result i32) - i32.const 1552 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 347 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.33 (result i32) - i32.const 1576 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 0 - i32.const 1 - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.34 (result i32) - i32.const 1608 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 350 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.35 (result i32) - i32.const 1624 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 351 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.36 (result i32) - i32.const 1648 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.37 (result i32) - i32.const 1680 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 354 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.38 (result i32) - i32.const 1696 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 355 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.39 (result i32) - i32.const 1720 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.40 (result i32) - i32.const 1752 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 358 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.41 (result i32) - i32.const 1768 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 359 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.42 (result i32) - i32.const 1792 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const -2 - i32.const 1 - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.43 (result i32) i32.const 1824 local.set $0 local.get $0 @@ -16626,14 +16534,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 362 + i32.const 152 + i32.const 342 i32.const 0 call $~lib/env/abort unreachable end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.44 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.27 (result i32) i32.const 1840 local.set $0 local.get $0 @@ -16641,32 +16548,13 @@ i32.const 2 call $~lib/runtime/doWrapArray end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 363 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.45 (result i32) - i32.const 1864 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end global.set $std/array/sarr global.get $std/array/sarr - i32.const -7 - i32.const 1 + i32.const 2 + global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.46 (result i32) - i32.const 1896 + block $~lib/runtime/WRAPARRAY|inlined.28 (result i32) + i32.const 1880 local.set $0 local.get $0 i32.const 4 @@ -16678,14 +16566,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 366 + i32.const 152 + i32.const 345 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.47 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.29 (result i32) i32.const 1912 local.set $0 local.get $0 @@ -16698,13 +16586,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 367 + i32.const 152 + i32.const 346 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/runtime/WRAPARRAY|inlined.48 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.30 (result i32) i32.const 1936 local.set $0 local.get $0 @@ -16714,30 +16602,10 @@ end global.set $std/array/sarr global.get $std/array/sarr - i32.const -2 - i32.const -1 + i32.const 2 + i32.const 2 call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.49 (result i32) - i32.const 1968 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 370 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.50 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.31 (result i32) i32.const 1976 local.set $0 local.get $0 @@ -16750,14 +16618,34 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 371 + i32.const 152 + i32.const 349 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/runtime/WRAPARRAY|inlined.51 (result i32) - i32.const 2008 + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.32 (result i32) + i32.const 2000 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 350 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.33 (result i32) + i32.const 2032 local.set $0 local.get $0 i32.const 4 @@ -16766,11 +16654,11 @@ end global.set $std/array/sarr global.get $std/array/sarr + i32.const 0 i32.const 1 - i32.const -2 call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.52 (result i32) - i32.const 2040 + block $~lib/runtime/WRAPARRAY|inlined.34 (result i32) + i32.const 2072 local.set $0 local.get $0 i32.const 4 @@ -16782,15 +16670,15 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 374 + i32.const 152 + i32.const 353 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.53 (result i32) - i32.const 2048 + block $~lib/runtime/WRAPARRAY|inlined.35 (result i32) + i32.const 2096 local.set $0 local.get $0 i32.const 4 @@ -16802,14 +16690,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 375 + i32.const 152 + i32.const 354 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/runtime/WRAPARRAY|inlined.54 (result i32) - i32.const 2080 + block $~lib/runtime/WRAPARRAY|inlined.36 (result i32) + i32.const 2128 local.set $0 local.get $0 i32.const 4 @@ -16818,11 +16706,11 @@ end global.set $std/array/sarr global.get $std/array/sarr - i32.const 4 - i32.const 0 + i32.const -1 + global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.55 (result i32) - i32.const 2112 + block $~lib/runtime/WRAPARRAY|inlined.37 (result i32) + i32.const 2168 local.set $0 local.get $0 i32.const 4 @@ -16834,66 +16722,14 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 378 + i32.const 152 + i32.const 357 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.56 (result i32) - i32.const 2120 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 379 - i32.const 0 - call $~lib/env/abort - unreachable - end - block $~lib/runtime/WRAPARRAY|inlined.57 (result i32) - i32.const 2152 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - global.set $std/array/sarr - global.get $std/array/sarr - i32.const 7 - i32.const 0 - call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.58 (result i32) - i32.const 2184 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 382 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.59 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.38 (result i32) i32.const 2192 local.set $0 local.get $0 @@ -16906,13 +16742,13 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 383 + i32.const 152 + i32.const 358 i32.const 0 call $~lib/env/abort unreachable end - block $~lib/runtime/WRAPARRAY|inlined.60 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.39 (result i32) i32.const 2224 local.set $0 local.get $0 @@ -16922,30 +16758,10 @@ end global.set $std/array/sarr global.get $std/array/sarr - i32.const 7 - i32.const 5 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - block $~lib/runtime/WRAPARRAY|inlined.61 (result i32) - i32.const 2256 - local.set $0 - local.get $0 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 386 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/sarr - block $~lib/runtime/WRAPARRAY|inlined.62 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.40 (result i32) i32.const 2264 local.set $0 local.get $0 @@ -16958,8 +16774,392 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 387 + i32.const 152 + i32.const 361 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.41 (result i32) + i32.const 2288 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 362 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.42 (result i32) + i32.const 2320 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const -2 + i32.const 1 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.43 (result i32) + i32.const 2360 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 365 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.44 (result i32) + i32.const 2384 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 366 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.45 (result i32) + i32.const 2416 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.46 (result i32) + i32.const 2456 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 369 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.47 (result i32) + i32.const 2480 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 370 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.48 (result i32) + i32.const 2512 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.49 (result i32) + i32.const 2552 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 373 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.50 (result i32) + i32.const 2568 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 374 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.51 (result i32) + i32.const 2608 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.52 (result i32) + i32.const 2648 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 377 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.53 (result i32) + i32.const 2664 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 378 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.54 (result i32) + i32.const 2704 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.55 (result i32) + i32.const 2744 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 381 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.56 (result i32) + i32.const 2760 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 382 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.57 (result i32) + i32.const 2800 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 7 + i32.const 0 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.58 (result i32) + i32.const 2840 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 385 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.59 (result i32) + i32.const 2856 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 386 + i32.const 0 + call $~lib/env/abort + unreachable + end + block $~lib/runtime/WRAPARRAY|inlined.60 (result i32) + i32.const 2896 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + global.set $std/array/sarr + global.get $std/array/sarr + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + block $~lib/runtime/WRAPARRAY|inlined.61 (result i32) + i32.const 2936 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 389 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/sarr + block $~lib/runtime/WRAPARRAY|inlined.62 (result i32) + i32.const 2952 + local.set $0 + local.get $0 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 390 i32.const 0 call $~lib/env/abort unreachable @@ -16990,29 +17190,29 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 397 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 400 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#findIndex + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 403 + i32.const 0 + call $~lib/env/abort + unreachable + end + global.get $std/array/arr i32.const 3 call $~lib/array/Array#findIndex global.set $std/array/i @@ -17022,8 +17222,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 403 + i32.const 152 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -17038,8 +17238,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 411 + i32.const 152 + i32.const 414 i32.const 0 call $~lib/env/abort unreachable @@ -17051,8 +17251,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 412 + i32.const 152 + i32.const 415 i32.const 0 call $~lib/env/abort unreachable @@ -17067,8 +17267,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 414 + i32.const 152 + i32.const 417 i32.const 0 call $~lib/env/abort unreachable @@ -17095,8 +17295,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 427 + i32.const 152 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -17108,8 +17308,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 428 + i32.const 152 + i32.const 431 i32.const 0 call $~lib/env/abort unreachable @@ -17132,8 +17332,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 436 + i32.const 152 + i32.const 439 i32.const 0 call $~lib/env/abort unreachable @@ -17148,8 +17348,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 439 + i32.const 152 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -17164,8 +17364,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 447 + i32.const 152 + i32.const 450 i32.const 0 call $~lib/env/abort unreachable @@ -17177,8 +17377,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 448 + i32.const 152 + i32.const 451 i32.const 0 call $~lib/env/abort unreachable @@ -17193,8 +17393,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 450 + i32.const 152 + i32.const 453 i32.const 0 call $~lib/env/abort unreachable @@ -17221,8 +17421,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 463 + i32.const 152 + i32.const 466 i32.const 0 call $~lib/env/abort unreachable @@ -17234,8 +17434,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 464 + i32.const 152 + i32.const 467 i32.const 0 call $~lib/env/abort unreachable @@ -17258,8 +17458,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 472 + i32.const 152 + i32.const 475 i32.const 0 call $~lib/env/abort unreachable @@ -17274,8 +17474,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 475 + i32.const 152 + i32.const 478 i32.const 0 call $~lib/env/abort unreachable @@ -17290,8 +17490,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 483 + i32.const 152 + i32.const 486 i32.const 0 call $~lib/env/abort unreachable @@ -17303,8 +17503,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 484 + i32.const 152 + i32.const 487 i32.const 0 call $~lib/env/abort unreachable @@ -17319,8 +17519,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 486 + i32.const 152 + i32.const 489 i32.const 0 call $~lib/env/abort unreachable @@ -17347,8 +17547,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 499 + i32.const 152 + i32.const 502 i32.const 0 call $~lib/env/abort unreachable @@ -17360,8 +17560,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 500 + i32.const 152 + i32.const 503 i32.const 0 call $~lib/env/abort unreachable @@ -17385,8 +17585,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 509 + i32.const 152 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -17402,8 +17602,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 518 + i32.const 152 + i32.const 521 i32.const 0 call $~lib/env/abort unreachable @@ -17415,8 +17615,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 519 + i32.const 152 + i32.const 522 i32.const 0 call $~lib/env/abort unreachable @@ -17432,8 +17632,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 522 + i32.const 152 + i32.const 525 i32.const 0 call $~lib/env/abort unreachable @@ -17461,8 +17661,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 536 + i32.const 152 + i32.const 539 i32.const 0 call $~lib/env/abort unreachable @@ -17474,8 +17674,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 537 + i32.const 152 + i32.const 540 i32.const 0 call $~lib/env/abort unreachable @@ -17498,8 +17698,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 562 + i32.const 152 + i32.const 565 i32.const 0 call $~lib/env/abort unreachable @@ -17552,8 +17752,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 573 + i32.const 152 + i32.const 576 i32.const 0 call $~lib/env/abort unreachable @@ -17569,8 +17769,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 574 + i32.const 152 + i32.const 577 i32.const 0 call $~lib/env/abort unreachable @@ -17587,8 +17787,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 583 + i32.const 152 + i32.const 586 i32.const 0 call $~lib/env/abort unreachable @@ -17600,8 +17800,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 584 + i32.const 152 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -17618,8 +17818,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 591 + i32.const 152 + i32.const 594 i32.const 0 call $~lib/env/abort unreachable @@ -17648,8 +17848,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 606 + i32.const 152 + i32.const 609 i32.const 0 call $~lib/env/abort unreachable @@ -17661,8 +17861,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 607 + i32.const 152 + i32.const 610 i32.const 0 call $~lib/env/abort unreachable @@ -17686,8 +17886,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 615 + i32.const 152 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -17704,8 +17904,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 624 + i32.const 152 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -17717,8 +17917,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 625 + i32.const 152 + i32.const 628 i32.const 0 call $~lib/env/abort unreachable @@ -17735,8 +17935,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 632 + i32.const 152 + i32.const 635 i32.const 0 call $~lib/env/abort unreachable @@ -17765,8 +17965,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 647 + i32.const 152 + i32.const 650 i32.const 0 call $~lib/env/abort unreachable @@ -17778,8 +17978,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 648 + i32.const 152 + i32.const 651 i32.const 0 call $~lib/env/abort unreachable @@ -17803,8 +18003,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 656 + i32.const 152 + i32.const 659 i32.const 0 call $~lib/env/abort unreachable @@ -17820,8 +18020,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 660 + i32.const 152 + i32.const 663 i32.const 0 call $~lib/env/abort unreachable @@ -17839,8 +18039,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 663 + i32.const 152 + i32.const 666 i32.const 0 call $~lib/env/abort unreachable @@ -17858,8 +18058,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 666 + i32.const 152 + i32.const 669 i32.const 0 call $~lib/env/abort unreachable @@ -17875,8 +18075,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 674 + i32.const 152 + i32.const 677 i32.const 0 call $~lib/env/abort unreachable @@ -17888,8 +18088,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 675 + i32.const 152 + i32.const 678 i32.const 0 call $~lib/env/abort unreachable @@ -17905,8 +18105,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 677 + i32.const 152 + i32.const 680 i32.const 0 call $~lib/env/abort unreachable @@ -17934,8 +18134,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 690 + i32.const 152 + i32.const 693 i32.const 0 call $~lib/env/abort unreachable @@ -17947,8 +18147,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 691 + i32.const 152 + i32.const 694 i32.const 0 call $~lib/env/abort unreachable @@ -17972,8 +18172,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 699 + i32.const 152 + i32.const 702 i32.const 0 call $~lib/env/abort unreachable @@ -17989,8 +18189,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 703 + i32.const 152 + i32.const 706 i32.const 0 call $~lib/env/abort unreachable @@ -18008,8 +18208,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 706 + i32.const 152 + i32.const 709 i32.const 0 call $~lib/env/abort unreachable @@ -18027,8 +18227,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 709 + i32.const 152 + i32.const 712 i32.const 0 call $~lib/env/abort unreachable @@ -18044,8 +18244,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 717 + i32.const 152 + i32.const 720 i32.const 0 call $~lib/env/abort unreachable @@ -18057,8 +18257,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 718 + i32.const 152 + i32.const 721 i32.const 0 call $~lib/env/abort unreachable @@ -18074,8 +18274,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 720 + i32.const 152 + i32.const 723 i32.const 0 call $~lib/env/abort unreachable @@ -18103,8 +18303,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 733 + i32.const 152 + i32.const 736 i32.const 0 call $~lib/env/abort unreachable @@ -18116,8 +18316,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 734 + i32.const 152 + i32.const 737 i32.const 0 call $~lib/env/abort unreachable @@ -18151,7 +18351,7 @@ drop global.get $std/array/f32ArrayTyped block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) - i32.const 2576 + i32.const 3304 local.set $0 local.get $0 i32.const 9 @@ -18163,8 +18363,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 821 + i32.const 152 + i32.const 824 i32.const 0 call $~lib/env/abort unreachable @@ -18179,7 +18379,7 @@ drop global.get $std/array/f64ArrayTyped block $~lib/runtime/WRAPARRAY|inlined.0 (result i32) - i32.const 2712 + i32.const 3464 local.set $0 local.get $0 i32.const 10 @@ -18191,8 +18391,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 825 + i32.const 152 + i32.const 828 i32.const 0 call $~lib/env/abort unreachable @@ -18207,7 +18407,7 @@ drop global.get $std/array/i32ArrayTyped block $~lib/runtime/WRAPARRAY|inlined.63 (result i32) - i32.const 2840 + i32.const 3616 local.set $0 local.get $0 i32.const 4 @@ -18219,8 +18419,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 829 + i32.const 152 + i32.const 832 i32.const 0 call $~lib/env/abort unreachable @@ -18235,7 +18435,7 @@ drop global.get $std/array/u32ArrayTyped block $~lib/runtime/WRAPARRAY|inlined.5 (result i32) - i32.const 2928 + i32.const 3728 local.set $0 local.get $0 i32.const 8 @@ -18247,8 +18447,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 833 + i32.const 152 + i32.const 836 i32.const 0 call $~lib/env/abort unreachable @@ -18274,7 +18474,7 @@ call $std/array/assertSortedDefault global.get $std/array/reversed1 block $~lib/runtime/WRAPARRAY|inlined.64 (result i32) - i32.const 3168 + i32.const 4056 local.set $0 local.get $0 i32.const 4 @@ -18286,8 +18486,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 853 + i32.const 152 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable @@ -18296,7 +18496,7 @@ call $std/array/assertSortedDefault global.get $std/array/reversed2 block $~lib/runtime/WRAPARRAY|inlined.65 (result i32) - i32.const 3184 + i32.const 4080 local.set $0 local.get $0 i32.const 4 @@ -18308,8 +18508,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 856 + i32.const 152 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable @@ -18323,42 +18523,42 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 859 - i32.const 0 - call $~lib/env/abort - unreachable - end - global.get $std/array/reversed64 - call $std/array/assertSortedDefault - global.get $std/array/reversed64 - global.get $std/array/expected4 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 120 + i32.const 152 i32.const 862 i32.const 0 call $~lib/env/abort unreachable end - global.get $std/array/reversed128 + global.get $std/array/reversed64 call $std/array/assertSortedDefault - global.get $std/array/reversed128 + global.get $std/array/reversed64 global.get $std/array/expected4 i32.const 4 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 120 + i32.const 152 i32.const 865 i32.const 0 call $~lib/env/abort unreachable end + global.get $std/array/reversed128 + call $std/array/assertSortedDefault + global.get $std/array/reversed128 + global.get $std/array/expected4 + i32.const 4 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 152 + i32.const 868 + i32.const 0 + call $~lib/env/abort + unreachable + end global.get $std/array/reversed1024 call $std/array/assertSortedDefault global.get $std/array/reversed1024 @@ -18368,8 +18568,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 868 + i32.const 152 + i32.const 871 i32.const 0 call $~lib/env/abort unreachable @@ -18383,8 +18583,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 871 + i32.const 152 + i32.const 874 i32.const 0 call $~lib/env/abort unreachable @@ -18435,8 +18635,8 @@ i32.eqz if i32.const 0 - i32.const 120 - i32.const 901 + i32.const 152 + i32.const 904 i32.const 0 call $~lib/env/abort unreachable @@ -18452,127 +18652,127 @@ call $std/array/assertSorted|trampoline end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 3528 + i32.const 4552 local.set $0 local.get $0 i32.const 15 i32.const 0 call $~lib/runtime/doWrapArray end - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join - i32.const 3544 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 910 + i32.const 152 + i32.const 913 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.67 (result i32) - i32.const 4048 + i32.const 5120 local.set $0 local.get $0 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray end - i32.const 3264 + i32.const 4200 call $~lib/array/Array#join - i32.const 4072 + i32.const 5152 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 911 + i32.const 152 + i32.const 914 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.7 (result i32) - i32.const 4136 + i32.const 5240 local.set $0 local.get $0 i32.const 8 i32.const 2 call $~lib/runtime/doWrapArray end - i32.const 4120 + i32.const 5216 call $~lib/array/Array#join - i32.const 4072 + i32.const 5152 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 912 + i32.const 152 + i32.const 915 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.69 (result i32) - i32.const 4192 + i32.const 5320 local.set $0 local.get $0 i32.const 4 i32.const 2 call $~lib/runtime/doWrapArray end - i32.const 4176 + i32.const 5296 call $~lib/array/Array#join - i32.const 4208 + i32.const 5344 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 913 + i32.const 152 + i32.const 916 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.2 (result i32) - i32.const 5432 + i32.const 6672 local.set $0 local.get $0 i32.const 10 i32.const 3 call $~lib/runtime/doWrapArray end - i32.const 4320 + i32.const 5472 call $~lib/array/Array#join - i32.const 5488 + i32.const 6736 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 914 + i32.const 152 + i32.const 917 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 5616 + i32.const 6888 local.set $0 local.get $0 i32.const 14 i32.const 2 call $~lib/runtime/doWrapArray end - i32.const 3264 + i32.const 4200 call $~lib/array/Array#join - i32.const 5576 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 915 + i32.const 152 + i32.const 918 i32.const 0 call $~lib/env/abort unreachable @@ -18586,87 +18786,123 @@ i32.load offset=4 local.set $1 local.get $1 - i32.const 0 - call $std/array/Ref#constructor + block $~lib/runtime/RETAIN>|inlined.0 (result i32) + i32.const 0 + call $std/array/Ref#constructor + local.set $2 + local.get $2 + i32.const 0 + i32.ne + if + local.get $2 + local.get $0 + call $~lib/runtime/doRetain + end + local.get $2 + end i32.store local.get $1 - i32.const 0 + block $~lib/runtime/RETAIN>|inlined.1 (result i32) + i32.const 0 + local.set $2 + local.get $2 + i32.const 0 + i32.ne + if + local.get $2 + local.get $0 + call $~lib/runtime/doRetain + end + local.get $2 + end i32.store offset=4 local.get $1 - i32.const 0 - call $std/array/Ref#constructor + block $~lib/runtime/RETAIN>|inlined.2 (result i32) + i32.const 0 + call $std/array/Ref#constructor + local.set $2 + local.get $2 + i32.const 0 + i32.ne + if + local.get $2 + local.get $0 + call $~lib/runtime/doRetain + end + local.get $2 + end i32.store offset=8 local.get $0 end global.set $std/array/refArr global.get $std/array/refArr - i32.const 3512 + i32.const 4528 call $~lib/array/Array#join - i32.const 5680 + i32.const 6968 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 917 + i32.const 152 + i32.const 920 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed0 call $~lib/array/Array#toString - i32.const 3264 + i32.const 4200 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 921 + i32.const 152 + i32.const 924 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed1 call $~lib/array/Array#toString - i32.const 5576 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 922 + i32.const 152 + i32.const 925 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed2 call $~lib/array/Array#toString - i32.const 5752 + i32.const 7048 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 923 + i32.const 152 + i32.const 926 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/reversed4 call $~lib/array/Array#toString - i32.const 5768 + i32.const 7072 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 924 + i32.const 152 + i32.const 927 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 5808 + i32.const 7128 local.set $1 local.get $1 i32.const 20 @@ -18674,19 +18910,19 @@ call $~lib/runtime/doWrapArray end call $~lib/array/Array#toString - i32.const 5824 + i32.const 7152 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 926 + i32.const 152 + i32.const 929 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 5864 + i32.const 7208 local.set $1 local.get $1 i32.const 21 @@ -18694,19 +18930,19 @@ call $~lib/runtime/doWrapArray end call $~lib/array/Array#toString - i32.const 5880 + i32.const 7232 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 927 + i32.const 152 + i32.const 930 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 5944 + i32.const 7312 local.set $1 local.get $1 i32.const 16 @@ -18714,19 +18950,19 @@ call $~lib/runtime/doWrapArray end call $~lib/array/Array#toString - i32.const 5976 + i32.const 7352 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 928 + i32.const 152 + i32.const 931 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.1 (result i32) - i32.const 6072 + i32.const 7464 local.set $1 local.get $1 i32.const 22 @@ -18734,32 +18970,32 @@ call $~lib/runtime/doWrapArray end call $~lib/array/Array#toString - i32.const 6112 + i32.const 7512 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 929 + i32.const 152 + i32.const 932 i32.const 0 call $~lib/env/abort unreachable end global.get $std/array/randomStringsExpected call $~lib/array/Array#toString - i32.const 6208 + i32.const 7616 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 930 + i32.const 152 + i32.const 933 i32.const 0 call $~lib/env/abort unreachable end block $~lib/runtime/WRAPARRAY|inlined.3 (result i32) - i32.const 6304 + i32.const 7744 local.set $1 local.get $1 i32.const 14 @@ -18767,13 +19003,13 @@ call $~lib/runtime/doWrapArray end call $~lib/array/Array#toString - i32.const 6328 + i32.const 7776 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 931 + i32.const 152 + i32.const 934 i32.const 0 call $~lib/env/abort unreachable @@ -18787,23 +19023,37 @@ i32.load offset=4 local.set $0 local.get $0 - block $~lib/runtime/WRAPARRAY|inlined.71 (result i32) - i32.const 6368 + block $~lib/runtime/RETAIN,Array>>|inlined.1 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.71 (result i32) + i32.const 7832 + local.set $2 + local.get $2 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end local.set $2 local.get $2 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray + local.get $1 + call $~lib/runtime/doRetain + local.get $2 end i32.store local.get $0 - block $~lib/runtime/WRAPARRAY|inlined.72 (result i32) - i32.const 6384 + block $~lib/runtime/RETAIN,Array>>|inlined.2 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.72 (result i32) + i32.const 7856 + local.set $2 + local.get $2 + i32.const 4 + i32.const 2 + call $~lib/runtime/doWrapArray + end local.set $2 local.get $2 - i32.const 4 - i32.const 2 - call $~lib/runtime/doWrapArray + local.get $1 + call $~lib/runtime/doRetain + local.get $2 end i32.store offset=4 local.get $1 @@ -18811,13 +19061,13 @@ global.set $std/array/subarr32 global.get $std/array/subarr32 call $~lib/array/Array>#toString - i32.const 6400 + i32.const 7880 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 934 + i32.const 152 + i32.const 937 i32.const 0 call $~lib/env/abort unreachable @@ -18831,23 +19081,37 @@ i32.load offset=4 local.set $1 local.get $1 - block $~lib/runtime/WRAPARRAY|inlined.6 (result i32) - i32.const 6440 + block $~lib/runtime/RETAIN,Array>>|inlined.0 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.6 (result i32) + i32.const 7936 + local.set $2 + local.get $2 + i32.const 7 + i32.const 0 + call $~lib/runtime/doWrapArray + end local.set $2 local.get $2 - i32.const 7 - i32.const 0 - call $~lib/runtime/doWrapArray + local.get $0 + call $~lib/runtime/doRetain + local.get $2 end i32.store local.get $1 - block $~lib/runtime/WRAPARRAY|inlined.7 (result i32) - i32.const 6456 + block $~lib/runtime/RETAIN,Array>>|inlined.1 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.7 (result i32) + i32.const 7960 + local.set $2 + local.get $2 + i32.const 7 + i32.const 0 + call $~lib/runtime/doWrapArray + end local.set $2 local.get $2 - i32.const 7 - i32.const 0 - call $~lib/runtime/doWrapArray + local.get $0 + call $~lib/runtime/doRetain + local.get $2 end i32.store offset=4 local.get $0 @@ -18855,13 +19119,13 @@ global.set $std/array/subarr8 global.get $std/array/subarr8 call $~lib/array/Array>#toString - i32.const 6400 + i32.const 7880 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 937 + i32.const 152 + i32.const 940 i32.const 0 call $~lib/env/abort unreachable @@ -18875,25 +19139,39 @@ i32.load offset=4 local.set $1 local.get $1 - block (result i32) - i32.const 0 - i32.const 1 - call $~lib/array/Array>#constructor - local.set $2 - local.get $2 - i32.load offset=4 + block $~lib/runtime/RETAIN>,Array>>>|inlined.0 (result i32) + block (result i32) + i32.const 0 + i32.const 1 + call $~lib/array/Array>#constructor + local.set $2 + local.get $2 + i32.load offset=4 + local.set $3 + local.get $3 + block $~lib/runtime/RETAIN,Array>>|inlined.1 (result i32) + block $~lib/runtime/WRAPARRAY|inlined.11 (result i32) + i32.const 8056 + local.set $4 + local.get $4 + i32.const 8 + i32.const 2 + call $~lib/runtime/doWrapArray + end + local.set $4 + local.get $4 + local.get $2 + call $~lib/runtime/doRetain + local.get $4 + end + i32.store + local.get $2 + end local.set $3 local.get $3 - block $~lib/runtime/WRAPARRAY|inlined.11 (result i32) - i32.const 6520 - local.set $4 - local.get $4 - i32.const 8 - i32.const 2 - call $~lib/runtime/doWrapArray - end - i32.store - local.get $2 + local.get $0 + call $~lib/runtime/doRetain + local.get $3 end i32.store local.get $0 @@ -18901,21 +19179,30 @@ global.set $std/array/subarrU32 global.get $std/array/subarrU32 call $~lib/array/Array>>#toString - i32.const 5576 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 120 - i32.const 940 + i32.const 152 + i32.const 943 i32.const 0 call $~lib/env/abort unreachable end ) - (func $start (; 262 ;) (type $FUNCSIG$v) + (func $std/array/main (; 268 ;) (type $FUNCSIG$v) + global.get $~lib/started + i32.eqz + if + call $start + i32.const 1 + global.set $~lib/started + end + ) + (func $start (; 269 ;) (type $FUNCSIG$v) call $start:std/array ) - (func $null (; 263 ;) (type $FUNCSIG$v) + (func $null (; 270 ;) (type $FUNCSIG$v) ) )