diff --git a/lib/loader/index.js b/lib/loader/index.js index 66f5ea1ecd..3c97d7b741 100644 --- a/lib/loader/index.js +++ b/lib/loader/index.js @@ -3,9 +3,9 @@ const ID_OFFSET = -8; const SIZE_OFFSET = -4; // Runtime ids -const ARRAYBUFFER_ID = 0; -const STRING_ID = 1; -// const ARRAYBUFFERVIEW_ID = 2; +// const OBJECT_ID = 0; +const ARRAYBUFFER_ID = 1; +const STRING_ID = 2; // Runtime type information const ARRAYBUFFERVIEW = 1 << 0; diff --git a/lib/loader/tests/build/default.wasm b/lib/loader/tests/build/default.wasm index 06ba6bc7a0..b9188bb52e 100644 Binary files a/lib/loader/tests/build/default.wasm and b/lib/loader/tests/build/default.wasm differ diff --git a/lib/loader/tests/build/legacy.wasm b/lib/loader/tests/build/legacy.wasm index 06ba6bc7a0..b9188bb52e 100644 Binary files a/lib/loader/tests/build/legacy.wasm and b/lib/loader/tests/build/legacy.wasm differ diff --git a/lib/loader/umd/index.js b/lib/loader/umd/index.js index 709326dea7..3625fc2cc7 100644 --- a/lib/loader/umd/index.js +++ b/lib/loader/umd/index.js @@ -13,10 +13,10 @@ var loader = (function(exports) { // Runtime header offsets const ID_OFFSET = -8; const SIZE_OFFSET = -4; // Runtime ids + // const OBJECT_ID = 0; - const ARRAYBUFFER_ID = 0; - const STRING_ID = 1; // const ARRAYBUFFERVIEW_ID = 2; - // Runtime type information + const ARRAYBUFFER_ID = 1; + const STRING_ID = 2; // Runtime type information const ARRAYBUFFERVIEW = 1 << 0; const ARRAY = 1 << 1; diff --git a/src/bindings/js.ts b/src/bindings/js.ts index 821f35a5b6..735d5a1e2a 100644 --- a/src/bindings/js.ts +++ b/src/bindings/js.ts @@ -1336,7 +1336,7 @@ function isPlainFunction(signature: Signature, mode: Mode): bool { function isPlainObject(clazz: Class): bool { // A plain object does not inherit and does not have a constructor or private properties - if (clazz.base) return false; + if (clazz.base && !clazz.prototype.implicitlyExtendsObject) return false; let members = clazz.members; if (members) { for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) { diff --git a/src/bindings/tsd.ts b/src/bindings/tsd.ts index 51bf5415d1..75a9af7f91 100644 --- a/src/bindings/tsd.ts +++ b/src/bindings/tsd.ts @@ -230,7 +230,7 @@ export class TSDBuilder extends ExportsWalker { isPlainObject(clazz: Class): bool { // A plain object does not inherit and does not have a constructor or private properties - if (clazz.base) return false; + if (clazz.base && !clazz.prototype.implicitlyExtendsObject) return false; let members = clazz.members; if (members) { for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) { diff --git a/src/builtins.ts b/src/builtins.ts index 5d4962555b..711f10c152 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -732,6 +732,9 @@ export namespace BuiltinNames { export const String_eq = "~lib/string/String.__eq"; export const String_ne = "~lib/string/String.__ne"; export const String_not = "~lib/string/String.__not"; + + // std/object.ts + export const Object = "~lib/object/Object"; } /** Builtin compilation context. */ diff --git a/src/compiler.ts b/src/compiler.ts index f3660f9a71..0ee4365ecb 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1716,7 +1716,7 @@ export class Compiler extends DiagnosticEmitter { } // check that super has been called if this is a derived class - if (classInstance.base && !flow.is(FlowFlags.CallsSuper)) { + if (classInstance.base && !classInstance.prototype.implicitlyExtendsObject && !flow.is(FlowFlags.CallsSuper)) { this.error( DiagnosticCode.Constructors_for_derived_classes_must_contain_a_super_call, instance.prototype.declaration.range @@ -5950,7 +5950,7 @@ export class Compiler extends DiagnosticEmitter { assert(parent.kind == ElementKind.Class); let classInstance = parent; let baseClassInstance = classInstance.base; - if (!baseClassInstance) { + if (!baseClassInstance || classInstance.prototype.implicitlyExtendsObject) { this.error( DiagnosticCode._super_can_only_be_referenced_in_a_derived_class, expression.expression.range diff --git a/src/program.ts b/src/program.ts index d7bb603a56..63360df1be 100644 --- a/src/program.ts +++ b/src/program.ts @@ -640,6 +640,14 @@ export class Program extends DiagnosticEmitter { } private _regexpInstance: Class | null = null; + /** Gets the standard `Object` prototype. */ + get objectPrototype(): ClassPrototype { + let cached = this._objectPrototype; + if (!cached) this._objectPrototype = cached = this.require(CommonNames.Object, ElementKind.ClassPrototype); + return cached; + } + private _objectPrototype: ClassPrototype | null = null; + /** Gets the standard `Object` instance. */ get objectInstance(): Class { let cached = this._objectInstance; @@ -1257,10 +1265,11 @@ export class Program extends DiagnosticEmitter { } } - // register ArrayBuffer (id=0), String (id=1), ArrayBufferView (id=2) - assert(this.arrayBufferInstance.id == 0); - assert(this.stringInstance.id == 1); - assert(this.arrayBufferViewInstance.id == 2); + // register foundational classes with fixed ids + assert(this.objectInstance.id == 0); + assert(this.arrayBufferInstance.id == 1); + assert(this.stringInstance.id == 2); + assert(this.arrayBufferViewInstance.id == 3); // register classes backing basic types this.registerWrapperClass(Type.i8, CommonNames.I8); @@ -2044,7 +2053,14 @@ export class Program extends DiagnosticEmitter { } // remember classes that extend another class - if (declaration.extendsType) queuedExtends.push(element); + if (declaration.extendsType) { + queuedExtends.push(element); + } else if ( + !element.hasDecorator(DecoratorFlags.Unmanaged) && + element.internalName != BuiltinNames.Object + ) { + element.implicitlyExtendsObject = true; + } // initialize members let memberDeclarations = declaration.members; @@ -4165,6 +4181,8 @@ export class ClassPrototype extends DeclaredElement { instances: Map | null = null; /** Classes extending this class. */ extendees: Set = new Set(); + /** Whether this class implicitly extends `Object`. */ + implicitlyExtendsObject: bool = false; constructor( /** Simple name. */ diff --git a/src/resolver.ts b/src/resolver.ts index 4396b2094a..dfcb8d0fc0 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -3121,6 +3121,10 @@ export class Resolver extends DiagnosticEmitter { // This is guaranteed to never happen at the entry of the recursion, i.e. // where `resolveClass` is called from other code. if (pendingClasses.has(base)) anyPending = true; + + // Implicitly extend `Object` if a derived object + } else if (prototype.implicitlyExtendsObject) { + instance.setBase(this.program.objectInstance); } // Resolve interfaces if applicable @@ -3298,6 +3302,7 @@ export class Resolver extends DiagnosticEmitter { let memoryOffset: u32 = 0; let base = instance.base; if (base) { + let implicitlyExtendsObject = instance.prototype.implicitlyExtendsObject; assert(!pendingClasses.has(base)); let baseMembers = base.members; if (baseMembers) { @@ -3305,6 +3310,7 @@ export class Resolver extends DiagnosticEmitter { for (let _keys = Map_keys(baseMembers), i = 0, k = _keys.length; i < k; ++i) { let memberName = unchecked(_keys[i]); let baseMember = assert(baseMembers.get(memberName)); + if (implicitlyExtendsObject && baseMember.is(CommonFlags.Static)) continue; let existingMember = instance.getMember(memberName); if (existingMember && !this.checkOverrideVisibility(memberName, existingMember, instance, baseMember, base, reportMode)) { continue; // keep previous diff --git a/std/assembly/object.ts b/std/assembly/object.ts index 8a44e6462e..23f5740aa9 100644 --- a/std/assembly/object.ts +++ b/std/assembly/object.ts @@ -1,4 +1,4 @@ -export class Object { +export abstract class Object { static is(x: T, y: T): bool { if (isFloat()) { // Float pointing is special we shoulr presere following identities: @@ -19,4 +19,18 @@ export class Object { // For references, strings, integers and booleans return x == y; } + + // TODO: Wrapper classes like `Function` override the `this` type of + // `toString`, which is covariant and hence fails to overload. Wrapper classes + // might need a different mechanism to indicate such special `this` types. + // toString(): string { + // return "[object Object]"; + // } } + +// TODO: The types `Object` and `object` differ in TypeScript, in that the +// latter indicates any non-primitive type, not including `string` for example. +// The `object` type hence remains reserved for now, also to potentially address +// the above `toString` TODO in alternative ways. +// @ts-ignore: nolib +// export type object = Object; diff --git a/std/assembly/rt/itcms.ts b/std/assembly/rt/itcms.ts index e77ed8ba11..5b19c2a598 100644 --- a/std/assembly/rt/itcms.ts +++ b/std/assembly/rt/itcms.ts @@ -117,6 +117,7 @@ function initLazy(space: Object): Object { /** Tests if this object is pointerfree. */ get isPointerfree(): bool { let rtId = this.rtId; + // 0: Object, 1: ArrayBuffer, 2: String return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0; } diff --git a/tests/compiler/NonNullable.debug.wat b/tests/compiler/NonNullable.debug.wat index 0994a391d9..386396b19f 100644 --- a/tests/compiler/NonNullable.debug.wat +++ b/tests/compiler/NonNullable.debug.wat @@ -15,12 +15,12 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33068)) (global $~lib/memory/__heap_base i32 (i32.const 33068)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") - (data (i32.const 124) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s\00") + (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data (i32.const 124) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/NonNullable.release.wat b/tests/compiler/NonNullable.release.wat index 10b4dbf7a8..c5e6ef1e1b 100644 --- a/tests/compiler/NonNullable.release.wat +++ b/tests/compiler/NonNullable.release.wat @@ -6,17 +6,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34092)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\06\00\00\00u\003\002") + (data (i32.const 1048) "\02\00\00\00\06\00\00\00u\003\002") (data (i32.const 1068) ",") - (data (i32.const 1080) "\01\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s") (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data (i32.const 1128) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") (data (i32.const 1148) "L") - (data (i32.const 1160) "\01\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>") + (data (i32.const 1160) "\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\01\00\00\00\02\00\00\00z") + (data (i32.const 1240) "\02\00\00\00\02\00\00\00z") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1272) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (export "memory" (memory $0)) (start $~start) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) diff --git a/tests/compiler/abi.debug.wat b/tests/compiler/abi.debug.wat index c6839caebe..e70ed73bb4 100644 --- a/tests/compiler/abi.debug.wat +++ b/tests/compiler/abi.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "exported" (func $abi/exported)) diff --git a/tests/compiler/abi.release.wat b/tests/compiler/abi.release.wat index d23e88648a..867d26b5da 100644 --- a/tests/compiler/abi.release.wat +++ b/tests/compiler/abi.release.wat @@ -2,7 +2,7 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s") (export "exported" (func $abi/exported)) (export "exportedExported" (func $abi/exported)) (export "exportedInternal" (func $abi/exported)) diff --git a/tests/compiler/assert-nonnull.debug.wat b/tests/compiler/assert-nonnull.debug.wat index d09f7d1f41..722eb31459 100644 --- a/tests/compiler/assert-nonnull.debug.wat +++ b/tests/compiler/assert-nonnull.debug.wat @@ -13,11 +13,11 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33148)) (global $~lib/memory/__heap_base i32 (i32.const 33148)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 252) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 252) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/assert-nonnull.release.wat b/tests/compiler/assert-nonnull.release.wat index 86cf8d7170..d588e4c6c9 100644 --- a/tests/compiler/assert-nonnull.release.wat +++ b/tests/compiler/assert-nonnull.release.wat @@ -6,15 +6,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34172)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1048) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1176) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1228) ",") - (data (i32.const 1240) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1240) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1276) "|") - (data (i32.const 1288) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 1288) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (table $0 1 1 funcref) (export "memory" (memory $0)) (export "testVar" (func $export:assert-nonnull/testVar)) diff --git a/tests/compiler/bigint-integration.debug.wat b/tests/compiler/bigint-integration.debug.wat index abfe6076f1..d3a369eb8d 100644 --- a/tests/compiler/bigint-integration.debug.wat +++ b/tests/compiler/bigint-integration.debug.wat @@ -11,7 +11,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32844)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "internalValue" (global $bigint-integration/internalValue)) diff --git a/tests/compiler/bigint-integration.release.wat b/tests/compiler/bigint-integration.release.wat index fb42286770..36616dfa4c 100644 --- a/tests/compiler/bigint-integration.release.wat +++ b/tests/compiler/bigint-integration.release.wat @@ -9,7 +9,7 @@ (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s") (export "internalValue" (global $bigint-integration/internalValue)) (export "getInternalValue" (func $bigint-integration/getInternalValue)) (export "memory" (memory $0)) diff --git a/tests/compiler/bindings/esm.debug.d.ts b/tests/compiler/bindings/esm.debug.d.ts index d98ef3b22f..5dd080e2ae 100644 --- a/tests/compiler/bindings/esm.debug.d.ts +++ b/tests/compiler/bindings/esm.debug.d.ts @@ -124,32 +124,32 @@ export declare function arrayFunction(a: Array, b: Array): Array * @param b `bindings/esm/PlainObject` * @returns `bindings/esm/PlainObject` */ -export declare function objectFunction(a: __Record11, b: __Record11): __Record11; +export declare function objectFunction(a: __Record12, b: __Record12): __Record12; /** * bindings/esm/newInternref * @returns `bindings/esm/NonPlainObject` */ -export declare function newInternref(): __Internref14; +export declare function newInternref(): __Internref15; /** * bindings/esm/internrefFunction * @param a `bindings/esm/NonPlainObject` * @param b `bindings/esm/NonPlainObject` * @returns `bindings/esm/NonPlainObject` */ -export declare function internrefFunction(a: __Internref14, b: __Internref14): __Internref14; +export declare function internrefFunction(a: __Internref15, b: __Internref15): __Internref15; /** * bindings/esm/functionFunction * @param fn `() => void` * @returns `() => void` */ -export declare function functionFunction(fn: __Internref3): __Internref3; +export declare function functionFunction(fn: __Internref4): __Internref4; /** bindings/esm/fn */ export declare const fn: { /** @type `() => void` */ - get value(): __Internref3 + get value(): __Internref4 }; /** bindings/esm/PlainObject */ -declare interface __Record11 { +declare interface __Record12 { /** @type `i8` */ a: number | TOmittable; /** @type `i16` */ @@ -184,10 +184,12 @@ declare interface __Record11 { p: Array | null | TOmittable; } /** bindings/esm/NonPlainObject */ -declare class __Internref14 extends Number { - private __nominal14: symbol; +declare class __Internref15 extends Number { + private __nominal15: symbol; + private __nominal0: symbol; } /** ~lib/function/Function<%28%29=>void> */ -declare class __Internref3 extends Number { - private __nominal3: symbol; +declare class __Internref4 extends Number { + private __nominal4: symbol; + private __nominal0: symbol; } diff --git a/tests/compiler/bindings/esm.debug.js b/tests/compiler/bindings/esm.debug.js index 0ce8f68c1f..59423a594f 100644 --- a/tests/compiler/bindings/esm.debug.js +++ b/tests/compiler/bindings/esm.debug.js @@ -127,8 +127,8 @@ async function instantiate(module, imports = {}) { }, typedarrayFunction(a, b) { // bindings/esm/typedarrayFunction(~lib/typedarray/Int16Array, ~lib/typedarray/Float32Array) => ~lib/typedarray/Uint64Array - a = __retain(__lowerTypedArray(Int16Array, 4, 1, a) || __notnull()); - b = __lowerTypedArray(Float32Array, 5, 2, b) || __notnull(); + a = __retain(__lowerTypedArray(Int16Array, 5, 1, a) || __notnull()); + b = __lowerTypedArray(Float32Array, 6, 2, b) || __notnull(); try { return __liftTypedArray(BigUint64Array, exports.typedarrayFunction(a, b) >>> 0); } finally { @@ -137,8 +137,8 @@ async function instantiate(module, imports = {}) { }, staticarrayFunction(a, b) { // bindings/esm/staticarrayFunction(~lib/staticarray/StaticArray, ~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, a, Int32Array) || __notnull()); - b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, b, Int32Array) || __notnull(); + a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, a, Int32Array) || __notnull()); + b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, b, Int32Array) || __notnull(); try { return __liftStaticArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.staticarrayFunction(a, b) >>> 0); } finally { @@ -147,18 +147,18 @@ async function instantiate(module, imports = {}) { }, staticarrayU16(a) { // bindings/esm/staticarrayU16(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 8, 1, a, Uint16Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 9, 1, a, Uint16Array) || __notnull(); return __liftStaticArray(pointer => new Uint16Array(memory.buffer)[pointer >>> 1], 1, exports.staticarrayU16(a) >>> 0); }, staticarrayI64(a) { // bindings/esm/staticarrayI64(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 9, 3, a, BigInt64Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 10, 3, a, BigInt64Array) || __notnull(); return __liftStaticArray(pointer => new BigInt64Array(memory.buffer)[pointer >>> 3], 3, exports.staticarrayI64(a) >>> 0); }, arrayFunction(a, b) { // bindings/esm/arrayFunction(~lib/array/Array, ~lib/array/Array) => ~lib/array/Array - a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, a) || __notnull()); - b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, b) || __notnull(); + a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, a) || __notnull()); + b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, b) || __notnull(); try { return __liftArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.arrayFunction(a, b) >>> 0); } finally { @@ -167,10 +167,10 @@ async function instantiate(module, imports = {}) { }, objectFunction(a, b) { // bindings/esm/objectFunction(bindings/esm/PlainObject, bindings/esm/PlainObject) => bindings/esm/PlainObject - a = __retain(__lowerRecord11(a) || __notnull()); - b = __lowerRecord11(b) || __notnull(); + a = __retain(__lowerRecord12(a) || __notnull()); + b = __lowerRecord12(b) || __notnull(); try { - return __liftRecord11(exports.objectFunction(a, b) >>> 0); + return __liftRecord12(exports.objectFunction(a, b) >>> 0); } finally { __release(a); } @@ -202,11 +202,11 @@ async function instantiate(module, imports = {}) { } }, }, exports); - function __lowerRecord11(value) { + function __lowerRecord12(value) { // bindings/esm/PlainObject // Hint: Opt-out from lowering as a record by providing an empty constructor if (value == null) return 0; - const pointer = exports.__pin(exports.__new(68, 11)); + const pointer = exports.__pin(exports.__new(68, 12)); new Int8Array(memory.buffer)[pointer + 0 >>> 0] = value.a; new Int16Array(memory.buffer)[pointer + 2 >>> 1] = value.b; new Int32Array(memory.buffer)[pointer + 4 >>> 2] = value.c; @@ -221,12 +221,12 @@ async function instantiate(module, imports = {}) { new Float32Array(memory.buffer)[pointer + 44 >>> 2] = value.l; new Float64Array(memory.buffer)[pointer + 48 >>> 3] = value.m; new Uint32Array(memory.buffer)[pointer + 56 >>> 2] = __lowerString(value.n); - new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 12, 0, value.o); - new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 13, 2, value.p); + new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 13, 0, value.o); + new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 14, 2, value.p); exports.__unpin(pointer); return pointer; } - function __liftRecord11(pointer) { + function __liftRecord12(pointer) { // bindings/esm/PlainObject // Hint: Opt-out from lifting as a record by providing an empty constructor if (!pointer) return null; @@ -255,7 +255,7 @@ async function instantiate(module, imports = {}) { } function __lowerBuffer(value) { if (value == null) return 0; - const pointer = exports.__new(value.byteLength, 0) >>> 0; + const pointer = exports.__new(value.byteLength, 1) >>> 0; new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer); return pointer; } @@ -274,7 +274,7 @@ async function instantiate(module, imports = {}) { if (value == null) return 0; const length = value.length, - pointer = exports.__new(length << 1, 1) >>> 0, + pointer = exports.__new(length << 1, 2) >>> 0, memoryU16 = new Uint16Array(memory.buffer); for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i); return pointer; @@ -293,7 +293,7 @@ async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__pin(exports.__new(16, id)) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; @@ -318,7 +318,7 @@ async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__new(12, id) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index 2821a501b3..a4d07ee15c 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -55,33 +55,33 @@ (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1056)) - (global $~lib/memory/__data_end i32 (i32.const 1120)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33888)) - (global $~lib/memory/__heap_base i32 (i32.const 33888)) + (global $~lib/memory/__data_end i32 (i32.const 1124)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33892)) + (global $~lib/memory/__heap_base i32 (i32.const 33892)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") + (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 988) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 1056) "\0f\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 \00\00\00") + (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data (i32.const 988) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data (i32.const 1056) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 \00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:bindings/esm~anonymous|0) (export "plainGlobal" (global $bindings/esm/plainGlobal)) @@ -213,7 +213,7 @@ if i32.const 0 i32.const 400 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -283,7 +283,7 @@ if i32.const 0 i32.const 400 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -300,7 +300,7 @@ if i32.const 0 i32.const 400 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -351,7 +351,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -397,7 +397,7 @@ if (result i32) i32.const 0 i32.const 400 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1662,7 +1662,7 @@ if i32.const 0 i32.const 400 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2256,7 +2256,7 @@ if i32.const 336 i32.const 400 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2338,7 +2338,7 @@ if i32.const 0 i32.const 400 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2950,7 +2950,7 @@ if i32.const 944 i32.const 400 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -2982,7 +2982,7 @@ if i32.const 1008 i32.const 400 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -3089,6 +3089,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3097,6 +3100,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -3108,6 +3114,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>void>#__visit @@ -3140,6 +3149,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3147,6 +3159,9 @@ (func $bindings/esm/PlainObject~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 offset=56 local.tee $2 if @@ -3234,6 +3249,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -3255,11 +3273,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/typedarray/Int16Array $~lib/typedarray/Float32Array $~lib/typedarray/Uint64Array $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $~lib/typedarray/Uint8Array $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/typedarray/Int16Array $~lib/typedarray/Float32Array $~lib/typedarray/Uint64Array $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $~lib/typedarray/Uint8Array $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + end + return end return end @@ -3431,7 +3452,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -3535,7 +3556,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3608,7 +3629,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3640,7 +3661,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -3680,7 +3701,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3815,7 +3836,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3932,7 +3953,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3975,7 +3996,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -4085,6 +4106,34 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $bindings/esm/PlainObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4100,11 +4149,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 68 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $bindings/esm/PlainObject#set:a @@ -4214,7 +4268,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/bindings/esm.release.d.ts b/tests/compiler/bindings/esm.release.d.ts index d98ef3b22f..5dd080e2ae 100644 --- a/tests/compiler/bindings/esm.release.d.ts +++ b/tests/compiler/bindings/esm.release.d.ts @@ -124,32 +124,32 @@ export declare function arrayFunction(a: Array, b: Array): Array * @param b `bindings/esm/PlainObject` * @returns `bindings/esm/PlainObject` */ -export declare function objectFunction(a: __Record11, b: __Record11): __Record11; +export declare function objectFunction(a: __Record12, b: __Record12): __Record12; /** * bindings/esm/newInternref * @returns `bindings/esm/NonPlainObject` */ -export declare function newInternref(): __Internref14; +export declare function newInternref(): __Internref15; /** * bindings/esm/internrefFunction * @param a `bindings/esm/NonPlainObject` * @param b `bindings/esm/NonPlainObject` * @returns `bindings/esm/NonPlainObject` */ -export declare function internrefFunction(a: __Internref14, b: __Internref14): __Internref14; +export declare function internrefFunction(a: __Internref15, b: __Internref15): __Internref15; /** * bindings/esm/functionFunction * @param fn `() => void` * @returns `() => void` */ -export declare function functionFunction(fn: __Internref3): __Internref3; +export declare function functionFunction(fn: __Internref4): __Internref4; /** bindings/esm/fn */ export declare const fn: { /** @type `() => void` */ - get value(): __Internref3 + get value(): __Internref4 }; /** bindings/esm/PlainObject */ -declare interface __Record11 { +declare interface __Record12 { /** @type `i8` */ a: number | TOmittable; /** @type `i16` */ @@ -184,10 +184,12 @@ declare interface __Record11 { p: Array | null | TOmittable; } /** bindings/esm/NonPlainObject */ -declare class __Internref14 extends Number { - private __nominal14: symbol; +declare class __Internref15 extends Number { + private __nominal15: symbol; + private __nominal0: symbol; } /** ~lib/function/Function<%28%29=>void> */ -declare class __Internref3 extends Number { - private __nominal3: symbol; +declare class __Internref4 extends Number { + private __nominal4: symbol; + private __nominal0: symbol; } diff --git a/tests/compiler/bindings/esm.release.js b/tests/compiler/bindings/esm.release.js index 599538b218..6c2a8096ed 100644 --- a/tests/compiler/bindings/esm.release.js +++ b/tests/compiler/bindings/esm.release.js @@ -127,8 +127,8 @@ async function instantiate(module, imports = {}) { }, typedarrayFunction(a, b) { // bindings/esm/typedarrayFunction(~lib/typedarray/Int16Array, ~lib/typedarray/Float32Array) => ~lib/typedarray/Uint64Array - a = __retain(__lowerTypedArray(Int16Array, 4, 1, a) || __notnull()); - b = __lowerTypedArray(Float32Array, 5, 2, b) || __notnull(); + a = __retain(__lowerTypedArray(Int16Array, 5, 1, a) || __notnull()); + b = __lowerTypedArray(Float32Array, 6, 2, b) || __notnull(); try { return __liftTypedArray(BigUint64Array, exports.typedarrayFunction(a, b) >>> 0); } finally { @@ -137,8 +137,8 @@ async function instantiate(module, imports = {}) { }, staticarrayFunction(a, b) { // bindings/esm/staticarrayFunction(~lib/staticarray/StaticArray, ~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, a, Int32Array) || __notnull()); - b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, b, Int32Array) || __notnull(); + a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, a, Int32Array) || __notnull()); + b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, b, Int32Array) || __notnull(); try { return __liftStaticArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.staticarrayFunction(a, b) >>> 0); } finally { @@ -147,18 +147,18 @@ async function instantiate(module, imports = {}) { }, staticarrayU16(a) { // bindings/esm/staticarrayU16(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 8, 1, a, Uint16Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 9, 1, a, Uint16Array) || __notnull(); return __liftStaticArray(pointer => new Uint16Array(memory.buffer)[pointer >>> 1], 1, exports.staticarrayU16(a) >>> 0); }, staticarrayI64(a) { // bindings/esm/staticarrayI64(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 9, 3, a, BigInt64Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 10, 3, a, BigInt64Array) || __notnull(); return __liftStaticArray(pointer => new BigInt64Array(memory.buffer)[pointer >>> 3], 3, exports.staticarrayI64(a) >>> 0); }, arrayFunction(a, b) { // bindings/esm/arrayFunction(~lib/array/Array, ~lib/array/Array) => ~lib/array/Array - a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, a) || __notnull()); - b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, b) || __notnull(); + a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, a) || __notnull()); + b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, b) || __notnull(); try { return __liftArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.arrayFunction(a, b) >>> 0); } finally { @@ -167,10 +167,10 @@ async function instantiate(module, imports = {}) { }, objectFunction(a, b) { // bindings/esm/objectFunction(bindings/esm/PlainObject, bindings/esm/PlainObject) => bindings/esm/PlainObject - a = __retain(__lowerRecord11(a) || __notnull()); - b = __lowerRecord11(b) || __notnull(); + a = __retain(__lowerRecord12(a) || __notnull()); + b = __lowerRecord12(b) || __notnull(); try { - return __liftRecord11(exports.objectFunction(a, b) >>> 0); + return __liftRecord12(exports.objectFunction(a, b) >>> 0); } finally { __release(a); } @@ -202,11 +202,11 @@ async function instantiate(module, imports = {}) { } }, }, exports); - function __lowerRecord11(value) { + function __lowerRecord12(value) { // bindings/esm/PlainObject // Hint: Opt-out from lowering as a record by providing an empty constructor if (value == null) return 0; - const pointer = exports.__pin(exports.__new(68, 11)); + const pointer = exports.__pin(exports.__new(68, 12)); new Int8Array(memory.buffer)[pointer + 0 >>> 0] = value.a; new Int16Array(memory.buffer)[pointer + 2 >>> 1] = value.b; new Int32Array(memory.buffer)[pointer + 4 >>> 2] = value.c; @@ -221,12 +221,12 @@ async function instantiate(module, imports = {}) { new Float32Array(memory.buffer)[pointer + 44 >>> 2] = value.l; new Float64Array(memory.buffer)[pointer + 48 >>> 3] = value.m; new Uint32Array(memory.buffer)[pointer + 56 >>> 2] = __lowerString(value.n); - new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 12, 0, value.o); - new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 13, 2, value.p); + new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 13, 0, value.o); + new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 14, 2, value.p); exports.__unpin(pointer); return pointer; } - function __liftRecord11(pointer) { + function __liftRecord12(pointer) { // bindings/esm/PlainObject // Hint: Opt-out from lifting as a record by providing an empty constructor if (!pointer) return null; @@ -255,7 +255,7 @@ async function instantiate(module, imports = {}) { } function __lowerBuffer(value) { if (value == null) return 0; - const pointer = exports.__new(value.byteLength, 0) >>> 0; + const pointer = exports.__new(value.byteLength, 1) >>> 0; new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer); return pointer; } @@ -274,7 +274,7 @@ async function instantiate(module, imports = {}) { if (value == null) return 0; const length = value.length, - pointer = exports.__new(length << 1, 1) >>> 0, + pointer = exports.__new(length << 1, 2) >>> 0, memoryU16 = new Uint16Array(memory.buffer); for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i); return pointer; @@ -293,7 +293,7 @@ async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__pin(exports.__new(16, id)) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; @@ -318,7 +318,7 @@ async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__new(12, id) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 81ad029995..5fc5a0f499 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -41,47 +41,47 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 2080)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34912)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34916)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\02\00\00\00b") + (data (i32.const 1080) "\02\00\00\00\02\00\00\00b") (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1112) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\01\00\00\00\n\00\00\00t\00r\00a\00c\00e") + (data (i32.const 1144) "\02\00\00\00\n\00\00\00t\00r\00a\00c\00e") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") + (data (i32.const 1176) "\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") (data (i32.const 1228) ",") - (data (i32.const 1240) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1240) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1276) "<") - (data (i32.const 1288) "\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 1288) "\02\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 1340) "<") - (data (i32.const 1352) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1352) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1532) "<") - (data (i32.const 1544) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1544) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1596) ",") - (data (i32.const 1608) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1676) "<") - (data (i32.const 1688) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\01") + (data (i32.const 1752) "\02") (data (i32.const 1772) "<") - (data (i32.const 1784) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1784) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1836) "<") - (data (i32.const 1848) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1848) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1900) ",") - (data (i32.const 1912) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1912) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1948) "<") - (data (i32.const 1960) "\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1960) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") (data (i32.const 2012) "<") - (data (i32.const 2024) "\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 2080) "\0f\00\00\00 \00\00\00 ") - (data (i32.const 2100) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 ") + (data (i32.const 2024) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 2080) "\10\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 2104) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 ") (export "plainGlobal" (global $bindings/esm/plainGlobal)) (export "plainMutableGlobal" (global $bindings/esm/plainMutableGlobal)) (export "stringGlobal" (global $bindings/esm/stringGlobal)) @@ -174,7 +174,7 @@ if i32.const 0 i32.const 1424 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -205,14 +205,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34912 + i32.const 34916 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1424 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -226,7 +226,7 @@ if i32.const 0 i32.const 1424 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -258,7 +258,7 @@ if i32.const 0 i32.const 1424 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -273,7 +273,7 @@ local.get $0 i32.load $0 offset=12 local.tee $2 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -858,10 +858,10 @@ if unreachable end - i32.const 34912 + i32.const 34928 i32.const 0 i32.store $0 - i32.const 36480 + i32.const 36496 i32.const 0 i32.store $0 loop $for-loop|0 @@ -872,7 +872,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34912 + i32.const 34928 i32.add i32.const 0 i32.store $0 offset=4 @@ -890,7 +890,7 @@ i32.add i32.const 2 i32.shl - i32.const 34912 + i32.const 34928 i32.add i32.const 0 i32.store $0 offset=96 @@ -908,13 +908,13 @@ br $for-loop|0 end end - i32.const 34912 - i32.const 36484 + i32.const 34928 + i32.const 36500 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34912 + i32.const 34928 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -999,7 +999,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34912 + i32.const 34916 i32.lt_u if local.get $0 @@ -1093,13 +1093,13 @@ if i32.const 0 i32.const 1424 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34912 + i32.const 34916 i32.lt_u if local.get $0 @@ -1122,7 +1122,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34912 + i32.const 34916 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1322,7 +1322,7 @@ if i32.const 1360 i32.const 1424 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1625,7 +1625,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -1667,7 +1667,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -1929,7 +1929,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -1945,7 +1945,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1973,7 +1973,7 @@ if i32.const 1968 i32.const 1424 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -2026,7 +2026,7 @@ if i32.const 2032 i32.const 1424 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -2116,11 +2116,14 @@ block $~lib/function/Function<%28%29=>void> block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner1 $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner1 $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + end + return end return end @@ -2232,7 +2235,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -2274,7 +2277,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34912 + i32.const 34916 i32.sub i32.const 1 i32.shr_u @@ -2315,7 +2318,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2330,7 +2333,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2354,7 +2357,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2373,7 +2376,7 @@ end global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -2419,7 +2422,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -2454,7 +2457,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2469,7 +2472,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2525,7 +2528,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2540,7 +2543,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2566,7 +2569,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2575,7 +2578,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2585,7 +2588,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2596,7 +2599,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2626,7 +2629,7 @@ i32.const 3 i32.shl local.tee $6 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 offset=4 @@ -2779,7 +2782,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2796,7 +2799,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2822,7 +2825,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2843,7 +2846,7 @@ local.get $4 i32.const 2 i32.shl - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -2940,7 +2943,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -2972,7 +2975,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2991,7 +2994,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3009,7 +3012,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3018,7 +3021,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -3055,7 +3058,7 @@ i32.const 2 i32.shl local.tee $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 offset=4 @@ -3162,7 +3165,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -3172,84 +3175,114 @@ local.get $2 local.get $1 i32.store $0 offset=4 - block $__inlined_func$bindings/esm/objectFunction (result i32) + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + block $__inlined_func$bindings/esm/PlainObject#constructor (result i32) local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner00 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner00 global.get $~lib/memory/__stack_pointer local.tee $2 i32.const 0 i32.store $0 local.get $2 + i32.const 68 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $3 - i32.const 68 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $3 + local.get $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 i32.store8 $0 - local.get $3 + local.get $2 i32.const 0 i32.store16 $0 offset=2 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $3 + local.get $2 i64.const 0 i64.store $0 offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store8 $0 offset=16 - local.get $3 + local.get $2 i32.const 0 i32.store16 $0 offset=18 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=20 - local.get $3 + local.get $2 i64.const 0 i64.store $0 offset=24 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=32 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=36 - local.get $3 + local.get $2 i32.const 0 i32.store8 $0 offset=40 - local.get $3 + local.get $2 f32.const 0 f32.store $0 offset=44 - local.get $3 + local.get $2 f64.const 0 f64.store $0 offset=48 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=56 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=60 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=64 global.get $~lib/memory/__stack_pointer @@ -3257,37 +3290,35 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.store $0 - local.get $3 - local.get $0 - i32.load8_s $0 - local.get $1 - i32.load8_s $0 - i32.add - i32.store8 $0 - local.get $3 - local.get $0 - i32.load16_s $0 offset=2 - local.get $1 - i32.load16_s $0 offset=2 - i32.add - i32.store16 $0 offset=2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - br $__inlined_func$bindings/esm/objectFunction + br $__inlined_func$bindings/esm/PlainObject#constructor end br $folding-inner1 end - local.set $0 + local.tee $2 + i32.store $0 + local.get $2 + local.get $0 + i32.load8_s $0 + local.get $1 + i32.load8_s $0 + i32.add + i32.store8 $0 + local.get $2 + local.get $0 + i32.load16_s $0 offset=2 + local.get $1 + i32.load16_s $0 offset=2 + i32.add + i32.store16 $0 offset=2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 return end i32.const 34944 @@ -3304,7 +3335,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -3352,7 +3383,7 @@ if i32.const 0 i32.const 1424 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/bindings/noExportRuntime.debug.d.ts b/tests/compiler/bindings/noExportRuntime.debug.d.ts index 3318572324..bf2eabf2d2 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.d.ts +++ b/tests/compiler/bindings/noExportRuntime.debug.d.ts @@ -66,17 +66,19 @@ export declare function returnsArrayOfArray(): Array>; * bindings/noExportRuntime/takesNonPlainObject * @param obj `bindings/noExportRuntime/NonPlainObject` */ -export declare function takesNonPlainObject(obj: __Internref6): void; +export declare function takesNonPlainObject(obj: __Internref7): void; /** * bindings/noExportRuntime/takesFunction * @param fn `() => void` */ -export declare function takesFunction(fn: __Internref7): void; +export declare function takesFunction(fn: __Internref8): void; /** bindings/noExportRuntime/NonPlainObject */ -declare class __Internref6 extends Number { - private __nominal6: symbol; -} -/** ~lib/function/Function<%28%29=>void> */ declare class __Internref7 extends Number { private __nominal7: symbol; + private __nominal0: symbol; +} +/** ~lib/function/Function<%28%29=>void> */ +declare class __Internref8 extends Number { + private __nominal8: symbol; + private __nominal0: symbol; } diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index 3beffa20e2..b94398758a 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -31,27 +31,27 @@ (global $bindings/noExportRuntime/isArrayOfBasic i32 (i32.const 608)) (global $bindings/noExportRuntime/isArrayOfArray i32 (i32.const 688)) (global $~lib/rt/__rtti_base i32 (i32.const 720)) - (global $~lib/memory/__data_end i32 (i32.const 752)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33520)) - (global $~lib/memory/__heap_base i32 (i32.const 33520)) + (global $~lib/memory/__data_end i32 (i32.const 756)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33524)) + (global $~lib/memory/__heap_base i32 (i32.const 33524)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00@\02\00\00@\02\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 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00\90\02\00\00\90\02\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 720) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 \00\00\00") + (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00@\02\00\00@\02\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 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00\90\02\00\00\90\02\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 720) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "isBasic" (global $bindings/noExportRuntime/isBasic)) @@ -135,7 +135,7 @@ if i32.const 0 i32.const 240 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -205,7 +205,7 @@ if i32.const 0 i32.const 240 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -222,7 +222,7 @@ if i32.const 0 i32.const 240 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -273,7 +273,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -319,7 +319,7 @@ if (result i32) i32.const 0 i32.const 240 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1584,7 +1584,7 @@ if i32.const 0 i32.const 240 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2178,7 +2178,7 @@ if i32.const 176 i32.const 240 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2237,7 +2237,7 @@ if i32.const 0 i32.const 240 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2413,6 +2413,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2421,6 +2424,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/typedarray/Int32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2439,6 +2445,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2501,6 +2510,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__visit @@ -2514,11 +2526,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int32Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int32Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + end + return end return end @@ -2594,7 +2609,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -2626,7 +2641,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2658,7 +2673,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -2698,7 +2713,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/bindings/noExportRuntime.release.d.ts b/tests/compiler/bindings/noExportRuntime.release.d.ts index 3318572324..bf2eabf2d2 100644 --- a/tests/compiler/bindings/noExportRuntime.release.d.ts +++ b/tests/compiler/bindings/noExportRuntime.release.d.ts @@ -66,17 +66,19 @@ export declare function returnsArrayOfArray(): Array>; * bindings/noExportRuntime/takesNonPlainObject * @param obj `bindings/noExportRuntime/NonPlainObject` */ -export declare function takesNonPlainObject(obj: __Internref6): void; +export declare function takesNonPlainObject(obj: __Internref7): void; /** * bindings/noExportRuntime/takesFunction * @param fn `() => void` */ -export declare function takesFunction(fn: __Internref7): void; +export declare function takesFunction(fn: __Internref8): void; /** bindings/noExportRuntime/NonPlainObject */ -declare class __Internref6 extends Number { - private __nominal6: symbol; -} -/** ~lib/function/Function<%28%29=>void> */ declare class __Internref7 extends Number { private __nominal7: symbol; + private __nominal0: symbol; +} +/** ~lib/function/Function<%28%29=>void> */ +declare class __Internref8 extends Number { + private __nominal8: symbol; + private __nominal0: symbol; } diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index 358c068f09..f5c0980778 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -24,32 +24,34 @@ (global $bindings/noExportRuntime/isTypedArray (mut i32) (i32.const 0)) (global $bindings/noExportRuntime/isArrayOfBasic i32 (i32.const 1632)) (global $bindings/noExportRuntime/isArrayOfArray i32 (i32.const 1712)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34544)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34548)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (data (i32.const 1068) ",") - (data (i32.const 1080) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1080) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1116) "<") - (data (i32.const 1128) "\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 1128) "\02\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 1180) "<") - (data (i32.const 1192) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1192) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1244) "<") - (data (i32.const 1256) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1384) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1448) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1516) "<") - (data (i32.const 1528) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1580) "\1c") + (data (i32.const 1592) "\01") (data (i32.const 1612) ",") - (data (i32.const 1624) "\04\00\00\00\10\00\00\00@\06\00\00@\06") + (data (i32.const 1624) "\05\00\00\00\10\00\00\00@\06\00\00@\06") (data (i32.const 1660) "\1c") + (data (i32.const 1672) "\01") (data (i32.const 1692) ",") - (data (i32.const 1704) "\05\00\00\00\10\00\00\00\90\06\00\00\90\06") - (data (i32.const 1744) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 ") + (data (i32.const 1704) "\06\00\00\00\10\00\00\00\90\06\00\00\90\06") + (data (i32.const 1744) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 ") (export "isBasic" (global $bindings/noExportRuntime/isBasic)) (export "takesReturnsBasic" (func $bindings/noExportRuntime/takesReturnsBasic)) (export "isString" (global $bindings/noExportRuntime/isString)) @@ -113,7 +115,7 @@ if i32.const 0 i32.const 1264 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -146,7 +148,7 @@ if i32.const 0 i32.const 1264 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -166,14 +168,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34544 + i32.const 34548 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1264 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -187,7 +189,7 @@ if i32.const 0 i32.const 1264 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -209,7 +211,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -794,10 +796,10 @@ if unreachable end - i32.const 34544 + i32.const 34560 i32.const 0 i32.store $0 - i32.const 36112 + i32.const 36128 i32.const 0 i32.store $0 loop $for-loop|0 @@ -808,7 +810,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34544 + i32.const 34560 i32.add i32.const 0 i32.store $0 offset=4 @@ -826,7 +828,7 @@ i32.add i32.const 2 i32.shl - i32.const 34544 + i32.const 34560 i32.add i32.const 0 i32.store $0 offset=96 @@ -844,13 +846,13 @@ br $for-loop|0 end end - i32.const 34544 - i32.const 36116 + i32.const 34560 + i32.const 36132 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34544 + i32.const 34560 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -935,7 +937,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34544 + i32.const 34548 i32.lt_u if local.get $0 @@ -1029,13 +1031,13 @@ if i32.const 0 i32.const 1264 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34544 + i32.const 34548 i32.lt_u if local.get $0 @@ -1058,7 +1060,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34544 + i32.const 34548 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1258,7 +1260,7 @@ if i32.const 1200 i32.const 1264 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1563,7 +1565,7 @@ if i32.const 0 i32.const 1264 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1629,65 +1631,58 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $bindings/noExportRuntime/NonPlainObject - block $~lib/array/Array<~lib/array/Array> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer + block $folding-inner0 + block $invalid + block $bindings/noExportRuntime/NonPlainObject + block $~lib/array/Array<~lib/array/Array> + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object local.get $0 i32.const 8 i32.sub i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner1 $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid end return end return end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 + return + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if local.get $1 - local.get $3 - i32.lt_u + i32.load $0 + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner1 end - return + br $folding-inner0 end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + return end - return + unreachable end local.get $0 i32.load $0 @@ -1710,7 +1705,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34544 + i32.const 34548 i32.sub i32.const 1 i32.shr_u @@ -1746,7 +1741,7 @@ block $__inlined_func$start:bindings/noExportRuntime block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1776 + i32.const 1780 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1755,7 +1750,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1770,7 +1765,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1776 + i32.const 1780 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1779,7 +1774,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1789,7 +1784,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1776 + i32.const 1780 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1800,7 +1795,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1816,7 +1811,7 @@ i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -1859,7 +1854,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1776 + i32.const 1780 i32.lt_s if i32.const 34576 diff --git a/tests/compiler/bindings/raw.debug.d.ts b/tests/compiler/bindings/raw.debug.d.ts index 6a7a80544c..7a2117cfec 100644 --- a/tests/compiler/bindings/raw.debug.d.ts +++ b/tests/compiler/bindings/raw.debug.d.ts @@ -125,33 +125,33 @@ declare namespace __AdaptedExports { * @param b `bindings/esm/PlainObject` * @returns `bindings/esm/PlainObject` */ - export function objectFunction(a: __Record11, b: __Record11): __Record11; + export function objectFunction(a: __Record12, b: __Record12): __Record12; /** * bindings/esm/newInternref * @returns `bindings/esm/NonPlainObject` */ - export function newInternref(): __Internref14; + export function newInternref(): __Internref15; /** * bindings/esm/internrefFunction * @param a `bindings/esm/NonPlainObject` * @param b `bindings/esm/NonPlainObject` * @returns `bindings/esm/NonPlainObject` */ - export function internrefFunction(a: __Internref14, b: __Internref14): __Internref14; + export function internrefFunction(a: __Internref15, b: __Internref15): __Internref15; /** * bindings/esm/functionFunction * @param fn `() => void` * @returns `() => void` */ - export function functionFunction(fn: __Internref3): __Internref3; + export function functionFunction(fn: __Internref4): __Internref4; /** bindings/esm/fn */ export const fn: { /** @type `() => void` */ - get value(): __Internref3 + get value(): __Internref4 }; } /** bindings/esm/PlainObject */ -declare interface __Record11 { +declare interface __Record12 { /** @type `i8` */ a: number | TOmittable; /** @type `i16` */ @@ -186,12 +186,14 @@ declare interface __Record11 { p: Array | null | TOmittable; } /** bindings/esm/NonPlainObject */ -declare class __Internref14 extends Number { - private __nominal14: symbol; +declare class __Internref15 extends Number { + private __nominal15: symbol; + private __nominal0: symbol; } /** ~lib/function/Function<%28%29=>void> */ -declare class __Internref3 extends Number { - private __nominal3: symbol; +declare class __Internref4 extends Number { + private __nominal4: symbol; + private __nominal0: symbol; } /** Instantiates the compiled WebAssembly module with the given imports. */ export declare function instantiate(module: WebAssembly.Module, imports: { diff --git a/tests/compiler/bindings/raw.debug.js b/tests/compiler/bindings/raw.debug.js index 88facf8735..57a055392a 100644 --- a/tests/compiler/bindings/raw.debug.js +++ b/tests/compiler/bindings/raw.debug.js @@ -127,8 +127,8 @@ export async function instantiate(module, imports = {}) { }, typedarrayFunction(a, b) { // bindings/esm/typedarrayFunction(~lib/typedarray/Int16Array, ~lib/typedarray/Float32Array) => ~lib/typedarray/Uint64Array - a = __retain(__lowerTypedArray(Int16Array, 4, 1, a) || __notnull()); - b = __lowerTypedArray(Float32Array, 5, 2, b) || __notnull(); + a = __retain(__lowerTypedArray(Int16Array, 5, 1, a) || __notnull()); + b = __lowerTypedArray(Float32Array, 6, 2, b) || __notnull(); try { return __liftTypedArray(BigUint64Array, exports.typedarrayFunction(a, b) >>> 0); } finally { @@ -137,8 +137,8 @@ export async function instantiate(module, imports = {}) { }, staticarrayFunction(a, b) { // bindings/esm/staticarrayFunction(~lib/staticarray/StaticArray, ~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, a, Int32Array) || __notnull()); - b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, b, Int32Array) || __notnull(); + a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, a, Int32Array) || __notnull()); + b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, b, Int32Array) || __notnull(); try { return __liftStaticArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.staticarrayFunction(a, b) >>> 0); } finally { @@ -147,18 +147,18 @@ export async function instantiate(module, imports = {}) { }, staticarrayU16(a) { // bindings/esm/staticarrayU16(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 8, 1, a, Uint16Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 9, 1, a, Uint16Array) || __notnull(); return __liftStaticArray(pointer => new Uint16Array(memory.buffer)[pointer >>> 1], 1, exports.staticarrayU16(a) >>> 0); }, staticarrayI64(a) { // bindings/esm/staticarrayI64(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 9, 3, a, BigInt64Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 10, 3, a, BigInt64Array) || __notnull(); return __liftStaticArray(pointer => new BigInt64Array(memory.buffer)[pointer >>> 3], 3, exports.staticarrayI64(a) >>> 0); }, arrayFunction(a, b) { // bindings/esm/arrayFunction(~lib/array/Array, ~lib/array/Array) => ~lib/array/Array - a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, a) || __notnull()); - b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, b) || __notnull(); + a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, a) || __notnull()); + b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, b) || __notnull(); try { return __liftArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.arrayFunction(a, b) >>> 0); } finally { @@ -167,10 +167,10 @@ export async function instantiate(module, imports = {}) { }, objectFunction(a, b) { // bindings/esm/objectFunction(bindings/esm/PlainObject, bindings/esm/PlainObject) => bindings/esm/PlainObject - a = __retain(__lowerRecord11(a) || __notnull()); - b = __lowerRecord11(b) || __notnull(); + a = __retain(__lowerRecord12(a) || __notnull()); + b = __lowerRecord12(b) || __notnull(); try { - return __liftRecord11(exports.objectFunction(a, b) >>> 0); + return __liftRecord12(exports.objectFunction(a, b) >>> 0); } finally { __release(a); } @@ -202,11 +202,11 @@ export async function instantiate(module, imports = {}) { } }, }, exports); - function __lowerRecord11(value) { + function __lowerRecord12(value) { // bindings/esm/PlainObject // Hint: Opt-out from lowering as a record by providing an empty constructor if (value == null) return 0; - const pointer = exports.__pin(exports.__new(68, 11)); + const pointer = exports.__pin(exports.__new(68, 12)); new Int8Array(memory.buffer)[pointer + 0 >>> 0] = value.a; new Int16Array(memory.buffer)[pointer + 2 >>> 1] = value.b; new Int32Array(memory.buffer)[pointer + 4 >>> 2] = value.c; @@ -221,12 +221,12 @@ export async function instantiate(module, imports = {}) { new Float32Array(memory.buffer)[pointer + 44 >>> 2] = value.l; new Float64Array(memory.buffer)[pointer + 48 >>> 3] = value.m; new Uint32Array(memory.buffer)[pointer + 56 >>> 2] = __lowerString(value.n); - new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 12, 0, value.o); - new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 13, 2, value.p); + new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 13, 0, value.o); + new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 14, 2, value.p); exports.__unpin(pointer); return pointer; } - function __liftRecord11(pointer) { + function __liftRecord12(pointer) { // bindings/esm/PlainObject // Hint: Opt-out from lifting as a record by providing an empty constructor if (!pointer) return null; @@ -255,7 +255,7 @@ export async function instantiate(module, imports = {}) { } function __lowerBuffer(value) { if (value == null) return 0; - const pointer = exports.__new(value.byteLength, 0) >>> 0; + const pointer = exports.__new(value.byteLength, 1) >>> 0; new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer); return pointer; } @@ -274,7 +274,7 @@ export async function instantiate(module, imports = {}) { if (value == null) return 0; const length = value.length, - pointer = exports.__new(length << 1, 1) >>> 0, + pointer = exports.__new(length << 1, 2) >>> 0, memoryU16 = new Uint16Array(memory.buffer); for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i); return pointer; @@ -293,7 +293,7 @@ export async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__pin(exports.__new(16, id)) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; @@ -318,7 +318,7 @@ export async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__new(12, id) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 46550400c4..063c75c7d1 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -55,33 +55,33 @@ (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1056)) - (global $~lib/memory/__data_end i32 (i32.const 1120)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33888)) - (global $~lib/memory/__heap_base i32 (i32.const 33888)) + (global $~lib/memory/__data_end i32 (i32.const 1124)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33892)) + (global $~lib/memory/__heap_base i32 (i32.const 33892)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") + (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 988) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 1056) "\0f\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 \00\00\00") + (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data (i32.const 988) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data (i32.const 1056) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 \00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:bindings/esm~anonymous|0) (export "plainGlobal" (global $bindings/esm/plainGlobal)) @@ -216,7 +216,7 @@ if i32.const 0 i32.const 400 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -286,7 +286,7 @@ if i32.const 0 i32.const 400 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -303,7 +303,7 @@ if i32.const 0 i32.const 400 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -354,7 +354,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -400,7 +400,7 @@ if (result i32) i32.const 0 i32.const 400 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1665,7 +1665,7 @@ if i32.const 0 i32.const 400 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2259,7 +2259,7 @@ if i32.const 336 i32.const 400 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2341,7 +2341,7 @@ if i32.const 0 i32.const 400 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2953,7 +2953,7 @@ if i32.const 944 i32.const 400 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -2985,7 +2985,7 @@ if i32.const 1008 i32.const 400 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -3092,6 +3092,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3100,6 +3103,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -3111,6 +3117,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>void>#__visit @@ -3143,6 +3152,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3150,6 +3162,9 @@ (func $bindings/esm/PlainObject~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 offset=56 local.tee $2 if @@ -3237,6 +3252,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -3258,11 +3276,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/typedarray/Int16Array $~lib/typedarray/Float32Array $~lib/typedarray/Uint64Array $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $~lib/typedarray/Uint8Array $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/typedarray/Int16Array $~lib/typedarray/Float32Array $~lib/typedarray/Uint64Array $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $~lib/typedarray/Uint8Array $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + end + return end return end @@ -3434,7 +3455,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -3538,7 +3559,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3611,7 +3632,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3643,7 +3664,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -3683,7 +3704,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3818,7 +3839,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3935,7 +3956,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3978,7 +3999,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -4088,6 +4109,34 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $bindings/esm/PlainObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4103,11 +4152,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 68 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $bindings/esm/PlainObject#set:a @@ -4217,7 +4271,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/bindings/raw.release.d.ts b/tests/compiler/bindings/raw.release.d.ts index 6a7a80544c..7a2117cfec 100644 --- a/tests/compiler/bindings/raw.release.d.ts +++ b/tests/compiler/bindings/raw.release.d.ts @@ -125,33 +125,33 @@ declare namespace __AdaptedExports { * @param b `bindings/esm/PlainObject` * @returns `bindings/esm/PlainObject` */ - export function objectFunction(a: __Record11, b: __Record11): __Record11; + export function objectFunction(a: __Record12, b: __Record12): __Record12; /** * bindings/esm/newInternref * @returns `bindings/esm/NonPlainObject` */ - export function newInternref(): __Internref14; + export function newInternref(): __Internref15; /** * bindings/esm/internrefFunction * @param a `bindings/esm/NonPlainObject` * @param b `bindings/esm/NonPlainObject` * @returns `bindings/esm/NonPlainObject` */ - export function internrefFunction(a: __Internref14, b: __Internref14): __Internref14; + export function internrefFunction(a: __Internref15, b: __Internref15): __Internref15; /** * bindings/esm/functionFunction * @param fn `() => void` * @returns `() => void` */ - export function functionFunction(fn: __Internref3): __Internref3; + export function functionFunction(fn: __Internref4): __Internref4; /** bindings/esm/fn */ export const fn: { /** @type `() => void` */ - get value(): __Internref3 + get value(): __Internref4 }; } /** bindings/esm/PlainObject */ -declare interface __Record11 { +declare interface __Record12 { /** @type `i8` */ a: number | TOmittable; /** @type `i16` */ @@ -186,12 +186,14 @@ declare interface __Record11 { p: Array | null | TOmittable; } /** bindings/esm/NonPlainObject */ -declare class __Internref14 extends Number { - private __nominal14: symbol; +declare class __Internref15 extends Number { + private __nominal15: symbol; + private __nominal0: symbol; } /** ~lib/function/Function<%28%29=>void> */ -declare class __Internref3 extends Number { - private __nominal3: symbol; +declare class __Internref4 extends Number { + private __nominal4: symbol; + private __nominal0: symbol; } /** Instantiates the compiled WebAssembly module with the given imports. */ export declare function instantiate(module: WebAssembly.Module, imports: { diff --git a/tests/compiler/bindings/raw.release.js b/tests/compiler/bindings/raw.release.js index 88facf8735..57a055392a 100644 --- a/tests/compiler/bindings/raw.release.js +++ b/tests/compiler/bindings/raw.release.js @@ -127,8 +127,8 @@ export async function instantiate(module, imports = {}) { }, typedarrayFunction(a, b) { // bindings/esm/typedarrayFunction(~lib/typedarray/Int16Array, ~lib/typedarray/Float32Array) => ~lib/typedarray/Uint64Array - a = __retain(__lowerTypedArray(Int16Array, 4, 1, a) || __notnull()); - b = __lowerTypedArray(Float32Array, 5, 2, b) || __notnull(); + a = __retain(__lowerTypedArray(Int16Array, 5, 1, a) || __notnull()); + b = __lowerTypedArray(Float32Array, 6, 2, b) || __notnull(); try { return __liftTypedArray(BigUint64Array, exports.typedarrayFunction(a, b) >>> 0); } finally { @@ -137,8 +137,8 @@ export async function instantiate(module, imports = {}) { }, staticarrayFunction(a, b) { // bindings/esm/staticarrayFunction(~lib/staticarray/StaticArray, ~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, a, Int32Array) || __notnull()); - b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 7, 2, b, Int32Array) || __notnull(); + a = __retain(__lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, a, Int32Array) || __notnull()); + b = __lowerStaticArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 8, 2, b, Int32Array) || __notnull(); try { return __liftStaticArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.staticarrayFunction(a, b) >>> 0); } finally { @@ -147,18 +147,18 @@ export async function instantiate(module, imports = {}) { }, staticarrayU16(a) { // bindings/esm/staticarrayU16(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 8, 1, a, Uint16Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new Uint16Array(memory.buffer)[pointer >>> 1] = value; }, 9, 1, a, Uint16Array) || __notnull(); return __liftStaticArray(pointer => new Uint16Array(memory.buffer)[pointer >>> 1], 1, exports.staticarrayU16(a) >>> 0); }, staticarrayI64(a) { // bindings/esm/staticarrayI64(~lib/staticarray/StaticArray) => ~lib/staticarray/StaticArray - a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 9, 3, a, BigInt64Array) || __notnull(); + a = __lowerStaticArray((pointer, value) => { new BigInt64Array(memory.buffer)[pointer >>> 3] = value || 0n; }, 10, 3, a, BigInt64Array) || __notnull(); return __liftStaticArray(pointer => new BigInt64Array(memory.buffer)[pointer >>> 3], 3, exports.staticarrayI64(a) >>> 0); }, arrayFunction(a, b) { // bindings/esm/arrayFunction(~lib/array/Array, ~lib/array/Array) => ~lib/array/Array - a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, a) || __notnull()); - b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 10, 2, b) || __notnull(); + a = __retain(__lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, a) || __notnull()); + b = __lowerArray((pointer, value) => { new Int32Array(memory.buffer)[pointer >>> 2] = value; }, 11, 2, b) || __notnull(); try { return __liftArray(pointer => new Int32Array(memory.buffer)[pointer >>> 2], 2, exports.arrayFunction(a, b) >>> 0); } finally { @@ -167,10 +167,10 @@ export async function instantiate(module, imports = {}) { }, objectFunction(a, b) { // bindings/esm/objectFunction(bindings/esm/PlainObject, bindings/esm/PlainObject) => bindings/esm/PlainObject - a = __retain(__lowerRecord11(a) || __notnull()); - b = __lowerRecord11(b) || __notnull(); + a = __retain(__lowerRecord12(a) || __notnull()); + b = __lowerRecord12(b) || __notnull(); try { - return __liftRecord11(exports.objectFunction(a, b) >>> 0); + return __liftRecord12(exports.objectFunction(a, b) >>> 0); } finally { __release(a); } @@ -202,11 +202,11 @@ export async function instantiate(module, imports = {}) { } }, }, exports); - function __lowerRecord11(value) { + function __lowerRecord12(value) { // bindings/esm/PlainObject // Hint: Opt-out from lowering as a record by providing an empty constructor if (value == null) return 0; - const pointer = exports.__pin(exports.__new(68, 11)); + const pointer = exports.__pin(exports.__new(68, 12)); new Int8Array(memory.buffer)[pointer + 0 >>> 0] = value.a; new Int16Array(memory.buffer)[pointer + 2 >>> 1] = value.b; new Int32Array(memory.buffer)[pointer + 4 >>> 2] = value.c; @@ -221,12 +221,12 @@ export async function instantiate(module, imports = {}) { new Float32Array(memory.buffer)[pointer + 44 >>> 2] = value.l; new Float64Array(memory.buffer)[pointer + 48 >>> 3] = value.m; new Uint32Array(memory.buffer)[pointer + 56 >>> 2] = __lowerString(value.n); - new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 12, 0, value.o); - new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 13, 2, value.p); + new Uint32Array(memory.buffer)[pointer + 60 >>> 2] = __lowerTypedArray(Uint8Array, 13, 0, value.o); + new Uint32Array(memory.buffer)[pointer + 64 >>> 2] = __lowerArray((pointer, value) => { new Uint32Array(memory.buffer)[pointer >>> 2] = __lowerString(value) || __notnull(); }, 14, 2, value.p); exports.__unpin(pointer); return pointer; } - function __liftRecord11(pointer) { + function __liftRecord12(pointer) { // bindings/esm/PlainObject // Hint: Opt-out from lifting as a record by providing an empty constructor if (!pointer) return null; @@ -255,7 +255,7 @@ export async function instantiate(module, imports = {}) { } function __lowerBuffer(value) { if (value == null) return 0; - const pointer = exports.__new(value.byteLength, 0) >>> 0; + const pointer = exports.__new(value.byteLength, 1) >>> 0; new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer); return pointer; } @@ -274,7 +274,7 @@ export async function instantiate(module, imports = {}) { if (value == null) return 0; const length = value.length, - pointer = exports.__new(length << 1, 1) >>> 0, + pointer = exports.__new(length << 1, 2) >>> 0, memoryU16 = new Uint16Array(memory.buffer); for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i); return pointer; @@ -293,7 +293,7 @@ export async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__pin(exports.__new(16, id)) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; @@ -318,7 +318,7 @@ export async function instantiate(module, imports = {}) { if (values == null) return 0; const length = values.length, - buffer = exports.__pin(exports.__new(length << align, 0)) >>> 0, + buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0, header = exports.__new(12, id) >>> 0, memoryU32 = new Uint32Array(memory.buffer); memoryU32[header + 0 >>> 2] = buffer; diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 3031d8cdb6..4cbdbbe7d2 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -41,47 +41,47 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 2080)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34912)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34916)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\02\00\00\00b") + (data (i32.const 1080) "\02\00\00\00\02\00\00\00b") (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1112) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\01\00\00\00\n\00\00\00t\00r\00a\00c\00e") + (data (i32.const 1144) "\02\00\00\00\n\00\00\00t\00r\00a\00c\00e") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") + (data (i32.const 1176) "\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") (data (i32.const 1228) ",") - (data (i32.const 1240) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1240) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1276) "<") - (data (i32.const 1288) "\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 1288) "\02\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 1340) "<") - (data (i32.const 1352) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1352) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1532) "<") - (data (i32.const 1544) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1544) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1596) ",") - (data (i32.const 1608) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1676) "<") - (data (i32.const 1688) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\01") + (data (i32.const 1752) "\02") (data (i32.const 1772) "<") - (data (i32.const 1784) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1784) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1836) "<") - (data (i32.const 1848) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1848) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1900) ",") - (data (i32.const 1912) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1912) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1948) "<") - (data (i32.const 1960) "\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1960) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") (data (i32.const 2012) "<") - (data (i32.const 2024) "\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 2080) "\0f\00\00\00 \00\00\00 ") - (data (i32.const 2100) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 ") + (data (i32.const 2024) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 2080) "\10\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 2104) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\00\00\00\00A\00\00\00\02A\00\00 ") (export "plainGlobal" (global $bindings/esm/plainGlobal)) (export "plainMutableGlobal" (global $bindings/esm/plainMutableGlobal)) (export "stringGlobal" (global $bindings/esm/stringGlobal)) @@ -174,7 +174,7 @@ if i32.const 0 i32.const 1424 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -205,14 +205,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34912 + i32.const 34916 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1424 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -226,7 +226,7 @@ if i32.const 0 i32.const 1424 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -258,7 +258,7 @@ if i32.const 0 i32.const 1424 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -273,7 +273,7 @@ local.get $0 i32.load $0 offset=12 local.tee $2 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -858,10 +858,10 @@ if unreachable end - i32.const 34912 + i32.const 34928 i32.const 0 i32.store $0 - i32.const 36480 + i32.const 36496 i32.const 0 i32.store $0 loop $for-loop|0 @@ -872,7 +872,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34912 + i32.const 34928 i32.add i32.const 0 i32.store $0 offset=4 @@ -890,7 +890,7 @@ i32.add i32.const 2 i32.shl - i32.const 34912 + i32.const 34928 i32.add i32.const 0 i32.store $0 offset=96 @@ -908,13 +908,13 @@ br $for-loop|0 end end - i32.const 34912 - i32.const 36484 + i32.const 34928 + i32.const 36500 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34912 + i32.const 34928 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -999,7 +999,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34912 + i32.const 34916 i32.lt_u if local.get $0 @@ -1093,13 +1093,13 @@ if i32.const 0 i32.const 1424 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34912 + i32.const 34916 i32.lt_u if local.get $0 @@ -1122,7 +1122,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34912 + i32.const 34916 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1322,7 +1322,7 @@ if i32.const 1360 i32.const 1424 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1625,7 +1625,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -1667,7 +1667,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -1929,7 +1929,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -1945,7 +1945,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1973,7 +1973,7 @@ if i32.const 1968 i32.const 1424 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -2026,7 +2026,7 @@ if i32.const 2032 i32.const 1424 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -2116,11 +2116,14 @@ block $~lib/function/Function<%28%29=>void> block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner1 $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner1 $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + end + return end return end @@ -2232,7 +2235,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -2274,7 +2277,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34912 + i32.const 34916 i32.sub i32.const 1 i32.shr_u @@ -2315,7 +2318,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2330,7 +2333,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2354,7 +2357,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2373,7 +2376,7 @@ end global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -2419,7 +2422,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -2454,7 +2457,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2469,7 +2472,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2525,7 +2528,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2540,7 +2543,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2566,7 +2569,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2575,7 +2578,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2585,7 +2588,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2596,7 +2599,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2626,7 +2629,7 @@ i32.const 3 i32.shl local.tee $6 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 offset=4 @@ -2779,7 +2782,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2796,7 +2799,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2822,7 +2825,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2843,7 +2846,7 @@ local.get $4 i32.const 2 i32.shl - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -2940,7 +2943,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -2972,7 +2975,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2991,7 +2994,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3009,7 +3012,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3018,7 +3021,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -3055,7 +3058,7 @@ i32.const 2 i32.shl local.tee $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 offset=4 @@ -3162,7 +3165,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -3172,84 +3175,114 @@ local.get $2 local.get $1 i32.store $0 offset=4 - block $__inlined_func$bindings/esm/objectFunction (result i32) + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + block $__inlined_func$bindings/esm/PlainObject#constructor (result i32) local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner00 global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner00 global.get $~lib/memory/__stack_pointer local.tee $2 i32.const 0 i32.store $0 local.get $2 + i32.const 68 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $3 - i32.const 68 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $3 + local.get $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 i32.store8 $0 - local.get $3 + local.get $2 i32.const 0 i32.store16 $0 offset=2 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $3 + local.get $2 i64.const 0 i64.store $0 offset=8 - local.get $3 + local.get $2 i32.const 0 i32.store8 $0 offset=16 - local.get $3 + local.get $2 i32.const 0 i32.store16 $0 offset=18 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=20 - local.get $3 + local.get $2 i64.const 0 i64.store $0 offset=24 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=32 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=36 - local.get $3 + local.get $2 i32.const 0 i32.store8 $0 offset=40 - local.get $3 + local.get $2 f32.const 0 f32.store $0 offset=44 - local.get $3 + local.get $2 f64.const 0 f64.store $0 offset=48 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=56 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=60 - local.get $3 + local.get $2 i32.const 0 i32.store $0 offset=64 global.get $~lib/memory/__stack_pointer @@ -3257,37 +3290,35 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.store $0 - local.get $3 - local.get $0 - i32.load8_s $0 - local.get $1 - i32.load8_s $0 - i32.add - i32.store8 $0 - local.get $3 - local.get $0 - i32.load16_s $0 offset=2 - local.get $1 - i32.load16_s $0 offset=2 - i32.add - i32.store16 $0 offset=2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - br $__inlined_func$bindings/esm/objectFunction + br $__inlined_func$bindings/esm/PlainObject#constructor end br $folding-inner1 end - local.set $0 + local.tee $2 + i32.store $0 + local.get $2 + local.get $0 + i32.load8_s $0 + local.get $1 + i32.load8_s $0 + i32.add + i32.store8 $0 + local.get $2 + local.get $0 + i32.load16_s $0 offset=2 + local.get $1 + i32.load16_s $0 offset=2 + i32.add + i32.store16 $0 offset=2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 return end i32.const 34944 @@ -3304,7 +3335,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2144 + i32.const 2148 i32.lt_s if i32.const 34944 @@ -3352,7 +3383,7 @@ if i32.const 0 i32.const 1424 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/bool-Oz.debug.wat b/tests/compiler/bool-Oz.debug.wat index 1ef9ba2bc2..c7830db992 100644 --- a/tests/compiler/bool-Oz.debug.wat +++ b/tests/compiler/bool-Oz.debug.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 12) ",") - (data (i32.const 24) "\01\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") + (data (i32.const 24) "\02\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/bool-Oz.release.wat b/tests/compiler/bool-Oz.release.wat index 1ef9ba2bc2..c7830db992 100644 --- a/tests/compiler/bool-Oz.release.wat +++ b/tests/compiler/bool-Oz.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 12) ",") - (data (i32.const 24) "\01\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") + (data (i32.const 24) "\02\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/bool.debug.wat b/tests/compiler/bool.debug.wat index 86059db0ac..6ca73f7daf 100644 --- a/tests/compiler/bool.debug.wat +++ b/tests/compiler/bool.debug.wat @@ -45,7 +45,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/bool.release.wat b/tests/compiler/bool.release.wat index 0c6542fe9b..c482a19e27 100644 --- a/tests/compiler/bool.release.wat +++ b/tests/compiler/bool.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/builtins.debug.wat b/tests/compiler/builtins.debug.wat index cadd894a5c..9986eafa4e 100644 --- a/tests/compiler/builtins.debug.wat +++ b/tests/compiler/builtins.debug.wat @@ -61,33 +61,33 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33772)) (global $~lib/memory/__heap_base i32 (i32.const 33772)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}\00\00\00\00\00") - (data (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") - (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00b\00o\00o\00l\00\00\00\00\00") - (data (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00i\008\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00u\008\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\001\006\00\00\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00u\001\006\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00f\003\002\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\006\004\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00u\006\004\00\00\00\00\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00f\006\004\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00i\00s\00i\00z\00e\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00u\00s\00i\00z\00e\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00v\00o\00i\00d\00\00\00\00\00") - (data (i32.const 892) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 156) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}\00\00\00\00\00") + (data (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00b\00o\00o\00l\00\00\00\00\00") + (data (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00i\008\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00u\008\00\00\00\00\00\00\00\00\00") + (data (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\001\006\00\00\00\00\00\00\00") + (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\001\006\00\00\00\00\00\00\00") + (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\003\002\00\00\00\00\00\00\00") + (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\006\004\00\00\00\00\00\00\00") + (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\006\004\00\00\00\00\00\00\00") + (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\006\004\00\00\00\00\00\00\00") + (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00i\00s\00i\00z\00e\00\00\00") + (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00u\00s\00i\00z\00e\00\00\00") + (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00v\00o\00i\00d\00\00\00\00\00") + (data (i32.const 892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:builtins~anonymous|0 $start:builtins~anonymous|1 $start:builtins~anonymous|2) (export "test" (func $builtins/test)) diff --git a/tests/compiler/builtins.release.wat b/tests/compiler/builtins.release.wat index fe25052d4b..de997e4994 100644 --- a/tests/compiler/builtins.release.wat +++ b/tests/compiler/builtins.release.wat @@ -12,59 +12,59 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34796)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\06\00\00\00a\00b\00c") + (data (i32.const 1080) "\02\00\00\00\06\00\00\00a\00b\00c") (data (i32.const 1100) ",") - (data (i32.const 1112) "\01\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\06\00\00\00\08\00\00\00\01") + (data (i32.const 1160) "\07\00\00\00\08\00\00\00\01") (data (i32.const 1180) "L") - (data (i32.const 1192) "\01\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}") + (data (i32.const 1192) "\02\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}") (data (i32.const 1260) ",") - (data (i32.const 1272) "\01\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s") + (data (i32.const 1272) "\02\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s") (data (i32.const 1308) ",") - (data (i32.const 1320) "\01\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g") + (data (i32.const 1320) "\02\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g") (data (i32.const 1356) ",") - (data (i32.const 1368) "\01\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n") + (data (i32.const 1368) "\02\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n") (data (i32.const 1404) "\1c") - (data (i32.const 1416) "\01\00\00\00\02\00\00\00C") + (data (i32.const 1416) "\02\00\00\00\02\00\00\00C") (data (i32.const 1436) "\1c") - (data (i32.const 1448) "\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data (i32.const 1448) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\01\00\00\00\08\00\00\00b\00o\00o\00l") + (data (i32.const 1480) "\02\00\00\00\08\00\00\00b\00o\00o\00l") (data (i32.const 1500) "\1c") - (data (i32.const 1512) "\01\00\00\00\04\00\00\00i\008") + (data (i32.const 1512) "\02\00\00\00\04\00\00\00i\008") (data (i32.const 1532) "\1c") - (data (i32.const 1544) "\01\00\00\00\04\00\00\00u\008") + (data (i32.const 1544) "\02\00\00\00\04\00\00\00u\008") (data (i32.const 1564) "\1c") - (data (i32.const 1576) "\01\00\00\00\06\00\00\00i\001\006") + (data (i32.const 1576) "\02\00\00\00\06\00\00\00i\001\006") (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\01\00\00\00\06\00\00\00u\001\006") + (data (i32.const 1608) "\02\00\00\00\06\00\00\00u\001\006") (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\06\00\00\00i\003\002") + (data (i32.const 1640) "\02\00\00\00\06\00\00\00i\003\002") (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\01\00\00\00\06\00\00\00u\003\002") + (data (i32.const 1672) "\02\00\00\00\06\00\00\00u\003\002") (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\01\00\00\00\06\00\00\00f\003\002") + (data (i32.const 1704) "\02\00\00\00\06\00\00\00f\003\002") (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\01\00\00\00\06\00\00\00i\006\004") + (data (i32.const 1736) "\02\00\00\00\06\00\00\00i\006\004") (data (i32.const 1756) "\1c") - (data (i32.const 1768) "\01\00\00\00\06\00\00\00u\006\004") + (data (i32.const 1768) "\02\00\00\00\06\00\00\00u\006\004") (data (i32.const 1788) "\1c") - (data (i32.const 1800) "\01\00\00\00\06\00\00\00f\006\004") + (data (i32.const 1800) "\02\00\00\00\06\00\00\00f\006\004") (data (i32.const 1820) "\1c") - (data (i32.const 1832) "\01\00\00\00\n\00\00\00i\00s\00i\00z\00e") + (data (i32.const 1832) "\02\00\00\00\n\00\00\00i\00s\00i\00z\00e") (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\01\00\00\00\n\00\00\00u\00s\00i\00z\00e") + (data (i32.const 1864) "\02\00\00\00\n\00\00\00u\00s\00i\00z\00e") (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\01\00\00\00\08\00\00\00v\00o\00i\00d") + (data (i32.const 1896) "\02\00\00\00\08\00\00\00v\00o\00i\00d") (data (i32.const 1916) ",") - (data (i32.const 1928) "\01\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e") + (data (i32.const 1928) "\02\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e") (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\0b\00\00\00\08\00\00\00\02") + (data (i32.const 1976) "\0c\00\00\00\08\00\00\00\02") (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\0c\00\00\00\08\00\00\00\03") + (data (i32.const 2008) "\r\00\00\00\08\00\00\00\03") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:builtins~anonymous|0 $start:builtins~anonymous|1 $start:builtins~anonymous|2) (export "test" (func $start:builtins~anonymous|1)) diff --git a/tests/compiler/call-inferred.debug.wat b/tests/compiler/call-inferred.debug.wat index 9f0613076f..d7165bf634 100644 --- a/tests/compiler/call-inferred.debug.wat +++ b/tests/compiler/call-inferred.debug.wat @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/call-inferred.release.wat b/tests/compiler/call-inferred.release.wat index 2df8300883..7c4624a901 100644 --- a/tests/compiler/call-inferred.release.wat +++ b/tests/compiler/call-inferred.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/call-optional.debug.wat b/tests/compiler/call-optional.debug.wat index a9e7c88c1d..aec300a422 100644 --- a/tests/compiler/call-optional.debug.wat +++ b/tests/compiler/call-optional.debug.wat @@ -9,8 +9,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32876)) (global $~lib/memory/__heap_base i32 (i32.const 32876)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $call-optional/opt@varargs) (export "memory" (memory $0)) diff --git a/tests/compiler/call-optional.release.wat b/tests/compiler/call-optional.release.wat index 6d3ea002a8..89a9e84276 100644 --- a/tests/compiler/call-optional.release.wat +++ b/tests/compiler/call-optional.release.wat @@ -6,9 +6,9 @@ (global $~argumentsLength (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s") (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1112) "\04\00\00\00\08\00\00\00\01") (table $0 2 2 funcref) (elem $0 (i32.const 1) $call-optional/opt@varargs) (export "memory" (memory $0)) diff --git a/tests/compiler/call-super.debug.wat b/tests/compiler/call-super.debug.wat index f091080843..c66a1f3995 100644 --- a/tests/compiler/call-super.debug.wat +++ b/tests/compiler/call-super.debug.wat @@ -24,20 +24,20 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 520)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33288)) - (global $~lib/memory/__heap_base i32 (i32.const 33288)) + (global $~lib/memory/__data_end i32 (i32.const 524)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) + (global $~lib/memory/__heap_base i32 (i32.const 33292)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\r\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 464) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -111,7 +111,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -181,7 +181,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -198,7 +198,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -249,7 +249,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -295,7 +295,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1560,7 +1560,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2154,7 +2154,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2549,6 +2549,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2557,6 +2560,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $call-super/I @@ -2572,11 +2578,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid + end + return end return end @@ -2640,7 +2649,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2684,7 +2693,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2731,6 +2740,34 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $call-super/C#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2746,11 +2783,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 1 call $call-super/C#set:a @@ -2777,7 +2819,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2839,7 +2881,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2883,7 +2925,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2919,11 +2961,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 1 call $call-super/G#set:a @@ -2950,7 +2997,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2986,7 +3033,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3017,7 +3064,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index a50e92ae54..72e3bdae57 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -6,6 +6,7 @@ (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,21 +18,21 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34312)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\r\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1488) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -61,7 +62,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -751,7 +752,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34312 + i32.const 34316 i32.lt_u if local.get $0 @@ -845,13 +846,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34312 + i32.const 34316 i32.lt_u if local.get $0 @@ -874,7 +875,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34312 + i32.const 34316 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1074,7 +1075,7 @@ if i32.const 1104 i32.const 1168 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1383,11 +1384,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid + end + return end return end @@ -1431,7 +1435,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34312 + i32.const 34316 i32.sub i32.const 1 i32.shr_u @@ -1466,7 +1470,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1478,7 +1482,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1487,7 +1491,7 @@ i32.store $0 local.get $0 i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1500,7 +1504,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1511,7 +1515,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1602,7 +1606,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1614,7 +1618,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1623,7 +1627,7 @@ i32.store $0 local.get $0 i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1636,7 +1640,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1647,11 +1651,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 1 i32.store $0 @@ -1726,7 +1735,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1738,7 +1747,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1747,7 +1756,7 @@ i32.store $0 local.get $0 i32.const 8 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1757,7 +1766,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1768,7 +1777,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1839,7 +1848,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner02 global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner02 global.get $~lib/memory/__stack_pointer @@ -1851,7 +1860,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner02 global.get $~lib/memory/__stack_pointer @@ -1860,7 +1869,7 @@ i32.store $0 local.get $0 i32.const 8 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1870,7 +1879,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner02 global.get $~lib/memory/__stack_pointer @@ -1881,11 +1890,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 1 i32.store $0 @@ -1939,7 +1953,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner02 global.get $~lib/memory/__stack_pointer @@ -1951,7 +1965,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner02 global.get $~lib/memory/__stack_pointer @@ -1960,7 +1974,7 @@ i32.store $0 local.get $0 i32.const 8 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1970,7 +1984,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner02 global.get $~lib/memory/__stack_pointer @@ -1981,7 +1995,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2044,6 +2058,41 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + if + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) @@ -2069,7 +2118,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2089,14 +2138,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34312 + i32.const 34316 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2110,7 +2159,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2132,7 +2181,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/class-implements.debug.wat b/tests/compiler/class-implements.debug.wat index 9627dc9085..517c88e895 100644 --- a/tests/compiler/class-implements.debug.wat +++ b/tests/compiler/class-implements.debug.wat @@ -31,20 +31,20 @@ (global $class-implements/g (mut i32) (i32.const 0)) (global $class-implements/h (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 480)) - (global $~lib/memory/__data_end i32 (i32.const 556)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33324)) - (global $~lib/memory/__heap_base i32 (i32.const 33324)) + (global $~lib/memory/__data_end i32 (i32.const 560)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33328)) + (global $~lib/memory/__heap_base i32 (i32.const 33328)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 480) "\12\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 480) "\13\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -114,7 +114,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -184,7 +184,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -201,7 +201,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -252,7 +252,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -298,7 +298,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1563,7 +1563,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2157,7 +2157,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2312,7 +2312,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 10 + i32.const 11 i32.eq br_if $case0 br $default @@ -2337,23 +2337,23 @@ i32.load $0 local.set $1 local.get $1 - i32.const 10 + i32.const 11 i32.eq br_if $case0 local.get $1 - i32.const 3 + i32.const 4 i32.eq br_if $case1 local.get $1 - i32.const 5 + i32.const 6 i32.eq br_if $case2 local.get $1 - i32.const 7 + i32.const 8 i32.eq br_if $case3 local.get $1 - i32.const 9 + i32.const 10 i32.eq br_if $case3 br $default @@ -2391,27 +2391,27 @@ i32.load $0 local.set $1 local.get $1 - i32.const 13 + i32.const 14 i32.eq br_if $case0 local.get $1 - i32.const 14 + i32.const 15 i32.eq br_if $case1 local.get $1 - i32.const 16 + i32.const 17 i32.eq br_if $case2 local.get $1 - i32.const 17 + i32.const 18 i32.eq br_if $case3 local.get $1 - i32.const 11 + i32.const 12 i32.eq br_if $case4 local.get $1 - i32.const 15 + i32.const 16 i32.eq br_if $case5 br $default @@ -2457,27 +2457,27 @@ i32.load $0 local.set $2 local.get $2 - i32.const 13 + i32.const 14 i32.eq br_if $case0 local.get $2 - i32.const 14 + i32.const 15 i32.eq br_if $case1 local.get $2 - i32.const 16 + i32.const 17 i32.eq br_if $case2 local.get $2 - i32.const 17 + i32.const 18 i32.eq br_if $case3 local.get $2 - i32.const 11 + i32.const 12 i32.eq br_if $case4 local.get $2 - i32.const 15 + i32.const 16 i32.eq br_if $case5 br $default @@ -2525,11 +2525,11 @@ i32.load $0 local.set $1 local.get $1 - i32.const 16 + i32.const 17 i32.eq br_if $case0 local.get $1 - i32.const 17 + i32.const 18 i32.eq br_if $case1 br $default @@ -2606,6 +2606,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2614,6 +2617,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $class-implements/B4 @@ -2634,11 +2640,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + end + return end return end @@ -2689,8 +2698,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33344 - i32.const 33392 + i32.const 33360 + i32.const 33408 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3243,6 +3252,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $class-implements/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3258,11 +3295,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3286,11 +3328,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3314,7 +3361,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3347,11 +3394,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3375,7 +3427,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3408,7 +3460,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3441,11 +3493,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 1 call $class-implements/A2#set:foo @@ -3472,7 +3529,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3508,7 +3565,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3544,11 +3601,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 3 call $class-implements/B2#set:_foo @@ -3575,7 +3637,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3611,7 +3673,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index e16e4add2d..b31764f595 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -25,21 +25,21 @@ (global $class-implements/f (mut i32) (i32.const 0)) (global $class-implements/g (mut i32) (i32.const 0)) (global $class-implements/h (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34348)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34352)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "<") - (data (i32.const 1448) "\01\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s") - (data (i32.const 1504) "\12\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 1448) "\02\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s") + (data (i32.const 1504) "\13\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -111,7 +111,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -801,7 +801,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34348 + i32.const 34352 i32.lt_u if local.get $0 @@ -895,13 +895,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34348 + i32.const 34352 i32.lt_u if local.get $0 @@ -924,7 +924,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34348 + i32.const 34352 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1124,7 +1124,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1438,11 +1438,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + end + return end return end @@ -1501,7 +1504,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1512,7 +1515,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34348 + i32.const 34352 i32.sub i32.const 1 i32.shr_u @@ -1546,7 +1549,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1555,11 +1558,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1573,7 +1581,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1582,7 +1590,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1592,7 +1600,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1603,12 +1611,17 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1637,7 +1650,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 10 + i32.const 11 i32.eq br_if $__inlined_func$class-implements/D#foo@override drop @@ -1658,7 +1671,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1667,7 +1680,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1692,7 +1705,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 10 + i32.const 11 i32.eq br_if $__inlined_func$class-implements/D#foo@override10 drop @@ -1725,7 +1738,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 10 + i32.const 11 i32.eq br_if $__inlined_func$class-implements/D#foo@override16 drop @@ -1757,7 +1770,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 3 + i32.const 4 i32.sub br_table $case1 $default21 $case2 $default21 $case3 $default21 $case3 $case022 $default21 end @@ -1819,7 +1832,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case4 $default $case0 $case12 $case5 $case21 $case30 $default end @@ -1871,7 +1884,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case45 $default3 $case09 $case18 $case54 $case27 $case36 $default3 end @@ -1931,7 +1944,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case413 $default11 $case017 $case116 $case512 $case215 $case314 $default11 end @@ -1977,7 +1990,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1986,7 +1999,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2029,7 +2042,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case421 $default19 $case025 $case124 $case520 $case223 $case322 $default19 end @@ -2081,7 +2094,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case429 $default27 $case033 $case132 $case528 $case231 $case330 $default27 end @@ -2141,7 +2154,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case437 $default35 $case041 $case140 $case536 $case239 $case338 $default35 end @@ -2187,7 +2200,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2196,7 +2209,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2239,7 +2252,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case445 $default43 $case049 $case148 $case544 $case247 $case346 $default43 end @@ -2291,7 +2304,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case453 $default51 $case057 $case156 $case552 $case255 $case354 $default51 end @@ -2351,7 +2364,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case461 $default59 $case065 $case164 $case560 $case263 $case362 $default59 end @@ -2404,11 +2417,11 @@ i32.sub i32.load $0 local.tee $1 - i32.const 16 + i32.const 17 i32.ne if local.get $1 - i32.const 17 + i32.const 18 i32.eq br_if $case11 br $default0 @@ -2446,7 +2459,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case469 $default67 $case073 $case172 $case568 $case271 $case370 $default67 end @@ -2498,7 +2511,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case477 $default75 $case081 $case180 $case576 $case279 $case378 $default75 end @@ -2542,11 +2555,11 @@ i32.sub i32.load $0 local.tee $1 - i32.const 16 + i32.const 17 i32.ne if local.get $1 - i32.const 17 + i32.const 18 i32.eq br_if $case1882 br $default7 @@ -2584,7 +2597,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case486 $default84 $case090 $case189 $case585 $case288 $case387 $default84 end @@ -2630,7 +2643,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2639,7 +2652,7 @@ i32.store $0 local.get $1 i32.const 8 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2682,7 +2695,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case494 $default92 $case098 $case197 $case593 $case296 $case395 $default92 end @@ -2734,7 +2747,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case4102 $default100 $case0106 $case1105 $case5101 $case2104 $case3103 $default100 end @@ -2794,7 +2807,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case4110 $default108 $case0114 $case1113 $case5109 $case2112 $case3111 $default108 end @@ -2840,7 +2853,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2849,7 +2862,7 @@ i32.store $0 local.get $1 i32.const 8 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2892,7 +2905,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case4118 $default116 $case0122 $case1121 $case5117 $case2120 $case3119 $default116 end @@ -2944,7 +2957,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case4126 $default124 $case0130 $case1129 $case5125 $case2128 $case3127 $default124 end @@ -3004,7 +3017,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 11 + i32.const 12 i32.sub br_table $case4134 $default132 $case0138 $case1137 $case5133 $case2136 $case3135 $default132 end @@ -3050,24 +3063,59 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 34368 - i32.const 34416 + i32.const 34384 + i32.const 34432 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $class-implements/D#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s if - i32.const 34368 - i32.const 34416 + i32.const 34384 + i32.const 34432 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3081,12 +3129,17 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -3099,11 +3152,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s if - i32.const 34368 - i32.const 34416 + i32.const 34384 + i32.const 34432 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3115,7 +3168,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3136,11 +3189,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s if - i32.const 34368 - i32.const 34416 + i32.const 34384 + i32.const 34432 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3154,11 +3207,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 1 i32.store $0 @@ -3174,11 +3232,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1580 + i32.const 1584 i32.lt_s if - i32.const 34368 - i32.const 34416 + i32.const 34384 + i32.const 34432 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3192,11 +3250,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 3 i32.store $0 @@ -3231,7 +3294,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -3251,14 +3314,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34348 + i32.const 34352 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -3272,7 +3335,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -3294,7 +3357,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/class-overloading-cast.debug.wat b/tests/compiler/class-overloading-cast.debug.wat index 6cad188a02..457f08e59a 100644 --- a/tests/compiler/class-overloading-cast.debug.wat +++ b/tests/compiler/class-overloading-cast.debug.wat @@ -32,25 +32,25 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $class-overloading-cast/c (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 624)) - (global $~lib/memory/__data_end i32 (i32.const 680)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33448)) - (global $~lib/memory/__heap_base i32 (i32.const 33448)) + (global $~lib/memory/__data_end i32 (i32.const 684)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33452)) + (global $~lib/memory/__heap_base i32 (i32.const 33452)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 624) "\r\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 476) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 624) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -120,7 +120,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -190,7 +190,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -207,7 +207,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -258,7 +258,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -304,7 +304,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1569,7 +1569,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2163,7 +2163,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2398,11 +2398,11 @@ i32.load $0 local.set $2 local.get $2 - i32.const 3 + i32.const 4 i32.eq br_if $case0 local.get $2 - i32.const 5 + i32.const 6 i32.eq br_if $case1 br $default @@ -2431,7 +2431,7 @@ i32.load $0 local.set $2 local.get $2 - i32.const 6 + i32.const 7 i32.eq br_if $case0 br $default @@ -2496,6 +2496,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2504,6 +2507,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $class-overloading-cast/A @@ -2519,11 +2525,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/B $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $class-overloading-cast/B $class-overloading-cast/A $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/B $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $class-overloading-cast/B $class-overloading-cast/A $invalid + end + return end return end @@ -2810,6 +2819,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2825,11 +2862,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2853,7 +2895,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2886,7 +2928,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2919,11 +2961,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2947,7 +2994,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2980,11 +3027,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3008,7 +3060,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3041,11 +3093,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3069,7 +3126,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3102,7 +3159,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index 9cb0396756..a0b882c6be 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -22,30 +22,30 @@ (global $class-overloading-cast/v2 (mut i32) (i32.const 0)) (global $class-overloading-cast/v3 (mut i32) (i32.const 0)) (global $class-overloading-cast/c (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34472)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34476)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "\1c") - (data (i32.const 1448) "\01\00\00\00\02\00\00\00A") + (data (i32.const 1448) "\02\00\00\00\02\00\00\00A") (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\01\00\00\00\02\00\00\00B") + (data (i32.const 1480) "\02\00\00\00\02\00\00\00B") (data (i32.const 1500) "L") - (data (i32.const 1512) "\01\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s") + (data (i32.const 1512) "\02\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s") (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1592) "\02\00\00\00\02\00\00\00a") (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\01\00\00\00\02\00\00\00D") - (data (i32.const 1648) "\r\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1624) "\02\00\00\00\02\00\00\00D") + (data (i32.const 1648) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -99,7 +99,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -789,7 +789,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34472 + i32.const 34476 i32.lt_u if local.get $0 @@ -883,13 +883,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34472 + i32.const 34476 i32.lt_u if local.get $0 @@ -912,7 +912,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34472 + i32.const 34476 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1396,11 +1396,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/B $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $class-overloading-cast/B $class-overloading-cast/A $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/B $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $class-overloading-cast/B $class-overloading-cast/A $invalid + end + return end return end @@ -1456,7 +1459,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1469,7 +1472,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34472 + i32.const 34476 i32.sub i32.const 1 i32.shr_u @@ -1503,7 +1506,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1511,7 +1514,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1531,7 +1534,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1539,7 +1542,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1559,7 +1562,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1567,7 +1570,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1577,7 +1580,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1587,12 +1590,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1618,11 +1626,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 3 + i32.const 4 i32.ne if local.get $0 - i32.const 5 + i32.const 6 i32.eq br_if $case1 br $default @@ -1685,7 +1693,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 6 + i32.const 7 i32.eq br_if $__inlined_func$class-overloading-cast/A#foo@override drop @@ -1715,7 +1723,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1723,7 +1731,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1733,7 +1741,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1743,12 +1751,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1827,7 +1840,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1835,7 +1848,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1845,7 +1858,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1855,7 +1868,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1866,7 +1879,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1876,12 +1889,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1933,13 +1951,47 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1708 + i32.lt_s + if + i32.const 34496 + i32.const 34544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1704 + i32.const 1708 i32.lt_s if i32.const 34496 @@ -1956,12 +2008,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1992,7 +2049,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2012,14 +2069,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34472 + i32.const 34476 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2033,7 +2090,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2055,7 +2112,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/class-overloading.debug.wat b/tests/compiler/class-overloading.debug.wat index 140d1a4d78..5b29650d57 100644 --- a/tests/compiler/class-overloading.debug.wat +++ b/tests/compiler/class-overloading.debug.wat @@ -32,29 +32,29 @@ (global $class-overloading/ic (mut i32) (i32.const 0)) (global $class-overloading/b2 (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 768)) - (global $~lib/memory/__data_end i32 (i32.const 840)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33608)) - (global $~lib/memory/__heap_base i32 (i32.const 33608)) + (global $~lib/memory/__data_end i32 (i32.const 844)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33612)) + (global $~lib/memory/__heap_base i32 (i32.const 33612)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00I\00B\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00I\00C\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\11\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00") + (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00I\00B\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00I\00C\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 768) "\12\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -124,7 +124,7 @@ if i32.const 0 i32.const 128 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -194,7 +194,7 @@ if i32.const 0 i32.const 128 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -211,7 +211,7 @@ if i32.const 0 i32.const 128 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -262,7 +262,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -308,7 +308,7 @@ if (result i32) i32.const 0 i32.const 128 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1573,7 +1573,7 @@ if i32.const 0 i32.const 128 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2167,7 +2167,7 @@ if i32.const 64 i32.const 128 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2480,23 +2480,23 @@ i32.load $0 local.set $2 local.get $2 - i32.const 4 + i32.const 5 i32.eq br_if $case0 local.get $2 - i32.const 6 + i32.const 7 i32.eq br_if $case0 local.get $2 - i32.const 7 + i32.const 8 i32.eq br_if $case0 local.get $2 - i32.const 5 + i32.const 6 i32.eq br_if $case1 local.get $2 - i32.const 8 + i32.const 9 i32.eq br_if $case2 br $default @@ -2532,23 +2532,23 @@ i32.load $0 local.set $2 local.get $2 - i32.const 4 + i32.const 5 i32.eq br_if $case0 local.get $2 - i32.const 6 + i32.const 7 i32.eq br_if $case0 local.get $2 - i32.const 7 + i32.const 8 i32.eq br_if $case0 local.get $2 - i32.const 5 + i32.const 6 i32.eq br_if $case1 local.get $2 - i32.const 8 + i32.const 9 i32.eq br_if $case2 br $default @@ -2584,23 +2584,23 @@ i32.load $0 local.set $1 local.get $1 - i32.const 4 + i32.const 5 i32.eq br_if $case0 local.get $1 - i32.const 6 + i32.const 7 i32.eq br_if $case0 local.get $1 - i32.const 7 + i32.const 8 i32.eq br_if $case0 local.get $1 - i32.const 5 + i32.const 6 i32.eq br_if $case1 local.get $1 - i32.const 8 + i32.const 9 i32.eq br_if $case2 br $default @@ -2632,23 +2632,23 @@ i32.load $0 local.set $2 local.get $2 - i32.const 4 + i32.const 5 i32.eq br_if $case0 local.get $2 - i32.const 6 + i32.const 7 i32.eq br_if $case0 local.get $2 - i32.const 7 + i32.const 8 i32.eq br_if $case0 local.get $2 - i32.const 5 + i32.const 6 i32.eq br_if $case1 local.get $2 - i32.const 8 + i32.const 9 i32.eq br_if $case2 br $default @@ -2683,11 +2683,11 @@ i32.load $0 local.set $1 local.get $1 - i32.const 10 + i32.const 11 i32.eq br_if $case0 local.get $1 - i32.const 12 + i32.const 13 i32.eq br_if $case1 br $default @@ -2712,7 +2712,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 14 + i32.const 15 i32.eq br_if $case0 br $default @@ -2734,7 +2734,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 15 + i32.const 16 i32.eq br_if $case0 br $default @@ -2800,6 +2800,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2808,6 +2811,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $class-overloading/A1 @@ -2827,11 +2833,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading/A $class-overloading/B $class-overloading/C $class-overloading/D $class-overloading/E $class-overloading/F $class-overloading/IA $class-overloading/CA $class-overloading/IC $class-overloading/CC $class-overloading/A2 $class-overloading/B2 $class-overloading/B1 $class-overloading/A1 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading/A $class-overloading/B $class-overloading/C $class-overloading/D $class-overloading/E $class-overloading/F $class-overloading/IA $class-overloading/CA $class-overloading/IC $class-overloading/CC $class-overloading/A2 $class-overloading/B2 $class-overloading/B1 $class-overloading/A1 $invalid + end + return end return end @@ -3729,6 +3738,34 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $class-overloading/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3744,11 +3781,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3772,7 +3814,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3805,7 +3847,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3838,7 +3880,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3871,7 +3913,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3904,7 +3946,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3937,11 +3979,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3965,11 +4012,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3993,11 +4045,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4021,7 +4078,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4054,11 +4111,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4082,7 +4144,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index 9e9cbad1d9..42cfafa4fc 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -24,38 +24,38 @@ (global $class-overloading/ia (mut i32) (i32.const 0)) (global $class-overloading/ic (mut i32) (i32.const 0)) (global $class-overloading/b2 (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34632)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34636)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1080) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\01\00\00\00\02\00\00\00A") + (data (i32.const 1480) "\02\00\00\00\02\00\00\00A") (data (i32.const 1500) "\1c") - (data (i32.const 1512) "\01\00\00\00\02\00\00\00B") + (data (i32.const 1512) "\02\00\00\00\02\00\00\00B") (data (i32.const 1532) "<") - (data (i32.const 1544) "\01\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") + (data (i32.const 1544) "\02\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\01\00\00\00\02\00\00\00C") + (data (i32.const 1608) "\02\00\00\00\02\00\00\00C") (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\02\00\00\00F") + (data (i32.const 1640) "\02\00\00\00\02\00\00\00F") (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\01\00\00\00\04\00\00\00I\00B") + (data (i32.const 1672) "\02\00\00\00\04\00\00\00I\00B") (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\01\00\00\00\04\00\00\00I\00C") + (data (i32.const 1704) "\02\00\00\00\04\00\00\00I\00C") (data (i32.const 1724) "<") - (data (i32.const 1736) "\01\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d") - (data (i32.const 1792) "\11\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1736) "\02\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d") + (data (i32.const 1792) "\12\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -121,7 +121,7 @@ if i32.const 0 i32.const 1152 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -811,7 +811,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34632 + i32.const 34636 i32.lt_u if local.get $0 @@ -905,13 +905,13 @@ if i32.const 0 i32.const 1152 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34632 + i32.const 34636 i32.lt_u if local.get $0 @@ -934,7 +934,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34632 + i32.const 34636 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1412,7 +1412,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case0 $case1 $case0 $case0 $case2 $default end @@ -1449,11 +1449,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading/A $class-overloading/B $class-overloading/C $class-overloading/D $class-overloading/E $class-overloading/F $class-overloading/IA $class-overloading/CA $class-overloading/IC $class-overloading/CC $class-overloading/A2 $class-overloading/B2 $class-overloading/B1 $class-overloading/A1 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading/A $class-overloading/B $class-overloading/C $class-overloading/D $class-overloading/E $class-overloading/F $class-overloading/IA $class-overloading/CA $class-overloading/IC $class-overloading/CC $class-overloading/A2 $class-overloading/B2 $class-overloading/B1 $class-overloading/A1 $invalid + end + return end return end @@ -1514,7 +1517,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s if i32.const 34656 @@ -1564,7 +1567,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1573,7 +1576,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34632 + i32.const 34636 i32.sub i32.const 1 i32.shr_u @@ -1645,7 +1648,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case0 $case1 $case0 $case0 $case2 $default end @@ -1699,7 +1702,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case09 $case18 $case09 $case09 $case27 $default6 end @@ -1753,7 +1756,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case014 $case113 $case014 $case014 $case212 $default11 end @@ -1797,7 +1800,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1805,7 +1808,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1966,7 +1969,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case026 $case125 $case026 $case026 $case224 $default23 end @@ -2020,7 +2023,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case035 $case134 $case035 $case035 $case233 $default32 end @@ -2072,7 +2075,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case044 $case143 $case044 $case044 $case242 $default41 end @@ -2156,7 +2159,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case053 $case152 $case053 $case053 $case251 $default50 end @@ -2210,7 +2213,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case062 $case161 $case062 $case062 $case260 $default59 end @@ -2262,7 +2265,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case071 $case170 $case071 $case071 $case269 $default68 end @@ -2306,7 +2309,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2314,7 +2317,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2371,7 +2374,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case081 $case180 $case081 $case081 $case279 $default78 end @@ -2425,7 +2428,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case090 $case189 $case090 $case090 $case288 $default87 end @@ -2479,7 +2482,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.sub br_table $case099 $case198 $case099 $case099 $case297 $default96 end @@ -2523,7 +2526,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2531,11 +2534,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2555,11 +2563,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 10 + i32.const 11 i32.ne if local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $case1106 br $default105 @@ -2599,7 +2607,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2607,11 +2615,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2631,11 +2644,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 10 + i32.const 11 i32.ne if local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $case1111 br $default110 @@ -2675,7 +2688,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2683,7 +2696,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2693,7 +2706,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2703,12 +2716,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2730,7 +2748,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 14 + i32.const 15 i32.eq if global.get $~lib/memory/__stack_pointer @@ -2738,7 +2756,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2750,7 +2768,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2758,7 +2776,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2768,7 +2786,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2778,12 +2796,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2801,7 +2824,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 15 + i32.const 16 i32.ne if i32.const 1744 @@ -2837,6 +2860,40 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + if + i32.const 34656 + i32.const 34704 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $class-overloading/B#constructor (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2845,7 +2902,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2855,7 +2912,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2866,7 +2923,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2876,12 +2933,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2908,7 +2970,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s if i32.const 34656 @@ -2925,7 +2987,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2947,7 +3009,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1864 + i32.const 1868 i32.lt_s if i32.const 34656 @@ -2964,7 +3026,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3005,7 +3067,7 @@ if i32.const 0 i32.const 1152 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -3025,14 +3087,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34632 + i32.const 34636 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1152 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -3046,7 +3108,7 @@ if i32.const 0 i32.const 1152 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -3068,7 +3130,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/class-static-function.debug.wat b/tests/compiler/class-static-function.debug.wat index aa9fec5307..2c45b56539 100644 --- a/tests/compiler/class-static-function.debug.wat +++ b/tests/compiler/class-static-function.debug.wat @@ -9,8 +9,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32892)) (global $~lib/memory/__heap_base i32 (i32.const 32892)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $class-static-function/Example.staticFunc) (export "memory" (memory $0)) diff --git a/tests/compiler/class-static-function.release.wat b/tests/compiler/class-static-function.release.wat index 9fb6be48ee..3ff8e28632 100644 --- a/tests/compiler/class-static-function.release.wat +++ b/tests/compiler/class-static-function.release.wat @@ -6,9 +6,9 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33916)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1068) "L") - (data (i32.const 1080) "\01\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s") (table $0 2 2 funcref) (elem $0 (i32.const 1) $class-static-function/Example.staticFunc) (export "memory" (memory $0)) diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 9685001193..316dd550b4 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -28,21 +28,21 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 512)) - (global $~lib/memory/__data_end i32 (i32.const 540)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33308)) - (global $~lib/memory/__heap_base i32 (i32.const 33308)) + (global $~lib/memory/__data_end i32 (i32.const 544)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33312)) + (global $~lib/memory/__heap_base i32 (i32.const 33312)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 512) "\06\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 512) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "testGenericInitializer" (func $class/testGenericInitializer)) @@ -232,7 +232,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -302,7 +302,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -319,7 +319,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -370,7 +370,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -416,7 +416,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1681,7 +1681,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2275,7 +2275,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2334,7 +2334,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2439,6 +2439,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2447,9 +2450,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $class/GenericInitializer~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2471,6 +2480,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2483,11 +2495,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class/Animal $class/GenericInitializer $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class/Animal $class/GenericInitializer $~lib/array/Array $invalid + end + return end return end @@ -2537,8 +2552,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33328 - i32.const 33376 + i32.const 33344 + i32.const 33392 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2560,11 +2575,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 i32.const 0 @@ -2583,6 +2603,34 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) (local $3 i32) @@ -2602,7 +2650,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2645,7 +2693,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index ec479d831f..c8ea6317c9 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -18,23 +18,23 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34332)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34336)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1448) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1484) ",") - (data (i32.const 1496) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1536) "\06\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t") + (data (i32.const 1496) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1536) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t") (export "testGenericInitializer" (func $class/testGenericInitializer)) (export "memory" (memory $0)) (export "test" (func $export:class/test)) @@ -68,7 +68,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -101,7 +101,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -121,14 +121,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34332 + i32.const 34336 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -142,7 +142,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -164,7 +164,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -890,7 +890,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34332 + i32.const 34336 i32.lt_u if local.get $0 @@ -984,13 +984,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34332 + i32.const 34336 i32.lt_u if local.get $0 @@ -1013,7 +1013,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34332 + i32.const 34336 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1213,7 +1213,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1518,7 +1518,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1572,7 +1572,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1564 + i32.const 1568 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1581,56 +1581,85 @@ i64.store $0 local.get $0 i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1568 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1564 + i32.const 1568 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#set:buffer - local.get $0 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $0 + local.get $2 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $2 i32.const 0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/array/Array#set:buffer - local.get $0 local.get $2 + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $2 i32.const 32 i32.store $0 offset=8 - local.get $0 + local.get $2 i32.const 0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer @@ -1638,10 +1667,10 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $2 call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer i32.const 8 @@ -1649,8 +1678,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 34352 - i32.const 34400 + i32.const 34368 + i32.const 34416 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1659,15 +1688,15 @@ (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $folding-inner0 block $invalid - block $~lib/array/Array - block $class/Animal - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer + block $class/Animal + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object local.get $0 i32.const 8 i32.sub i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $class/Animal $folding-inner0 $~lib/array/Array $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $class/Animal $folding-inner0 $folding-inner0 $invalid end return end @@ -1675,13 +1704,6 @@ end return end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end return end unreachable @@ -1698,7 +1720,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34332 + i32.const 34336 i32.sub i32.const 1 i32.shr_u @@ -1735,11 +1757,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1564 + i32.const 1568 i32.lt_s if - i32.const 34352 - i32.const 34400 + i32.const 34368 + i32.const 34416 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/comma.debug.wat b/tests/compiler/comma.debug.wat index 324d67630e..9cc2736278 100644 --- a/tests/compiler/comma.debug.wat +++ b/tests/compiler/comma.debug.wat @@ -8,7 +8,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/comma.release.wat b/tests/compiler/comma.release.wat index d9a72d3f28..781242ac86 100644 --- a/tests/compiler/comma.release.wat +++ b/tests/compiler/comma.release.wat @@ -6,7 +6,7 @@ (global $comma/b (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index a55021fd65..4ee568cdc2 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -36,20 +36,20 @@ (global $constructor/ctorConditionallyReturnsThis (mut i32) (i32.const 0)) (global $constructor/ctorFieldInitOrder (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 524)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) - (global $~lib/memory/__heap_base i32 (i32.const 33292)) + (global $~lib/memory/__data_end i32 (i32.const 528)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33296)) + (global $~lib/memory/__heap_base i32 (i32.const 33296)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s\00") - (data (i32.const 464) "\0e\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s\00") + (data (i32.const 464) "\0f\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -119,7 +119,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -189,7 +189,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -206,7 +206,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -257,7 +257,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -303,7 +303,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1568,7 +1568,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2162,7 +2162,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2349,6 +2349,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2357,6 +2360,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $constructor/CtorFieldInitOrder @@ -2373,11 +2379,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/EmptyCtorWithFieldAccess $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorReturns $constructor/CtorConditionallyReturns $constructor/CtorConditionallyReturnsThis $constructor/CtorFieldInitOrder $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/EmptyCtorWithFieldAccess $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorReturns $constructor/CtorConditionallyReturns $constructor/CtorConditionallyReturnsThis $constructor/CtorFieldInitOrder $invalid + end + return end return end @@ -2420,8 +2429,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33312 - i32.const 33360 + i32.const 33328 + i32.const 33376 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2564,7 +2573,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2592,7 +2601,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2623,7 +2632,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2654,7 +2663,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2673,6 +2682,34 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $constructor/None#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2688,11 +2725,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2716,11 +2758,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 1 call $constructor/JustFieldInit#set:a @@ -2747,11 +2794,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $constructor/JustFieldNoInit#set:a @@ -2778,7 +2830,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2817,7 +2869,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2856,7 +2908,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index b3c487c0c7..95925bef87 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -6,6 +6,7 @@ (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -26,21 +27,21 @@ (global $constructor/justFieldNoInit (mut i32) (i32.const 0)) (global $constructor/ctorConditionallyReturnsThis (mut i32) (i32.const 0)) (global $constructor/ctorFieldInitOrder (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34320)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s") - (data (i32.const 1488) "\0e\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1448) "\02\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s") + (data (i32.const 1488) "\0f\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -124,7 +125,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -814,7 +815,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34316 + i32.const 34320 i32.lt_u if local.get $0 @@ -908,13 +909,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34316 + i32.const 34320 i32.lt_u if local.get $0 @@ -937,7 +938,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34316 + i32.const 34320 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1137,7 +1138,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1447,11 +1448,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/EmptyCtorWithFieldAccess $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorReturns $constructor/CtorConditionallyReturns $constructor/CtorConditionallyReturnsThis $constructor/CtorFieldInitOrder $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/EmptyCtorWithFieldAccess $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorReturns $constructor/CtorConditionallyReturns $constructor/CtorConditionallyReturnsThis $constructor/CtorFieldInitOrder $invalid + end + return end return end @@ -1498,7 +1502,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1508,7 +1512,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34316 + i32.const 34320 i32.sub i32.const 1 i32.shr_u @@ -1542,7 +1546,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1551,7 +1555,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1566,7 +1570,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1575,7 +1579,7 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1593,7 +1597,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1602,7 +1606,7 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1620,7 +1624,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1629,7 +1633,7 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1650,7 +1654,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1659,11 +1663,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1674,7 +1683,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1683,10 +1692,15 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 1 i32.store $0 @@ -1701,7 +1715,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1710,10 +1724,15 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 0 i32.store $0 @@ -1728,7 +1747,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1737,7 +1756,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new i32.store $0 global.get $~lib/memory/__stack_pointer @@ -1749,7 +1768,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1758,7 +1777,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1773,7 +1792,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1782,7 +1801,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1895,13 +1914,48 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 34336 - i32.const 34384 + i32.const 34352 + i32.const 34400 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1552 + i32.lt_s + if + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) @@ -1927,7 +1981,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1947,14 +2001,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34316 + i32.const 34320 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1968,7 +2022,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1990,7 +2044,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/declare.debug.wat b/tests/compiler/declare.debug.wat index eae9d11aca..5506d4c13f 100644 --- a/tests/compiler/declare.debug.wat +++ b/tests/compiler/declare.debug.wat @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/declare.release.wat b/tests/compiler/declare.release.wat index c30faa97ed..48f2fccadc 100644 --- a/tests/compiler/declare.release.wat +++ b/tests/compiler/declare.release.wat @@ -8,7 +8,7 @@ (import "declare" "my.externalFunction" (func $declare/my.externalFunction)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/do.debug.wat b/tests/compiler/do.debug.wat index 870a025f2f..2b691d9145 100644 --- a/tests/compiler/do.debug.wat +++ b/tests/compiler/do.debug.wat @@ -1,7 +1,7 @@ (module (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -25,20 +25,20 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 448)) - (global $~lib/memory/__data_end i32 (i32.const 468)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33236)) - (global $~lib/memory/__heap_base i32 (i32.const 33236)) + (global $~lib/memory/__data_end i32 (i32.const 472)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33240)) + (global $~lib/memory/__heap_base i32 (i32.const 33240)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00d\00o\00.\00t\00s\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00d\00o\00.\00t\00s\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 448) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 448) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -516,7 +516,7 @@ if i32.const 0 i32.const 128 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -586,7 +586,7 @@ if i32.const 0 i32.const 128 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -603,7 +603,7 @@ if i32.const 0 i32.const 128 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -654,7 +654,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -700,7 +700,7 @@ if (result i32) i32.const 0 i32.const 128 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1965,7 +1965,7 @@ if i32.const 0 i32.const 128 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2559,7 +2559,7 @@ if i32.const 64 i32.const 128 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2978,6 +2978,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2986,17 +2989,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $do/Ref block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $do/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $do/Ref $invalid + end + return end return end @@ -3027,6 +3036,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $do/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3042,11 +3079,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index 375fa33ebd..bfc0b3d03f 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) - (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,21 +17,21 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34260)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34264)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\n\00\00\00d\00o\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\n\00\00\00d\00o\00.\00t\00s") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1080) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1472) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -61,7 +61,7 @@ if i32.const 0 i32.const 1152 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -751,7 +751,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34260 + i32.const 34264 i32.lt_u if local.get $0 @@ -845,13 +845,13 @@ if i32.const 0 i32.const 1152 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34260 + i32.const 34264 i32.lt_u if local.get $0 @@ -874,7 +874,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34260 + i32.const 34264 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -993,23 +993,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1025,14 +1025,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1049,17 +1049,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1072,16 +1072,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1089,17 +1089,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1110,7 +1110,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1124,92 +1124,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1217,7 +1217,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1485,7 +1485,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34260 + i32.const 34264 i32.sub i32.const 1 i32.shr_u @@ -1520,7 +1520,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1492 + i32.const 1496 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1580,7 +1580,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1492 + i32.const 1496 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1682,11 +1682,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $do/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $do/Ref $invalid + end + return end return end @@ -1710,34 +1713,66 @@ ) (func $do/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1492 - i32.lt_s - if - i32.const 34288 - i32.const 34336 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1496 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1496 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34288 + i32.const 34336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1764,7 +1799,7 @@ if i32.const 0 i32.const 1152 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1784,14 +1819,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34260 + i32.const 34264 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1152 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1805,7 +1840,7 @@ if i32.const 0 i32.const 1152 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1827,7 +1862,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index ed4e11ea69..64cf6a7d1b 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -26,20 +26,20 @@ (global $duplicate-fields/foo (mut i32) (i32.const 0)) (global $duplicate-fields/raz (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 480)) - (global $~lib/memory/__data_end i32 (i32.const 524)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) - (global $~lib/memory/__heap_base i32 (i32.const 33292)) + (global $~lib/memory/__data_end i32 (i32.const 528)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33296)) + (global $~lib/memory/__heap_base i32 (i32.const 33296)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00-\00f\00i\00e\00l\00d\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 480) "\n\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00-\00f\00i\00e\00l\00d\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 480) "\0b\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -114,7 +114,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -184,7 +184,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -201,7 +201,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -252,7 +252,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -298,7 +298,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1563,7 +1563,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2157,7 +2157,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2225,7 +2225,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2354,6 +2354,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2362,9 +2365,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $duplicate-fields/A2~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2399,11 +2408,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $duplicate-fields/A $duplicate-fields/B $duplicate-fields/A2 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/B3 $duplicate-fields/A3 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $duplicate-fields/A $duplicate-fields/B $duplicate-fields/A2 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/B3 $duplicate-fields/A3 $invalid + end + return end return end @@ -2444,8 +2456,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33312 - i32.const 33360 + i32.const 33328 + i32.const 33376 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2575,7 +2587,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2609,7 +2621,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2649,7 +2661,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2683,7 +2695,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2723,7 +2735,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2742,6 +2754,34 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $duplicate-fields/A3#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2757,11 +2797,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $duplicate-fields/A3#set:prot @@ -2791,7 +2836,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 5dc40b9c26..76508d203d 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -19,21 +19,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $duplicate-fields/foo (mut i32) (i32.const 0)) (global $duplicate-fields/raz (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34320)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "<") - (data (i32.const 1448) "\01\00\00\00&\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00-\00f\00i\00e\00l\00d\00s\00.\00t\00s") - (data (i32.const 1504) "\n\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 1448) "\02\00\00\00&\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00-\00f\00i\00e\00l\00d\00s\00.\00t\00s") + (data (i32.const 1504) "\0b\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -75,7 +75,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -108,7 +108,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -128,14 +128,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34316 + i32.const 34320 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -149,7 +149,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -171,7 +171,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -897,7 +897,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34316 + i32.const 34320 i32.lt_u if local.get $0 @@ -991,13 +991,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34316 + i32.const 34320 i32.lt_u if local.get $0 @@ -1020,7 +1020,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34316 + i32.const 34320 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1220,7 +1220,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1525,7 +1525,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1581,11 +1581,14 @@ block $duplicate-fields/A block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $duplicate-fields/A $duplicate-fields/B $folding-inner0 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/B3 $duplicate-fields/A3 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $duplicate-fields/A $duplicate-fields/B $folding-inner0 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/B3 $duplicate-fields/A3 $invalid + end + return end return end @@ -1630,7 +1633,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1640,7 +1643,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34316 + i32.const 34320 i32.sub i32.const 1 i32.shr_u @@ -1674,7 +1677,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1683,7 +1686,7 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1696,7 +1699,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1707,7 +1710,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1755,7 +1758,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1764,14 +1767,14 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 - local.get $2 + local.get $1 i32.const 0 i32.store $0 - local.get $2 + local.get $1 i32.const 1 i32.store $0 global.get $~lib/memory/__stack_pointer @@ -1779,14 +1782,14 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1795,7 +1798,7 @@ i32.store $0 local.get $0 i32.const 4 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1803,12 +1806,12 @@ i32.const 0 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1819,7 +1822,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1828,17 +1831,17 @@ i32.const 0 call $duplicate-fields/A2#set:bar local.get $0 - local.get $2 + local.get $1 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 local.get $0 i32.store $0 local.get $0 - local.get $2 + local.get $1 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1872,7 +1875,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1881,7 +1884,7 @@ i32.store $0 local.get $0 i32.const 8 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1891,7 +1894,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1548 + i32.const 1552 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1902,11 +1905,40 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1552 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.const 0 i32.store $0 @@ -1936,8 +1968,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 34336 - i32.const 34384 + i32.const 34352 + i32.const 34400 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/empty-exportruntime.debug.wat b/tests/compiler/empty-exportruntime.debug.wat index a9e831fe7f..4a46a4e8fd 100644 --- a/tests/compiler/empty-exportruntime.debug.wat +++ b/tests/compiler/empty-exportruntime.debug.wat @@ -24,21 +24,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 544)) - (global $~lib/memory/__data_end i32 (i32.const 560)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33328)) - (global $~lib/memory/__heap_base i32 (i32.const 33328)) + (global $~lib/memory/__data_end i32 (i32.const 564)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33332)) + (global $~lib/memory/__heap_base i32 (i32.const 33332)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 544) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data (i32.const 544) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/itcms/__new)) @@ -113,7 +113,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -183,7 +183,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -200,7 +200,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -251,7 +251,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -297,7 +297,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1562,7 +1562,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2156,7 +2156,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2214,7 +2214,7 @@ if i32.const 432 i32.const 96 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -2246,7 +2246,7 @@ if i32.const 496 i32.const 96 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -2336,6 +2336,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2344,16 +2347,22 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/empty-exportruntime.release.wat b/tests/compiler/empty-exportruntime.release.wat index b436a85cb1..5ebb10c709 100644 --- a/tests/compiler/empty-exportruntime.release.wat +++ b/tests/compiler/empty-exportruntime.release.wat @@ -21,20 +21,20 @@ (global $~lib/rt/__rtti_base i32 (i32.const 1568)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "<") - (data (i32.const 1448) "\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1448) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") (data (i32.const 1500) "<") - (data (i32.const 1512) "\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1568) "\03\00\00\00 \00\00\00 ") + (data (i32.const 1512) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1568) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/itcms/__new)) (export "__pin" (func $~lib/rt/itcms/__pin)) (export "__unpin" (func $~lib/rt/itcms/__unpin)) @@ -73,7 +73,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -104,14 +104,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34352 + i32.const 34356 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -125,7 +125,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -157,7 +157,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -172,7 +172,7 @@ local.get $0 i32.load $0 offset=12 local.tee $2 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -757,10 +757,10 @@ if unreachable end - i32.const 34352 + i32.const 34368 i32.const 0 i32.store $0 - i32.const 35920 + i32.const 35936 i32.const 0 i32.store $0 loop $for-loop|0 @@ -771,7 +771,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34352 + i32.const 34368 i32.add i32.const 0 i32.store $0 offset=4 @@ -789,7 +789,7 @@ i32.add i32.const 2 i32.shl - i32.const 34352 + i32.const 34368 i32.add i32.const 0 i32.store $0 offset=96 @@ -807,13 +807,13 @@ br $for-loop|0 end end - i32.const 34352 - i32.const 35924 + i32.const 34368 + i32.const 35940 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34352 + i32.const 34368 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -894,11 +894,11 @@ i32.and i32.eq if - i32.const 34352 + i32.const 34356 local.set $0 loop $while-continue|0 local.get $0 - i32.const 34352 + i32.const 34356 i32.lt_u if local.get $0 @@ -992,13 +992,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34352 + i32.const 34356 i32.lt_u if local.get $0 @@ -1021,7 +1021,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34352 + i32.const 34356 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1221,7 +1221,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1533,7 +1533,7 @@ if i32.const 1456 i32.const 1120 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -1586,7 +1586,7 @@ if i32.const 1520 i32.const 1120 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -1665,11 +1665,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -1690,7 +1693,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34352 + i32.const 34356 i32.sub i32.const 1 i32.shr_u diff --git a/tests/compiler/empty-new.debug.wat b/tests/compiler/empty-new.debug.wat index 525b643ff4..28a68b98f5 100644 --- a/tests/compiler/empty-new.debug.wat +++ b/tests/compiler/empty-new.debug.wat @@ -1,6 +1,6 @@ (module - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -24,19 +24,19 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 432)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33200)) - (global $~lib/memory/__heap_base i32 (i32.const 33200)) + (global $~lib/memory/__data_end i32 (i32.const 436)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33204)) + (global $~lib/memory/__heap_base i32 (i32.const 33204)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -106,7 +106,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -176,7 +176,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -193,7 +193,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -244,7 +244,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -290,7 +290,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1555,7 +1555,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2149,7 +2149,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2227,6 +2227,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2235,16 +2238,22 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/empty-new.release.wat b/tests/compiler/empty-new.release.wat index 9d7061bfec..c9c483a759 100644 --- a/tests/compiler/empty-new.release.wat +++ b/tests/compiler/empty-new.release.wat @@ -19,16 +19,16 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\03\00\00\00 \00\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -58,7 +58,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -607,10 +607,10 @@ if unreachable end - i32.const 34224 + i32.const 34240 i32.const 0 i32.store $0 - i32.const 35792 + i32.const 35808 i32.const 0 i32.store $0 loop $for-loop|0 @@ -621,7 +621,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34224 + i32.const 34240 i32.add i32.const 0 i32.store $0 offset=4 @@ -639,7 +639,7 @@ i32.add i32.const 2 i32.shl - i32.const 34224 + i32.const 34240 i32.add i32.const 0 i32.store $0 offset=96 @@ -657,13 +657,13 @@ br $for-loop|0 end end - i32.const 34224 - i32.const 35796 + i32.const 34240 + i32.const 35812 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34224 + i32.const 34240 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -744,11 +744,11 @@ i32.and i32.eq if - i32.const 34224 + i32.const 34228 local.set $0 loop $while-continue|0 local.get $0 - i32.const 34224 + i32.const 34228 i32.lt_u if local.get $0 @@ -842,13 +842,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34224 + i32.const 34228 i32.lt_u if local.get $0 @@ -871,7 +871,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34224 + i32.const 34228 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1226,11 +1226,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -1251,7 +1254,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34224 + i32.const 34228 i32.sub i32.const 1 i32.shr_u @@ -1307,7 +1310,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1327,14 +1330,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34224 + i32.const 34228 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1348,7 +1351,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1370,7 +1373,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/exportimport-table.debug.wat b/tests/compiler/exportimport-table.debug.wat index 2316428610..b9cc6cc220 100644 --- a/tests/compiler/exportimport-table.debug.wat +++ b/tests/compiler/exportimport-table.debug.wat @@ -6,7 +6,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (elem $0 (i32.const 1) $start:exportimport-table~anonymous|0) (export "memory" (memory $0)) (export "table" (table $0)) diff --git a/tests/compiler/exportimport-table.release.wat b/tests/compiler/exportimport-table.release.wat index b65971b94a..0f188bba59 100644 --- a/tests/compiler/exportimport-table.release.wat +++ b/tests/compiler/exportimport-table.release.wat @@ -3,7 +3,7 @@ (import "env" "table" (table $0 2 funcref)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (elem $0 (i32.const 1) $start:exportimport-table~anonymous|0) (export "memory" (memory $0)) (export "table" (table $0)) diff --git a/tests/compiler/exports-lazy.debug.wat b/tests/compiler/exports-lazy.debug.wat index 9d08471866..6a554f5d04 100644 --- a/tests/compiler/exports-lazy.debug.wat +++ b/tests/compiler/exports-lazy.debug.wat @@ -6,10 +6,10 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32940)) (global $~lib/memory/__heap_base i32 (i32.const 32940)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00p\00\00\00p\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00p\00\00\00p\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "lazyGlobalUnused" (global $exports-lazy/lazyGlobalUnused)) diff --git a/tests/compiler/exports-lazy.release.wat b/tests/compiler/exports-lazy.release.wat index 50251fcceb..7c57e8ad76 100644 --- a/tests/compiler/exports-lazy.release.wat +++ b/tests/compiler/exports-lazy.release.wat @@ -3,13 +3,13 @@ (global $exports-lazy/lazyGlobalUnused i32 (i32.const 1168)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1052) "\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 1068) ",") - (data (i32.const 1080) "\03\00\00\00\10\00\00\00 \04\00\00 \04\00\00\0c\00\00\00\03") + (data (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\0c\00\00\00\03") (data (i32.const 1116) "\1c") - (data (i32.const 1132) "\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 1128) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 1148) ",") - (data (i32.const 1160) "\03\00\00\00\10\00\00\00p\04\00\00p\04\00\00\0c\00\00\00\03") + (data (i32.const 1160) "\04\00\00\00\10\00\00\00p\04\00\00p\04\00\00\0c\00\00\00\03") (export "lazyGlobalUnused" (global $exports-lazy/lazyGlobalUnused)) (export "lazyGlobalUsed" (global $exports-lazy/lazyGlobalUsed)) (export "memory" (memory $0)) diff --git a/tests/compiler/exportstar-rereexport.debug.wat b/tests/compiler/exportstar-rereexport.debug.wat index c7f6f695ff..6e6a5ee404 100644 --- a/tests/compiler/exportstar-rereexport.debug.wat +++ b/tests/compiler/exportstar-rereexport.debug.wat @@ -33,21 +33,21 @@ (global $rereexport/car (mut i32) (i32.const 0)) (global $rereexport/exportsNamespaceCar (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 512)) - (global $~lib/memory/__data_end i32 (i32.const 532)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33300)) - (global $~lib/memory/__heap_base i32 (i32.const 33300)) + (global $~lib/memory/__data_end i32 (i32.const 536)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33304)) + (global $~lib/memory/__heap_base i32 (i32.const 33304)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") - (data (i32.const 512) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") + (data (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "a" (global $export/a)) @@ -143,7 +143,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -213,7 +213,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -230,7 +230,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -281,7 +281,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -327,7 +327,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1592,7 +1592,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2186,7 +2186,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2276,6 +2276,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2284,17 +2287,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $exports/Car block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + end + return end return end @@ -2546,7 +2555,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index 40e8723315..883c616253 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -22,23 +22,23 @@ (global $reexport/car (mut i32) (i32.const 0)) (global $rereexport/car (mut i32) (i32.const 0)) (global $rereexport/exportsNamespaceCar (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34324)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34328)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1484) ",") - (data (i32.const 1496) "\01\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1536) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1496) "\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) @@ -92,7 +92,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -782,7 +782,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u if local.get $0 @@ -876,13 +876,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u if local.get $0 @@ -905,7 +905,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34324 + i32.const 34328 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1211,7 +1211,7 @@ i32.store $0 end local.get $0 - i32.const 3 + i32.const 4 i32.store $0 offset=12 local.get $0 i32.const 4 @@ -1265,11 +1265,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + end + return end return end @@ -1297,7 +1300,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1309,7 +1312,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1318,7 +1321,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34324 + i32.const 34328 i32.sub i32.const 1 i32.shr_u @@ -1426,7 +1429,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s if i32.const 34352 @@ -1481,7 +1484,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1501,14 +1504,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34324 + i32.const 34328 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1522,7 +1525,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1544,7 +1547,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index eff4d36290..dd7f256cc2 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -28,25 +28,25 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 672)) - (global $~lib/memory/__data_end i32 (i32.const 712)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33480)) - (global $~lib/memory/__heap_base i32 (i32.const 33480)) + (global $~lib/memory/__data_end i32 (i32.const 716)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33484)) + (global $~lib/memory/__heap_base i32 (i32.const 33484)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\10\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\10\00\00\00p\00\00\00p\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\10\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\10\00\00\00p\00\00\00p\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 672) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\02A\00\00") + (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 672) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -116,7 +116,7 @@ if i32.const 0 i32.const 256 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -186,7 +186,7 @@ if i32.const 0 i32.const 256 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -203,7 +203,7 @@ if i32.const 0 i32.const 256 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -254,7 +254,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -300,7 +300,7 @@ if (result i32) i32.const 0 i32.const 256 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1565,7 +1565,7 @@ if i32.const 0 i32.const 256 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2159,7 +2159,7 @@ if i32.const 192 i32.const 256 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2228,7 +2228,7 @@ if i32.const 0 i32.const 256 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2518,6 +2518,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2526,9 +2529,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $extends-baseaggregate/B1~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2540,6 +2549,9 @@ (func $extends-baseaggregate/A1~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 offset=16 local.tee $2 if @@ -2551,6 +2563,9 @@ (func $extends-baseaggregate/C1~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2622,6 +2637,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2676,6 +2694,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2691,11 +2712,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $extends-baseaggregate/B1 $extends-baseaggregate/A1 $extends-baseaggregate/C1 $extends-baseaggregate/A2 $~lib/array/Array $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $extends-baseaggregate/B1 $extends-baseaggregate/A1 $extends-baseaggregate/C1 $extends-baseaggregate/A2 $~lib/array/Array $~lib/array/Array $invalid + end + return end return end @@ -2805,6 +2829,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $extends-baseaggregate/A1#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2820,11 +2872,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this f64.const 0 call $extends-baseaggregate/A1#set:padding0 @@ -2857,7 +2914,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 5c4a3e3c17..b8fe1b7508 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -17,30 +17,32 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34504)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34508)) (memory $0 1) (data (i32.const 1036) "\1c") + (data (i32.const 1048) "\01") (data (i32.const 1068) ",") - (data (i32.const 1080) "\07\00\00\00\10\00\00\00 \04\00\00 \04") + (data (i32.const 1080) "\08\00\00\00\10\00\00\00 \04\00\00 \04") (data (i32.const 1116) "\1c") + (data (i32.const 1128) "\01") (data (i32.const 1148) ",") - (data (i32.const 1160) "\08\00\00\00\10\00\00\00p\04\00\00p\04") + (data (i32.const 1160) "\t\00\00\00\10\00\00\00p\04\00\00p\04") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1208) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1272) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1388) "<") - (data (i32.const 1400) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1400) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1452) ",") - (data (i32.const 1464) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1464) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1532) "<") - (data (i32.const 1544) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1544) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1596) ",") - (data (i32.const 1608) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1608) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1644) ",") - (data (i32.const 1656) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1696) "\t\00\00\00 \00\00\00 ") - (data (i32.const 1728) "\02A\00\00\02A") + (data (i32.const 1656) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1696) "\n\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1732) "\02A\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -76,7 +78,7 @@ if i32.const 0 i32.const 1280 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -109,7 +111,7 @@ if i32.const 0 i32.const 1280 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -129,14 +131,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34504 + i32.const 34508 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1280 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -150,7 +152,7 @@ if i32.const 0 i32.const 1280 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -172,7 +174,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -898,7 +900,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34504 + i32.const 34508 i32.lt_u if local.get $0 @@ -992,13 +994,13 @@ if i32.const 0 i32.const 1280 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34504 + i32.const 34508 i32.lt_u if local.get $0 @@ -1021,7 +1023,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34504 + i32.const 34508 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1221,7 +1223,7 @@ if i32.const 1216 i32.const 1280 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1515,7 +1517,7 @@ memory.fill $0 local.get $1 ) - (func $~lib/array/Array#__visit (type $i32_=>_none) (param $0 i32) + (func $~lib/array/Array~visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1563,22 +1565,25 @@ block $~lib/array/Array block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $~lib/array/Array $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $~lib/array/Array $~lib/array/Array $invalid + end + return end return end return end local.get $0 - call $~lib/array/Array#__visit + call $~lib/array/Array~visit return end local.get $0 - call $~lib/array/Array#__visit + call $~lib/array/Array~visit return end unreachable @@ -1614,7 +1619,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1736 + i32.const 1740 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1624,7 +1629,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34504 + i32.const 34508 i32.sub i32.const 1 i32.shr_u @@ -1661,7 +1666,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1736 + i32.const 1740 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1670,7 +1675,7 @@ i32.store $0 local.get $0 i32.const 20 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -1680,7 +1685,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1736 + i32.const 1740 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1691,11 +1696,40 @@ if global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $5 + i32.store $0 local.get $5 f64.const 0 f64.store $0 diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index b5bcfd00b6..cc640666cb 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -24,19 +24,19 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 440)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) - (global $~lib/memory/__heap_base i32 (i32.const 33208)) + (global $~lib/memory/__data_end i32 (i32.const 444)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) + (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -106,7 +106,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -176,7 +176,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -193,7 +193,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -244,7 +244,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -290,7 +290,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1555,7 +1555,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2149,7 +2149,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2208,7 +2208,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2303,6 +2303,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2311,6 +2314,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $extends-recursive/Child~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2319,6 +2325,9 @@ (func $extends-recursive/Parent~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2334,11 +2343,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $extends-recursive/Child $extends-recursive/Parent $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $extends-recursive/Child $extends-recursive/Parent $invalid + end + return end return end @@ -2377,6 +2389,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $extends-recursive/Parent#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2392,11 +2432,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $extends-recursive/Parent#set:child @@ -2423,7 +2468,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index c2aaa851b5..a335987d83 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -1,7 +1,7 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) @@ -17,19 +17,19 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34236)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\05\00\00\00 \00\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -59,7 +59,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -749,7 +749,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34232 + i32.const 34236 i32.lt_u if local.get $0 @@ -843,13 +843,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34232 + i32.const 34236 i32.lt_u if local.get $0 @@ -872,7 +872,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34232 + i32.const 34236 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -934,18 +934,83 @@ end i32.const 0 ) - (func $~lib/rt/tlsf/searchBlock (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + local.get $1 + local.get $1 + i32.const 536870910 + i32.lt_u + select + local.tee $1 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $2 + local.get $1 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $1 + i32.const 16 + i32.lt_u + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 330 + i32.const 14 + call $~lib/builtins/abort + unreachable + end local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add i32.load $0 offset=4 - i32.const -2 + i32.const -1 + local.get $1 + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add i32.const 2 i32.shl i32.add @@ -953,19 +1018,23 @@ else local.get $0 i32.load $0 - i32.const -2 + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz - local.tee $2 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 offset=4 - local.tee $1 + local.tee $2 i32.eqz if i32.const 0 @@ -976,9 +1045,9 @@ unreachable end local.get $0 - local.get $1 - i32.ctz local.get $2 + i32.ctz + local.get $1 i32.const 4 i32.shl i32.add @@ -991,23 +1060,35 @@ end end ) - (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/itcms/__new (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 1073741804 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 261 + i32.const 31 + call $~lib/builtins/abort + unreachable + end global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $1 + local.set $2 loop $do-loop|0 - local.get $1 + local.get $2 call $~lib/rt/itcms/step i32.sub - local.set $1 + local.set $2 global.get $~lib/rt/itcms/state i32.eqz if @@ -1023,14 +1104,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $1 + local.get $2 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1047,31 +1128,75 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT + local.set $4 + local.get $0 + i32.const 16 + i32.add local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1392 + i32.const 458 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 12 + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.get $2 + i32.const 12 + i32.le_u + select + local.tee $5 call $~lib/rt/tlsf/searchBlock - local.tee $1 + local.tee $2 i32.eqz if memory.size $0 - local.tee $1 + local.tee $2 i32.const 4 - local.get $2 + local.get $4 i32.load $0 offset=1568 - local.get $1 + local.get $2 i32.const 16 i32.shl i32.const 4 i32.sub i32.ne i32.shl - i32.const 65563 + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.get $5 + local.get $5 + i32.const 536870910 + i32.lt_u + select + i32.add + i32.const 65535 i32.add i32.const -65536 i32.and i32.const 16 i32.shr_u local.tee $3 - local.get $1 + local.get $2 local.get $3 i32.gt_s select @@ -1087,17 +1212,18 @@ unreachable end end + local.get $4 local.get $2 - local.get $1 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $2 + local.get $4 + local.get $5 call $~lib/rt/tlsf/searchBlock - local.tee $1 + local.tee $2 i32.eqz if i32.const 0 @@ -1108,12 +1234,12 @@ unreachable end end - local.get $1 + local.get $5 + local.get $2 i32.load $0 i32.const -4 i32.and - i32.const 28 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1122,92 +1248,108 @@ call $~lib/builtins/abort unreachable end + local.get $4 local.get $2 - local.get $1 call $~lib/rt/tlsf/removeBlock - local.get $1 + local.get $2 i32.load $0 - local.tee $3 + local.set $3 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1392 + i32.const 357 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const -4 i32.and - i32.const 28 + local.get $5 i32.sub - local.tee $4 + local.tee $6 i32.const 16 i32.ge_u if - local.get $1 + local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - i32.const 28 i32.or i32.store $0 - local.get $1 - i32.const 32 + local.get $2 + i32.const 4 + i32.add + local.get $5 i32.add local.tee $3 - local.get $4 + local.get $6 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $2 + local.get $4 local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $1 + local.get $2 local.get $3 i32.const -2 i32.and i32.store $0 - local.get $1 + local.get $2 i32.const 4 i32.add - local.get $1 + local.get $2 i32.load $0 i32.const -4 i32.and i32.add - local.tee $2 - local.get $2 + local.tee $3 + local.get $3 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $2 local.get $1 - local.get $0 i32.store $0 offset=12 - local.get $1 - i32.const 4 + local.get $2 + local.get $0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $0 + local.tee $1 i32.load $0 offset=8 - local.set $2 + local.set $3 + local.get $2 local.get $1 - local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $1 local.get $2 + local.get $3 i32.store $0 offset=8 + local.get $3 local.get $2 - local.get $1 - local.get $2 + local.get $3 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $0 local.get $1 + local.get $2 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $1 + local.get $2 i32.load $0 i32.const -4 i32.and @@ -1215,24 +1357,28 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $1 + local.get $2 i32.const 20 i32.add - local.tee $0 + local.tee $1 i32.const 0 - i32.store $0 align=1 local.get $0 + memory.fill $0 + local.get $1 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $folding-inner0 block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1251,11 +1397,12 @@ (func $~start (type $none_=>_none) (local $0 i32) (local $1 i32) + (local $2 i32) block $__inlined_func$start:extends-recursive memory.size $0 i32.const 16 i32.shl - i32.const 34232 + i32.const 34236 i32.sub i32.const 1 i32.shr_u @@ -1290,7 +1437,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1464 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1298,17 +1445,18 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 3 + i32.const 4 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1464 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1319,13 +1467,33 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1333,6 +1501,16 @@ local.get $1 local.get $0 i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1372,7 +1550,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1392,14 +1570,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34232 + i32.const 34236 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1413,7 +1591,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1435,7 +1613,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/features/gc.debug.wat b/tests/compiler/features/gc.debug.wat index 2f3d12527d..3ba6dc9936 100644 --- a/tests/compiler/features/gc.debug.wat +++ b/tests/compiler/features/gc.debug.wat @@ -14,7 +14,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32828)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "globalFunc" (global $features/gc/globalFunc)) diff --git a/tests/compiler/features/gc.release.wat b/tests/compiler/features/gc.release.wat index 210ed85abe..fed3c65cd9 100644 --- a/tests/compiler/features/gc.release.wat +++ b/tests/compiler/features/gc.release.wat @@ -9,7 +9,7 @@ (global $features/gc/globalArray arrayref (ref.null none)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s") (export "globalFunc" (global $features/gc/globalFunc)) (export "globalExtern" (global $features/gc/globalExtern)) (export "globalAny" (global $features/gc/globalAny)) diff --git a/tests/compiler/features/reference-types.debug.wat b/tests/compiler/features/reference-types.debug.wat index 397448f865..356eab9595 100644 --- a/tests/compiler/features/reference-types.debug.wat +++ b/tests/compiler/features/reference-types.debug.wat @@ -20,8 +20,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32924)) (global $~lib/memory/__heap_base i32 (i32.const 32924)) (memory $0 1) - (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (elem declare func $features/reference-types/someFunc) diff --git a/tests/compiler/features/reference-types.release.wat b/tests/compiler/features/reference-types.release.wat index 679413732e..3fd3becfa9 100644 --- a/tests/compiler/features/reference-types.release.wat +++ b/tests/compiler/features/reference-types.release.wat @@ -14,9 +14,9 @@ (global $features/reference-types/nonNullReal (mut externref) (ref.null noextern)) (memory $0 1) (data (i32.const 1036) "L") - (data (i32.const 1048) "\01\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s") (data (i32.const 1116) "<") - (data (i32.const 1128) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1128) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (elem declare func $features/reference-types/someFunc) (export "external" (func $features/reference-types/external)) (export "somethingReal" (func $features/reference-types/somethingReal)) diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index f9896b3723..14f9c05be7 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -27,27 +27,27 @@ (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 768)) - (global $~lib/memory/__data_end i32 (i32.const 872)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33640)) - (global $~lib/memory/__heap_base i32 (i32.const 33640)) + (global $~lib/memory/__data_end i32 (i32.const 876)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33644)) + (global $~lib/memory/__heap_base i32 (i32.const 33644)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00b\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00b\00b\00b\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\19\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00b\00b\00\00\00\00\00\00\00") + (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") + (data (i32.const 768) "\1a\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -117,7 +117,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -187,7 +187,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -204,7 +204,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -255,7 +255,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -301,7 +301,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1566,7 +1566,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2160,7 +2160,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2237,7 +2237,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2695,6 +2695,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2703,9 +2706,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $field-initialization/Ref_Init~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2717,6 +2726,9 @@ (func $field-initialization/Nullable_Init~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2728,6 +2740,9 @@ (func $field-initialization/Nullable~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2739,6 +2754,9 @@ (func $field-initialization/Ref_Init_Ctor~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2750,6 +2768,9 @@ (func $field-initialization/Ref_Ctor_Init~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2761,6 +2782,9 @@ (func $field-initialization/Ref_Ctor_Param~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2772,6 +2796,9 @@ (func $field-initialization/Nullable_Ctor~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2783,6 +2810,9 @@ (func $field-initialization/Nullable_Init_Ctor~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2794,6 +2824,9 @@ (func $field-initialization/Nullable_Ctor_Init~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2810,6 +2843,9 @@ (func $field-initialization/Inherit_Base~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2826,6 +2862,9 @@ (func $field-initialization/SomeObject~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 offset=4 local.tee $2 if @@ -2851,6 +2890,9 @@ (func $field-initialization/Flow_Balanced~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2862,6 +2904,9 @@ (func $field-initialization/Ref_Init_InlineCtor~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2873,6 +2918,9 @@ (func $field-initialization/Ref_InlineCtor_Init~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2908,11 +2956,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field-initialization/Value_Init $field-initialization/Value $field-initialization/Ref_Init $field-initialization/Nullable_Init $field-initialization/Nullable $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $field-initialization/Ref_Init_Ctor $field-initialization/Ref_Ctor_Init $field-initialization/Ref_Ctor_Param $field-initialization/Nullable_Ctor $field-initialization/Nullable_Init_Ctor $field-initialization/Nullable_Ctor_Init $field-initialization/Inherit $field-initialization/Inherit_Base $field-initialization/Inherit_Ctor $field-initialization/SomeObject $field-initialization/SomeOtherObject $field-initialization/Flow_Balanced $field-initialization/Ref_Init_InlineCtor $field-initialization/Ref_InlineCtor_Init $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field-initialization/Value_Init $field-initialization/Value $field-initialization/Ref_Init $field-initialization/Nullable_Init $field-initialization/Nullable $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $field-initialization/Ref_Init_Ctor $field-initialization/Ref_Ctor_Init $field-initialization/Ref_Ctor_Param $field-initialization/Nullable_Ctor $field-initialization/Nullable_Init_Ctor $field-initialization/Nullable_Ctor_Init $field-initialization/Inherit $field-initialization/Inherit_Base $field-initialization/Inherit_Ctor $field-initialization/SomeObject $field-initialization/SomeOtherObject $field-initialization/Flow_Balanced $field-initialization/Ref_Init_InlineCtor $field-initialization/Ref_InlineCtor_Init $invalid + end + return end return end @@ -3051,11 +3102,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 i32.const 0 @@ -3089,11 +3145,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 i32.const 0 @@ -3127,7 +3188,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3165,7 +3226,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3206,7 +3267,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3244,7 +3305,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3285,11 +3346,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 18 + i32.const 19 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 i32.const 0 @@ -3323,7 +3389,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 22 + i32.const 23 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4115,7 +4181,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 23 + i32.const 24 call $~lib/rt/itcms/__new local.tee $30 i32.store $0 offset=128 @@ -4154,7 +4220,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 24 + i32.const 25 call $~lib/rt/itcms/__new local.tee $32 i32.store $0 offset=136 @@ -4193,6 +4259,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $field-initialization/Value_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4208,11 +4302,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 1 call $field-initialization/Value_Init#set:a @@ -4239,11 +4338,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $field-initialization/Value#set:a @@ -4279,7 +4383,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -4310,11 +4414,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $field-initialization/Nullable#set:a @@ -4341,7 +4450,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4372,7 +4481,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4403,7 +4512,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4437,7 +4546,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4468,7 +4577,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4499,7 +4608,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4532,7 +4641,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 19 + i32.const 20 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4565,11 +4674,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 20 + i32.const 21 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $field-initialization/SomeObject#set:a @@ -4599,7 +4713,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index 850e278d41..6c46f0ddf4 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -18,36 +18,36 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34664)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34668)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "L") - (data (i32.const 1448) "\01\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s") + (data (i32.const 1448) "\02\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1528) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1564) "<") - (data (i32.const 1576) "\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 1576) "\02\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 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\02\00\00\00b") + (data (i32.const 1640) "\02\00\00\00\02\00\00\00b") (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\01\00\00\00\04\00\00\00b\00b") + (data (i32.const 1672) "\02\00\00\00\04\00\00\00b\00b") (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\01\00\00\00\02\00\00\00c") + (data (i32.const 1704) "\02\00\00\00\02\00\00\00c") (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\01\00\00\00\06\00\00\00b\00b\00b") + (data (i32.const 1736) "\02\00\00\00\06\00\00\00b\00b\00b") (data (i32.const 1756) "\1c") - (data (i32.const 1768) "\01\00\00\00\04\00\00\00c\00c") - (data (i32.const 1792) "\19\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") - (data (i32.const 1828) " \00\00\00 \00\00\00 ") + (data (i32.const 1768) "\02\00\00\00\04\00\00\00c\00c") + (data (i32.const 1792) "\1a\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 1832) " \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -79,7 +79,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -112,7 +112,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -132,14 +132,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34664 + i32.const 34668 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -153,7 +153,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -175,7 +175,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -901,7 +901,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34664 + i32.const 34668 i32.lt_u if local.get $0 @@ -995,13 +995,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34664 + i32.const 34668 i32.lt_u if local.get $0 @@ -1024,7 +1024,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34664 + i32.const 34668 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1224,7 +1224,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1649,11 +1649,14 @@ block $field-initialization/Value_Init block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $field-initialization/Value_Init $field-initialization/Value $folding-inner0 $folding-inner0 $folding-inner0 $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $field-initialization/SomeObject $field-initialization/SomeOtherObject $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $field-initialization/Value_Init $field-initialization/Value $folding-inner0 $folding-inner0 $folding-inner0 $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $field-initialization/SomeObject $field-initialization/SomeOtherObject $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1723,7 +1726,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s if i32.const 34688 @@ -1741,30 +1744,35 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 18 + i32.const 19 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 + i32.store $0 offset=4 local.get $1 + local.get $0 i32.store $0 - local.get $1 + local.get $0 if - local.get $0 local.get $1 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 ) (func $start:field-initialization (type $none_=>_none) (local $0 i32) @@ -1776,7 +1784,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1787,7 +1795,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34664 + i32.const 34668 i32.sub i32.const 1 i32.shr_u @@ -1821,7 +1829,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1830,10 +1838,15 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 local.get $1 i32.const 1 i32.store $0 @@ -1862,7 +1875,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1871,10 +1884,15 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 local.get $1 i32.const 0 i32.store $0 @@ -1901,7 +1919,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1910,10 +1928,15 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -1952,7 +1975,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1961,10 +1984,15 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -2003,7 +2031,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2012,10 +2040,15 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 local.get $1 i32.const 0 i32.store $0 @@ -2042,7 +2075,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2051,7 +2084,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2081,7 +2114,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2090,7 +2123,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2122,7 +2155,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2131,7 +2164,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2166,7 +2199,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2175,7 +2208,7 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2217,7 +2250,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2226,7 +2259,7 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2276,7 +2309,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2285,7 +2318,7 @@ i32.store $0 local.get $2 i32.const 4 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -2323,7 +2356,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2332,7 +2365,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2362,7 +2395,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2371,7 +2404,7 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2413,7 +2446,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2422,7 +2455,7 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2467,7 +2500,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2476,7 +2509,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2509,7 +2542,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2518,7 +2551,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 19 + i32.const 20 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2897,7 +2930,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2906,7 +2939,7 @@ i64.store $0 local.get $1 i32.const 4 - i32.const 22 + i32.const 23 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -2948,7 +2981,7 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 4 - i32.const 23 + i32.const 24 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=128 @@ -2983,7 +3016,7 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 4 - i32.const 24 + i32.const 25 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=136 @@ -3031,6 +3064,41 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1900 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $~lib/arraybuffer/ArrayBuffer#constructor (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -3038,7 +3106,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s if i32.const 34688 @@ -3054,7 +3122,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3070,7 +3138,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s if i32.const 34688 @@ -3088,11 +3156,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 20 + i32.const 21 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 local.get $0 i32.const 0 i32.store $0 @@ -3112,7 +3185,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.const 1900 i32.lt_s if i32.const 34688 @@ -3128,7 +3201,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3171,7 +3244,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/field.debug.wat b/tests/compiler/field.debug.wat index 0ae8e9b82c..74f7e81c63 100644 --- a/tests/compiler/field.debug.wat +++ b/tests/compiler/field.debug.wat @@ -25,20 +25,20 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 448)) - (global $~lib/memory/__data_end i32 (i32.const 476)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33244)) - (global $~lib/memory/__heap_base i32 (i32.const 33244)) + (global $~lib/memory/__data_end i32 (i32.const 480)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33248)) + (global $~lib/memory/__heap_base i32 (i32.const 33248)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 448) "\06\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\02A\00\00\02\t\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 448) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\02A\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -108,7 +108,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -178,7 +178,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -195,7 +195,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -246,7 +246,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -292,7 +292,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1557,7 +1557,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2151,7 +2151,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2225,7 +2225,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2396,6 +2396,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2404,9 +2407,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $field/NoStaticConflict~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2473,6 +2482,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -2490,6 +2502,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2502,11 +2517,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field/NoStaticConflict $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field/NoStaticConflict $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + end + return end return end @@ -2542,8 +2560,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33264 - i32.const 33312 + i32.const 33280 + i32.const 33328 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2567,15 +2585,20 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 i32.const 2 - i32.const 4 + i32.const 5 i32.const 432 call $~lib/rt/__newArray local.set $3 @@ -2592,6 +2615,34 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) (local $buffer i32) @@ -2611,7 +2662,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index 2cb896acaa..211e83227c 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -17,21 +17,22 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34268)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34272)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "\1c") - (data (i32.const 1472) "\06\00\00\00 \00\00\00 ") - (data (i32.const 1492) "\02A\00\00\02\t") + (data (i32.const 1448) "\01") + (data (i32.const 1472) "\07\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1496) "\02A\00\00\02\t") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -61,7 +62,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -94,7 +95,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -114,14 +115,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34268 + i32.const 34272 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -135,7 +136,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -157,7 +158,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -883,7 +884,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34268 + i32.const 34272 i32.lt_u if local.get $0 @@ -977,13 +978,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34268 + i32.const 34272 i32.lt_u if local.get $0 @@ -1006,7 +1007,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34268 + i32.const 34272 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1206,7 +1207,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1504,62 +1505,55 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/array/Array<~lib/string/String> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer + block $folding-inner0 + block $invalid + block $~lib/array/Array<~lib/string/String> + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object local.get $0 i32.const 8 i32.sub i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/string/String> $folding-inner1 $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/string/String> $folding-inner0 $invalid end return end return end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 + return + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if local.get $1 - local.get $3 - i32.lt_u + i32.load $0 + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner1 end - unreachable + br $folding-inner0 end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return + unreachable end local.get $0 i32.load $0 @@ -1577,7 +1571,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34268 + i32.const 34272 i32.sub i32.const 1 i32.shr_u @@ -1613,7 +1607,7 @@ block $__inlined_func$field/testNoStaticConflict block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1500 + i32.const 1504 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1625,7 +1619,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1500 + i32.const 1504 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1634,24 +1628,53 @@ i64.store $0 local.get $0 i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1500 + i32.const 1504 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 + i32.store $0 i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.const 1456 @@ -1661,7 +1684,7 @@ local.get $3 i32.store $0 i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $2 local.get $3 @@ -1710,8 +1733,8 @@ global.set $~lib/memory/__stack_pointer br $__inlined_func$field/testNoStaticConflict end - i32.const 34288 - i32.const 34336 + i32.const 34304 + i32.const 34352 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1776,7 +1799,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/for.debug.wat b/tests/compiler/for.debug.wat index 973ac997da..ed260127e2 100644 --- a/tests/compiler/for.debug.wat +++ b/tests/compiler/for.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -25,20 +25,20 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 448)) - (global $~lib/memory/__data_end i32 (i32.const 468)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33236)) - (global $~lib/memory/__heap_base i32 (i32.const 33236)) + (global $~lib/memory/__data_end i32 (i32.const 472)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33240)) + (global $~lib/memory/__heap_base i32 (i32.const 33240)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 448) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 448) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -533,7 +533,7 @@ if i32.const 0 i32.const 128 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -603,7 +603,7 @@ if i32.const 0 i32.const 128 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -620,7 +620,7 @@ if i32.const 0 i32.const 128 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -671,7 +671,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -717,7 +717,7 @@ if (result i32) i32.const 0 i32.const 128 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1982,7 +1982,7 @@ if i32.const 0 i32.const 128 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2576,7 +2576,7 @@ if i32.const 64 i32.const 128 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3027,6 +3027,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3035,17 +3038,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $for/Ref block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $for/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $for/Ref $invalid + end + return end return end @@ -3076,6 +3085,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $for/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3091,11 +3128,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 91f9def1ff..6c4b3d18a0 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) - (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,21 +17,21 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34260)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34264)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1080) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1472) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -61,7 +61,7 @@ if i32.const 0 i32.const 1152 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -751,7 +751,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34260 + i32.const 34264 i32.lt_u if local.get $0 @@ -845,13 +845,13 @@ if i32.const 0 i32.const 1152 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34260 + i32.const 34264 i32.lt_u if local.get $0 @@ -874,7 +874,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34260 + i32.const 34264 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -993,23 +993,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1025,14 +1025,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1049,17 +1049,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1072,16 +1072,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1089,17 +1089,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1110,7 +1110,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1124,92 +1124,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1217,7 +1217,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1469,7 +1469,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34260 + i32.const 34264 i32.sub i32.const 1 i32.shr_u @@ -1504,7 +1504,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1492 + i32.const 1496 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1567,7 +1567,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1492 + i32.const 1496 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1678,11 +1678,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $for/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $for/Ref $invalid + end + return end return end @@ -1706,34 +1709,66 @@ ) (func $for/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1492 - i32.lt_s - if - i32.const 34288 - i32.const 34336 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1496 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1496 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34288 + i32.const 34336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1760,7 +1795,7 @@ if i32.const 0 i32.const 1152 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1780,14 +1815,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34260 + i32.const 34264 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1152 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1801,7 +1836,7 @@ if i32.const 0 i32.const 1152 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1823,7 +1858,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/function-call.debug.wat b/tests/compiler/function-call.debug.wat index b6973f7291..ea36c95707 100644 --- a/tests/compiler/function-call.debug.wat +++ b/tests/compiler/function-call.debug.wat @@ -31,28 +31,28 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $function-call/foo (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 736)) - (global $~lib/memory/__data_end i32 (i32.const 776)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33544)) - (global $~lib/memory/__heap_base i32 (i32.const 33544)) + (global $~lib/memory/__data_end i32 (i32.const 780)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33548)) + (global $~lib/memory/__heap_base i32 (i32.const 33548)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 736) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 736) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 9 9 funcref) (elem $0 (i32.const 1) $start:function-call~anonymous|0 $start:function-call~anonymous|1 $start:function-call~anonymous|2 $start:function-call~anonymous|3 $start:function-call~fn2|4 $function-call/Foo#fnVoid $function-call/Foo#fnThis $function-call/Foo#fnRet) (export "memory" (memory $0)) @@ -141,7 +141,7 @@ if i32.const 0 i32.const 320 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -211,7 +211,7 @@ if i32.const 0 i32.const 320 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -228,7 +228,7 @@ if i32.const 0 i32.const 320 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -279,7 +279,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -325,7 +325,7 @@ if (result i32) i32.const 0 i32.const 320 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1590,7 +1590,7 @@ if i32.const 0 i32.const 320 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2184,7 +2184,7 @@ if i32.const 256 i32.const 320 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2257,6 +2257,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2265,6 +2268,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2276,6 +2282,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>void>#__visit @@ -2291,6 +2300,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit @@ -2306,6 +2318,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28this:i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28this:i32%29=>i32>#__visit @@ -2321,6 +2336,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28this:function-call/Foo%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28this:function-call/Foo%29=>void>#__visit @@ -2336,6 +2354,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#__visit @@ -2351,11 +2372,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28this:i32%29=>i32> $function-call/Foo $~lib/function/Function<%28this:function-call/Foo%29=>void> $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28this:i32%29=>i32> $function-call/Foo $~lib/function/Function<%28this:function-call/Foo%29=>void> $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32> $invalid + end + return end return end @@ -2561,6 +2585,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $function-call/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2576,11 +2628,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index be1734bd12..ad56621872 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -4,10 +4,10 @@ (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -20,38 +20,38 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $function-call/foo (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34568)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34572)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\03\00\00\00\08\00\00\00\02") + (data (i32.const 1080) "\04\00\00\00\08\00\00\00\02") (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\04\00\00\00\08\00\00\00\03") + (data (i32.const 1112) "\05\00\00\00\08\00\00\00\03") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s") (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\04\00\00\00\08\00\00\00\04") + (data (i32.const 1208) "\05\00\00\00\08\00\00\00\04") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\05\00\00\00\08\00\00\00\05") + (data (i32.const 1240) "\06\00\00\00\08\00\00\00\05") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1272) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1596) "<") - (data (i32.const 1608) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\07\00\00\00\08\00\00\00\06") + (data (i32.const 1672) "\08\00\00\00\08\00\00\00\06") (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\05\00\00\00\08\00\00\00\07") + (data (i32.const 1704) "\06\00\00\00\08\00\00\00\07") (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\08\00\00\00\08\00\00\00\08") - (data (i32.const 1760) "\t\00\00\00 \00\00\00 ") - (data (i32.const 1788) " ") + (data (i32.const 1736) "\t\00\00\00\08\00\00\00\08") + (data (i32.const 1760) "\n\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1792) " ") (table $0 9 9 funcref) (elem $0 (i32.const 1) $start:function-call~anonymous|0 $start:function-call~anonymous|0 $start:function-call~anonymous|2 $start:function-call~anonymous|2 $start:function-call~fn2|4 $function-call/Foo#fnVoid $start:function-call~fn2|4 $function-call/Foo#fnRet) (export "memory" (memory $0)) @@ -100,7 +100,7 @@ if i32.const 0 i32.const 1344 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -790,7 +790,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34568 + i32.const 34572 i32.lt_u if local.get $0 @@ -884,13 +884,13 @@ if i32.const 0 i32.const 1344 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34568 + i32.const 34572 i32.lt_u if local.get $0 @@ -913,7 +913,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34568 + i32.const 34572 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1032,23 +1032,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1064,14 +1064,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1088,17 +1088,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1111,16 +1111,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1128,17 +1128,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1149,7 +1149,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1163,92 +1163,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 6 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1256,7 +1256,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1278,11 +1278,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $function-call/Foo $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $function-call/Foo $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1311,13 +1314,14 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1800 + i32.const 1804 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1367,7 +1371,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34568 + i32.const 34572 i32.sub i32.const 1 i32.shr_u @@ -1401,7 +1405,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1800 + i32.const 1804 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1409,10 +1413,39 @@ i32.const 0 i32.store $0 local.get $0 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1804 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1489,7 +1522,7 @@ if i32.const 0 i32.const 1344 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1509,14 +1542,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34568 + i32.const 34572 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1344 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1530,7 +1563,7 @@ if i32.const 0 i32.const 1344 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1552,7 +1585,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/function-expression.debug.wat b/tests/compiler/function-expression.debug.wat index c5f2e5ae63..e27b3eb3a0 100644 --- a/tests/compiler/function-expression.debug.wat +++ b/tests/compiler/function-expression.debug.wat @@ -30,39 +30,39 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1088)) - (global $~lib/memory/__data_end i32 (i32.const 1128)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33896)) - (global $~lib/memory/__heap_base i32 (i32.const 33896)) + (global $~lib/memory/__data_end i32 (i32.const 1132)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33900)) + (global $~lib/memory/__heap_base i32 (i32.const 33900)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") + (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 396) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 688) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 864) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 892) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1020) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1088) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 892) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1020) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1088) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 20 20 funcref) (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|1 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $function-expression/testOmittedReturn1~anonymous|0 $function-expression/testOmittedReturn2~anonymous|0 $function-expression/testOmittedReturn3~anonymous|0 $function-expression/testNullable~anonymous|0 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testGlobal~anonymous|0 $function-expression/testLocal~anonymous|0~anonymous|0 $function-expression/testLocal~anonymous|0 $function-expression/testField~anonymous|0~anonymous|0 $function-expression/testField~anonymous|0 $function-expression/semanticallyAnonymous~fnDecl $function-expression/semanticallyAnonymous~fnDecl|0) (export "semanticallyAnonymous" (func $function-expression/semanticallyAnonymous)) @@ -296,7 +296,7 @@ if i32.const 0 i32.const 640 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -366,7 +366,7 @@ if i32.const 0 i32.const 640 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -383,7 +383,7 @@ if i32.const 0 i32.const 640 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -434,7 +434,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -480,7 +480,7 @@ if (result i32) i32.const 0 i32.const 640 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1745,7 +1745,7 @@ if i32.const 0 i32.const 640 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2339,7 +2339,7 @@ if i32.const 576 i32.const 640 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2398,7 +2398,7 @@ if i32.const 0 i32.const 640 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2519,6 +2519,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2527,6 +2530,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2538,6 +2544,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%29=>i32>#__visit @@ -2553,6 +2562,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>void>#__visit @@ -2568,6 +2580,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>i32>#__visit @@ -2583,6 +2598,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit @@ -2598,6 +2616,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>%28i32%29=>i32>#__visit @@ -2605,6 +2626,9 @@ (func $function-expression/FieldClass~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2624,11 +2648,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $~lib/function/Function<%28%29=>void> $~lib/function/Function<%28%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28%29=>%28i32%29=>i32> $function-expression/FieldClass $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $~lib/function/Function<%28%29=>void> $~lib/function/Function<%28%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28%29=>%28i32%29=>i32> $function-expression/FieldClass $invalid + end + return end return end @@ -3017,7 +3044,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index 9a351757db..b421059266 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -18,59 +18,59 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34920)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34924)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\03\00\00\00\08\00\00\00\02") + (data (i32.const 1144) "\04\00\00\00\08\00\00\00\02") (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\04\00\00\00\08\00\00\00\03") + (data (i32.const 1176) "\05\00\00\00\08\00\00\00\03") (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\05\00\00\00\08\00\00\00\04") + (data (i32.const 1208) "\06\00\00\00\08\00\00\00\04") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\06\00\00\00\08\00\00\00\05") + (data (i32.const 1240) "\07\00\00\00\08\00\00\00\05") (data (i32.const 1260) "\1c") - (data (i32.const 1272) "\06\00\00\00\08\00\00\00\06") + (data (i32.const 1272) "\07\00\00\00\08\00\00\00\06") (data (i32.const 1292) "\1c") - (data (i32.const 1304) "\06\00\00\00\08\00\00\00\07") + (data (i32.const 1304) "\07\00\00\00\08\00\00\00\07") (data (i32.const 1324) "\1c") - (data (i32.const 1336) "\06\00\00\00\08\00\00\00\08") + (data (i32.const 1336) "\07\00\00\00\08\00\00\00\08") (data (i32.const 1356) "\1c") - (data (i32.const 1368) "\06\00\00\00\08\00\00\00\t") + (data (i32.const 1368) "\07\00\00\00\08\00\00\00\t") (data (i32.const 1388) "\1c") - (data (i32.const 1400) "\06\00\00\00\08\00\00\00\n") + (data (i32.const 1400) "\07\00\00\00\08\00\00\00\n") (data (i32.const 1420) "\1c") - (data (i32.const 1432) "\05\00\00\00\08\00\00\00\0b") + (data (i32.const 1432) "\06\00\00\00\08\00\00\00\0b") (data (i32.const 1452) "\1c") - (data (i32.const 1464) "\03\00\00\00\08\00\00\00\0c") + (data (i32.const 1464) "\04\00\00\00\08\00\00\00\0c") (data (i32.const 1484) "\1c") - (data (i32.const 1496) "\07\00\00\00\08\00\00\00\r") + (data (i32.const 1496) "\08\00\00\00\08\00\00\00\r") (data (i32.const 1516) "\1c") - (data (i32.const 1528) "\03\00\00\00\08\00\00\00\0e") + (data (i32.const 1528) "\04\00\00\00\08\00\00\00\0e") (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\07\00\00\00\08\00\00\00\0f") + (data (i32.const 1560) "\08\00\00\00\08\00\00\00\0f") (data (i32.const 1580) "<") - (data (i32.const 1592) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1592) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1644) "<") - (data (i32.const 1656) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1656) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1772) "<") - (data (i32.const 1784) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1784) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1836) ",") - (data (i32.const 1848) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1848) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1916) "<") - (data (i32.const 1928) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1928) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1980) "\1c") - (data (i32.const 1992) "\03\00\00\00\08\00\00\00\10") + (data (i32.const 1992) "\04\00\00\00\08\00\00\00\10") (data (i32.const 2012) "\1c") - (data (i32.const 2024) "\07\00\00\00\08\00\00\00\11") + (data (i32.const 2024) "\08\00\00\00\08\00\00\00\11") (data (i32.const 2044) "\1c") - (data (i32.const 2056) "\03\00\00\00\08\00\00\00\12") + (data (i32.const 2056) "\04\00\00\00\08\00\00\00\12") (data (i32.const 2076) "\1c") - (data (i32.const 2088) "\03\00\00\00\08\00\00\00\13") - (data (i32.const 2112) "\t\00\00\00 \00\00\00 ") + (data (i32.const 2088) "\04\00\00\00\08\00\00\00\13") + (data (i32.const 2112) "\n\00\00\00 \00\00\00 \00\00\00 ") (table $0 20 20 funcref) (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|3 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testGlobal~anonymous|0 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testLocal~anonymous|0 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testField~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~anonymous|0) (export "semanticallyAnonymous" (func $function-expression/semanticallyAnonymous)) @@ -126,7 +126,7 @@ if i32.const 0 i32.const 1664 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -159,7 +159,7 @@ if i32.const 0 i32.const 1664 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -179,14 +179,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34920 + i32.const 34924 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1664 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -200,7 +200,7 @@ if i32.const 0 i32.const 1664 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -222,7 +222,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -948,7 +948,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34920 + i32.const 34924 i32.lt_u if local.get $0 @@ -1042,13 +1042,13 @@ if i32.const 0 i32.const 1664 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34920 + i32.const 34924 i32.lt_u if local.get $0 @@ -1071,7 +1071,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34920 + i32.const 34924 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1377,7 +1377,7 @@ i32.store $0 end local.get $0 - i32.const 8 + i32.const 9 i32.store $0 offset=12 local.get $0 i32.const 4 @@ -1429,7 +1429,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s if i32.const 34944 @@ -1457,11 +1457,14 @@ block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $invalid + end + return end return end @@ -1470,7 +1473,7 @@ unreachable end local.get $0 - i32.load $0 + i32.load $0 offset=4 local.tee $0 if local.get $0 @@ -1479,7 +1482,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load $0 local.tee $0 if local.get $0 @@ -1499,7 +1502,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1653,7 +1656,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1689,7 +1692,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1726,7 +1729,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34920 + i32.const 34924 i32.sub i32.const 1 i32.shr_u @@ -1760,7 +1763,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1778,7 +1781,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1797,7 +1800,7 @@ if i32.const 0 i32.const 1664 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1889,7 +1892,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s if i32.const 34944 @@ -1919,7 +1922,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s if i32.const 34944 @@ -1949,7 +1952,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2152 + i32.const 2156 i32.lt_s if i32.const 34944 diff --git a/tests/compiler/function-types.debug.wat b/tests/compiler/function-types.debug.wat index 1303c514e6..ba80549d32 100644 --- a/tests/compiler/function-types.debug.wat +++ b/tests/compiler/function-types.debug.wat @@ -14,11 +14,11 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32972)) (global $~lib/memory/__heap_base i32 (i32.const 32972)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") (table $0 5 5 funcref) (elem $0 (i32.const 1) $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/addI32) (export "memory" (memory $0)) diff --git a/tests/compiler/function-types.release.wat b/tests/compiler/function-types.release.wat index 0961bd7872..7feb41db22 100644 --- a/tests/compiler/function-types.release.wat +++ b/tests/compiler/function-types.release.wat @@ -10,15 +10,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33996)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s") (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\04\00\00\00\08\00\00\00\02") + (data (i32.const 1144) "\05\00\00\00\08\00\00\00\02") (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\05\00\00\00\08\00\00\00\03") + (data (i32.const 1176) "\06\00\00\00\08\00\00\00\03") (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\03\00\00\00\08\00\00\00\04") + (data (i32.const 1208) "\04\00\00\00\08\00\00\00\04") (table $0 5 5 funcref) (elem $0 (i32.const 1) $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0) (export "memory" (memory $0)) diff --git a/tests/compiler/getter-call.debug.wat b/tests/compiler/getter-call.debug.wat index a77699375b..a4ec24df70 100644 --- a/tests/compiler/getter-call.debug.wat +++ b/tests/compiler/getter-call.debug.wat @@ -25,20 +25,20 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 448)) - (global $~lib/memory/__data_end i32 (i32.const 472)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33240)) - (global $~lib/memory/__heap_base i32 (i32.const 33240)) + (global $~lib/memory/__data_end i32 (i32.const 476)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33244)) + (global $~lib/memory/__heap_base i32 (i32.const 33244)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 448) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 448) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $getter-call/C#get:x~anonymous|0) (export "test" (func $getter-call/test)) @@ -109,7 +109,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -179,7 +179,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -196,7 +196,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -247,7 +247,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -293,7 +293,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1558,7 +1558,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2152,7 +2152,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2213,6 +2213,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2221,6 +2224,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2232,6 +2238,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>i32>#__visit @@ -2243,11 +2252,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $getter-call/C $~lib/function/Function<%28%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $getter-call/C $~lib/function/Function<%28%29=>i32> $invalid + end + return end return end @@ -2299,6 +2311,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $getter-call/C#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2314,11 +2354,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/getter-call.release.wat b/tests/compiler/getter-call.release.wat index 78ccc678b4..c757d4bce6 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -2,10 +2,10 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,21 +17,21 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34264)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34268)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "\1c") - (data (i32.const 1448) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1448) "\05\00\00\00\08\00\00\00\01") + (data (i32.const 1472) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (table $0 2 2 funcref) (elem $0 (i32.const 1) $getter-call/C#get:x~anonymous|0) (export "test" (func $getter-call/test)) @@ -64,7 +64,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -754,7 +754,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34264 + i32.const 34268 i32.lt_u if local.get $0 @@ -848,13 +848,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34264 + i32.const 34268 i32.lt_u if local.get $0 @@ -877,7 +877,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34264 + i32.const 34268 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -996,23 +996,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1028,14 +1028,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1052,17 +1052,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1075,16 +1075,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1092,17 +1092,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1113,7 +1113,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1127,92 +1127,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1220,7 +1220,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1239,11 +1239,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $getter-call/C $~lib/function/Function<%28%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $getter-call/C $~lib/function/Function<%28%29=>i32> $invalid + end + return end return end @@ -1275,7 +1278,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34264 + i32.const 34268 i32.sub i32.const 1 i32.shr_u @@ -1308,41 +1311,71 @@ (func $getter-call/test (type $none_=>_i32) (result i32) (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1496 + i32.const 1500 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1496 + i32.const 1500 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store $0 - local.get $1 + local.get $0 + i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1500 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 + local.get $0 i32.store $0 i32.const 1456 i32.load $0 @@ -1387,7 +1420,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1407,14 +1440,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34264 + i32.const 34268 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1428,7 +1461,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1450,7 +1483,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/getter-setter.debug.wat b/tests/compiler/getter-setter.debug.wat index fb2e9f5731..12f7cb3373 100644 --- a/tests/compiler/getter-setter.debug.wat +++ b/tests/compiler/getter-setter.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/getter-setter.release.wat b/tests/compiler/getter-setter.release.wat index 0d5542b641..d9968a1a31 100644 --- a/tests/compiler/getter-setter.release.wat +++ b/tests/compiler/getter-setter.release.wat @@ -5,7 +5,7 @@ (global $getter-setter/Foo._bar (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/heap.debug.wat b/tests/compiler/heap.debug.wat index e52ee16944..0eefb9e0ff 100644 --- a/tests/compiler/heap.debug.wat +++ b/tests/compiler/heap.debug.wat @@ -15,8 +15,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32908)) (global $~lib/memory/__heap_base i32 (i32.const 32908)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/heap.release.wat b/tests/compiler/heap.release.wat index 581c08a4fd..3c14f43b6c 100644 --- a/tests/compiler/heap.release.wat +++ b/tests/compiler/heap.release.wat @@ -10,9 +10,9 @@ (global $heap/ptr (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1112) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) diff --git a/tests/compiler/if.debug.wat b/tests/compiler/if.debug.wat index 8032c0e39e..d89bcf97a2 100644 --- a/tests/compiler/if.debug.wat +++ b/tests/compiler/if.debug.wat @@ -7,8 +7,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00i\00f\00.\00t\00s\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00i\00f\00.\00t\00s\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00e\00r\00r\00o\00r\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "ifThenElse" (func $if/ifThenElse)) diff --git a/tests/compiler/if.release.wat b/tests/compiler/if.release.wat index b7a841530e..78fcfea262 100644 --- a/tests/compiler/if.release.wat +++ b/tests/compiler/if.release.wat @@ -4,9 +4,9 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\n\00\00\00i\00f\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\n\00\00\00i\00f\00.\00t\00s") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\n\00\00\00e\00r\00r\00o\00r") + (data (i32.const 1080) "\02\00\00\00\n\00\00\00e\00r\00r\00o\00r") (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) (export "ifThenElseBlock" (func $if/ifThenElse)) diff --git a/tests/compiler/import-memory.debug.wat b/tests/compiler/import-memory.debug.wat index a7e2919674..b37e28661f 100644 --- a/tests/compiler/import-memory.debug.wat +++ b/tests/compiler/import-memory.debug.wat @@ -6,7 +6,7 @@ (global $~lib/memory/__data_end i32 (i32.const 76)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/import-memory.release.wat b/tests/compiler/import-memory.release.wat index cd3f1f2570..7a82ceb2ef 100644 --- a/tests/compiler/import-memory.release.wat +++ b/tests/compiler/import-memory.release.wat @@ -3,7 +3,7 @@ (type $none_=>_none (func_subtype func)) (import "env" "memory" (memory $0 1)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (data (i32.const 1036) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/infer-array.debug.wat b/tests/compiler/infer-array.debug.wat index 8532c54597..0ab00fcece 100644 --- a/tests/compiler/infer-array.debug.wat +++ b/tests/compiler/infer-array.debug.wat @@ -27,35 +27,35 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1088)) - (global $~lib/memory/__data_end i32 (i32.const 1140)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33908)) - (global $~lib/memory/__heap_base i32 (i32.const 33908)) + (global $~lib/memory/__data_end i32 (i32.const 1144)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33912)) + (global $~lib/memory/__heap_base i32 (i32.const 33912)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\d0\02\00\00\00\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 956) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1088) "\0c\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") + (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\d0\02\00\00\00\00\00\00") + (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 956) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1088) "\r\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -125,7 +125,7 @@ if i32.const 0 i32.const 128 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -195,7 +195,7 @@ if i32.const 0 i32.const 128 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -212,7 +212,7 @@ if i32.const 0 i32.const 128 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -263,7 +263,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -309,7 +309,7 @@ if (result i32) i32.const 0 i32.const 128 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1574,7 +1574,7 @@ if i32.const 0 i32.const 128 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2168,7 +2168,7 @@ if i32.const 64 i32.const 128 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2242,7 +2242,7 @@ if i32.const 0 i32.const 128 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2602,7 +2602,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 32 call $~lib/rt/__newArray local.tee $arr @@ -2638,7 +2638,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 3 - i32.const 4 + i32.const 5 i32.const 560 call $~lib/rt/__newArray local.tee $arr|5 @@ -2660,7 +2660,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 5 + i32.const 6 i32.const 608 call $~lib/rt/__newArray local.tee $arr|8 @@ -2711,7 +2711,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 3 - i32.const 4 + i32.const 5 i32.const 640 call $~lib/rt/__newArray local.tee $arr|11 @@ -2733,7 +2733,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 6 + i32.const 7 i32.const 688 call $~lib/rt/__newArray local.tee $arr|14 @@ -2770,7 +2770,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $18 @@ -2819,7 +2819,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $23 @@ -2863,7 +2863,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $27 @@ -2901,7 +2901,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 9 + i32.const 10 i32.const 752 call $~lib/rt/__newArray local.tee $arr|32 @@ -2923,7 +2923,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 10 + i32.const 11 i32.const 784 call $~lib/rt/__newArray local.tee $arr1 @@ -2960,7 +2960,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 10 + i32.const 11 i32.const 816 call $~lib/rt/__newArray local.tee $arr2 @@ -2997,7 +2997,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 848 call $~lib/rt/__newArray local.tee $arr1|41 @@ -3034,7 +3034,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 880 call $~lib/rt/__newArray local.tee $arr2|44 @@ -3072,7 +3072,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 11 + i32.const 12 i32.const 0 call $~lib/rt/__newArray local.tee $45 @@ -3086,7 +3086,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 912 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -3094,7 +3094,7 @@ i32.const 1 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 944 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -3138,6 +3138,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3146,6 +3149,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -3159,6 +3165,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3176,6 +3185,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3193,6 +3205,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3210,6 +3225,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3264,6 +3282,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3318,6 +3339,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String|null>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String|null>#__visit @@ -3335,6 +3359,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3389,6 +3416,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__visit @@ -3407,11 +3437,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $infer-array/Ref $~lib/array/Array $~lib/array/Array<~lib/string/String|null> $~lib/array/Array $~lib/array/Array<~lib/array/Array> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $infer-array/Ref $~lib/array/Array $~lib/array/Array<~lib/string/String|null> $~lib/array/Array $~lib/array/Array<~lib/array/Array> $invalid + end + return end return end @@ -3501,7 +3534,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -3534,6 +3567,34 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $infer-array/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3549,11 +3610,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index 6cea12e073..01e116bda3 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -18,53 +18,53 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34932)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34936)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1052) "\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1080) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1468) ",") - (data (i32.const 1480) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1480) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1564) ",") - (data (i32.const 1580) "\18") + (data (i32.const 1576) "\01\00\00\00\18") (data (i32.const 1590) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") (data (i32.const 1612) "\1c") - (data (i32.const 1628) "\08\00\00\00\01\00\00\00\ff\ff\ff\ff") + (data (i32.const 1624) "\01\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff") (data (i32.const 1644) ",") - (data (i32.const 1660) "\18") + (data (i32.const 1656) "\01\00\00\00\18") (data (i32.const 1670) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") (data (i32.const 1692) "\1c") - (data (i32.const 1708) "\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data (i32.const 1704) "\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1736) "\02\00\00\00\02\00\00\00a") (data (i32.const 1756) "\1c") - (data (i32.const 1772) "\08\00\00\00\00\00\00\00\d0\06") + (data (i32.const 1768) "\01\00\00\00\08\00\00\00\00\00\00\00\d0\06") (data (i32.const 1788) "\1c") - (data (i32.const 1804) "\04") + (data (i32.const 1800) "\01\00\00\00\04") (data (i32.const 1820) "\1c") - (data (i32.const 1836) "\08") + (data (i32.const 1832) "\01\00\00\00\08") (data (i32.const 1852) "\1c") - (data (i32.const 1868) "\08\00\00\00\01") + (data (i32.const 1864) "\01\00\00\00\08\00\00\00\01") (data (i32.const 1884) "\1c") - (data (i32.const 1900) "\08\00\00\00\00\00\00\00\01") + (data (i32.const 1896) "\01\00\00\00\08\00\00\00\00\00\00\00\01") (data (i32.const 1916) "\1c") - (data (i32.const 1932) "\04\00\00\00\01") + (data (i32.const 1928) "\01\00\00\00\04\00\00\00\01") (data (i32.const 1948) "\1c") - (data (i32.const 1964) "\04\00\00\00\02") + (data (i32.const 1960) "\01\00\00\00\04\00\00\00\02") (data (i32.const 1980) "|") - (data (i32.const 1992) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2112) "\0c\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A") + (data (i32.const 1992) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 2112) "\r\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -96,7 +96,7 @@ if i32.const 0 i32.const 1152 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -129,7 +129,7 @@ if i32.const 0 i32.const 1152 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -149,14 +149,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34932 + i32.const 34936 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1152 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -170,7 +170,7 @@ if i32.const 0 i32.const 1152 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -192,7 +192,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -918,7 +918,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34932 + i32.const 34936 i32.lt_u if local.get $0 @@ -1012,13 +1012,13 @@ if i32.const 0 i32.const 1152 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34932 + i32.const 34936 i32.lt_u if local.get $0 @@ -1041,7 +1041,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34932 + i32.const 34936 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1241,7 +1241,7 @@ if i32.const 1088 i32.const 1152 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1640,7 +1640,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2164 + i32.const 2168 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1651,7 +1651,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34932 + i32.const 34936 i32.sub i32.const 1 i32.shr_u @@ -1683,7 +1683,7 @@ local.get $0 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1056 call $~lib/rt/__newArray local.tee $0 @@ -1695,7 +1695,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 3 - i32.const 4 + i32.const 5 i32.const 1584 call $~lib/rt/__newArray local.tee $0 @@ -1705,7 +1705,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 5 + i32.const 6 i32.const 1632 call $~lib/rt/__newArray local.tee $0 @@ -1734,7 +1734,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 3 - i32.const 4 + i32.const 5 i32.const 1664 call $~lib/rt/__newArray local.tee $0 @@ -1744,7 +1744,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 6 + i32.const 7 i32.const 1712 call $~lib/rt/__newArray local.tee $0 @@ -1768,7 +1768,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -1804,7 +1804,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -1836,7 +1836,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $2 @@ -1862,7 +1862,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 9 + i32.const 10 i32.const 1776 call $~lib/rt/__newArray local.tee $0 @@ -1873,7 +1873,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 10 + i32.const 11 i32.const 1808 call $~lib/rt/__newArray local.tee $0 @@ -1889,7 +1889,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 10 + i32.const 11 i32.const 1840 call $~lib/rt/__newArray local.tee $0 @@ -1905,7 +1905,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1872 call $~lib/rt/__newArray local.tee $0 @@ -1917,7 +1917,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1904 call $~lib/rt/__newArray local.tee $0 @@ -1931,7 +1931,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 11 + i32.const 12 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -1944,7 +1944,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1936 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -1952,7 +1952,7 @@ i32.const 1 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1968 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -1964,7 +1964,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2164 + i32.const 2168 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2014,90 +2014,69 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/array/Array#__visit (type $i32_=>_none) (param $0 i32) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $1 - local.get $3 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array<~lib/array/Array> - block $~lib/array/Array<~lib/string/String|null> - block $~lib/array/Array - block $infer-array/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $infer-array/Ref $~lib/array/Array $~lib/array/Array<~lib/string/String|null> $folding-inner0 $~lib/array/Array<~lib/array/Array> $invalid - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if + block $folding-inner2 + block $folding-inner1 + block $invalid + block $infer-array/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $infer-array/Ref $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner1 $invalid end return end return end - local.get $0 - call $~lib/array/Array#__visit return end - local.get $0 - call $~lib/array/Array#__visit return end + unreachable + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $1 + local.get $3 + i32.lt_u + if + local.get $1 + i32.load $0 + local.tee $2 + if + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $0 + i32.load $0 + local.tee $0 + if local.get $0 - call $~lib/array/Array#__visit - return + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - unreachable + return end local.get $0 i32.load $0 @@ -2118,7 +2097,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2164 + i32.const 2168 i32.lt_s if i32.const 34960 @@ -2136,7 +2115,7 @@ local.get $1 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.set $1 local.get $3 @@ -2179,36 +2158,68 @@ ) (func $infer-array/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2164 - i32.lt_s - if - i32.const 34960 - i32.const 35008 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2168 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2168 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34960 + i32.const 35008 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/array/Array#__get (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) @@ -2217,7 +2228,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2164 + i32.const 2168 i32.lt_s if i32.const 34960 @@ -2283,7 +2294,7 @@ if i32.const 0 i32.const 1152 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index d343ba2fb9..f2a824c9da 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -29,23 +29,23 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 592)) - (global $~lib/memory/__data_end i32 (i32.const 632)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33400)) - (global $~lib/memory/__heap_base i32 (i32.const 33400)) + (global $~lib/memory/__data_end i32 (i32.const 636)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33404)) + (global $~lib/memory/__heap_base i32 (i32.const 33404)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00`\00\00\00`\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00`\00\00\00`\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 592) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 592) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:infer-generic~anonymous|0) (export "test1" (func $infer-generic/test1)) @@ -206,7 +206,7 @@ if i32.const 0 i32.const 272 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -276,7 +276,7 @@ if i32.const 0 i32.const 272 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -293,7 +293,7 @@ if i32.const 0 i32.const 272 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -344,7 +344,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -390,7 +390,7 @@ if (result i32) i32.const 0 i32.const 272 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1655,7 +1655,7 @@ if i32.const 0 i32.const 272 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2249,7 +2249,7 @@ if i32.const 208 i32.const 272 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2353,6 +2353,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2361,6 +2364,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2374,6 +2380,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2389,6 +2398,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#__visit @@ -2404,6 +2416,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>f64>#__visit @@ -2419,6 +2434,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%29=>f64>#__visit @@ -2434,6 +2452,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Ci32%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Ci32%29=>f64>#__visit @@ -2449,11 +2470,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool> $infer-generic/Ref $~lib/function/Function<%28%29=>f64> $~lib/function/Function<%28f32%29=>f64> $~lib/function/Function<%28f32%2Ci32%29=>f64> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool> $infer-generic/Ref $~lib/function/Function<%28%29=>f64> $~lib/function/Function<%28f32%29=>f64> $~lib/function/Function<%28f32%2Ci32%29=>f64> $invalid + end + return end return end @@ -2649,6 +2673,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $infer-generic/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2664,11 +2716,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $infer-generic/Ref#set:x diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index 89623c0188..4e7db5833a 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -3,11 +3,12 @@ (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (type $f32_=>_f32 (func_subtype (param f32) (result f32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -19,27 +20,27 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34424)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s") (data (i32.const 1100) "\1c") - (data (i32.const 1116) "\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data (i32.const 1112) "\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") (data (i32.const 1132) ",") - (data (i32.const 1144) "\03\00\00\00\10\00\00\00`\04\00\00`\04\00\00\0c\00\00\00\03") + (data (i32.const 1144) "\04\00\00\00\10\00\00\00`\04\00\00`\04\00\00\0c\00\00\00\03") (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\04\00\00\00\08\00\00\00\01") + (data (i32.const 1192) "\05\00\00\00\08\00\00\00\01") (data (i32.const 1212) "<") - (data (i32.const 1224) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1224) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1288) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1416) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1468) ",") - (data (i32.const 1480) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1480) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1548) "<") - (data (i32.const 1560) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1616) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 ") + (data (i32.const 1560) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1616) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 ") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:infer-generic~anonymous|0) (export "test1" (func $infer-generic/test1)) @@ -87,7 +88,7 @@ if i32.const 0 i32.const 1296 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -777,7 +778,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34424 + i32.const 34428 i32.lt_u if local.get $0 @@ -871,13 +872,13 @@ if i32.const 0 i32.const 1296 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34424 + i32.const 34428 i32.lt_u if local.get $0 @@ -900,7 +901,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34424 + i32.const 34428 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -962,18 +963,83 @@ end i32.const 0 ) - (func $~lib/rt/tlsf/searchBlock (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + local.get $1 + local.get $1 + i32.const 536870910 + i32.lt_u + select + local.tee $1 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $2 + local.get $1 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $1 + i32.const 16 + i32.lt_u + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 330 + i32.const 14 + call $~lib/builtins/abort + unreachable + end local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add i32.load $0 offset=4 - i32.const -2 + i32.const -1 + local.get $1 + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add i32.const 2 i32.shl i32.add @@ -981,19 +1047,23 @@ else local.get $0 i32.load $0 - i32.const -2 + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz - local.tee $2 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 offset=4 - local.tee $1 + local.tee $2 i32.eqz if i32.const 0 @@ -1004,9 +1074,9 @@ unreachable end local.get $0 - local.get $1 - i32.ctz local.get $2 + i32.ctz + local.get $1 i32.const 4 i32.shl i32.add @@ -1019,23 +1089,35 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/itcms/__new (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 1073741804 + i32.ge_u + if + i32.const 1232 + i32.const 1296 + i32.const 261 + i32.const 31 + call $~lib/builtins/abort + unreachable + end global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $2 loop $do-loop|0 - local.get $0 + local.get $2 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $2 global.get $~lib/rt/itcms/state i32.eqz if @@ -1051,14 +1133,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $2 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $2 + local.get $2 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1075,39 +1157,83 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1232 + i32.const 1568 + i32.const 458 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 12 + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.get $2 + i32.const 12 + i32.le_u + select + local.tee $5 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $2 i32.eqz if memory.size $0 - local.tee $0 + local.tee $2 i32.const 4 - local.get $1 + local.get $4 i32.load $0 offset=1568 - local.get $0 + local.get $2 i32.const 16 i32.shl i32.const 4 i32.sub i32.ne i32.shl - i32.const 65563 + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.get $5 + local.get $5 + i32.const 536870910 + i32.lt_u + select + i32.add + i32.const 65535 i32.add i32.const -65536 i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1115,17 +1241,18 @@ unreachable end end - local.get $1 - local.get $0 + local.get $4 + local.get $2 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $4 + local.get $5 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $2 i32.eqz if i32.const 0 @@ -1136,12 +1263,12 @@ unreachable end end - local.get $0 + local.get $5 + local.get $2 i32.load $0 i32.const -4 i32.and - i32.const 28 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1568 @@ -1150,92 +1277,108 @@ call $~lib/builtins/abort unreachable end - local.get $1 - local.get $0 + local.get $4 + local.get $2 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $2 i32.load $0 - local.tee $2 + local.set $3 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1568 + i32.const 357 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const -4 i32.and - i32.const 28 + local.get $5 i32.sub - local.tee $3 + local.tee $6 i32.const 16 i32.ge_u if - local.get $0 local.get $2 + local.get $5 + local.get $3 i32.const 2 i32.and - i32.const 28 i32.or i32.store $0 - local.get $0 - i32.const 32 + local.get $2 + i32.const 4 i32.add - local.tee $2 - local.get $3 + local.get $5 + i32.add + local.tee $3 + local.get $6 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 - local.get $2 + local.get $4 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 local.get $2 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $2 i32.const 4 i32.add - local.get $0 + local.get $2 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.load $0 i32.const -3 i32.and i32.store $0 end - local.get $0 - i32.const 5 + local.get $2 + local.get $1 i32.store $0 offset=12 + local.get $2 local.get $0 - i32.const 4 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 i32.load $0 offset=8 - local.set $2 - local.get $0 + local.set $3 + local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 local.get $2 + local.get $3 i32.store $0 offset=8 + local.get $3 local.get $2 - local.get $0 - local.get $2 + local.get $3 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 local.get $1 - local.get $0 + local.get $2 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $2 i32.load $0 i32.const -4 i32.and @@ -1243,13 +1386,14 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $2 i32.const 20 i32.add - local.tee $0 + local.tee $1 i32.const 0 - i32.store $0 align=1 local.get $0 + memory.fill $0 + local.get $1 ) (func $infer-generic/test1 (type $f32_=>_f32) (param $0 f32) (result f32) local.get $0 @@ -1261,11 +1405,14 @@ block $infer-generic/Ref block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner1 $folding-inner0 $infer-generic/Ref $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner1 $folding-inner0 $infer-generic/Ref $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1303,7 +1450,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1358,7 +1505,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34424 + i32.const 34428 i32.sub i32.const 1 i32.shr_u @@ -1388,37 +1535,68 @@ i32.const 1520 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store $0 - local.get $1 + local.get $0 + i32.const 4 + i32.const 6 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 2 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -1440,7 +1618,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s if i32.const 34448 @@ -1468,7 +1646,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1480,7 +1658,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1545,7 +1723,7 @@ if i32.const 0 i32.const 1296 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1565,14 +1743,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34424 + i32.const 34428 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1296 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1586,7 +1764,7 @@ if i32.const 0 i32.const 1296 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1608,7 +1786,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/inlining-blocklocals.debug.wat b/tests/compiler/inlining-blocklocals.debug.wat index 6ac3d19a68..8ee1e4b914 100644 --- a/tests/compiler/inlining-blocklocals.debug.wat +++ b/tests/compiler/inlining-blocklocals.debug.wat @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/inlining-blocklocals.release.wat b/tests/compiler/inlining-blocklocals.release.wat index a88dae67a8..d374f35350 100644 --- a/tests/compiler/inlining-blocklocals.release.wat +++ b/tests/compiler/inlining-blocklocals.release.wat @@ -7,7 +7,7 @@ (global $inlining-blocklocals/theCall_c (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "L") - (data (i32.const 1048) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index 60cde715e2..f54b0d522f 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -26,21 +26,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 496)) - (global $~lib/memory/__data_end i32 (i32.const 528)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33296)) - (global $~lib/memory/__heap_base i32 (i32.const 33296)) + (global $~lib/memory/__data_end i32 (i32.const 532)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33300)) + (global $~lib/memory/__heap_base i32 (i32.const 33300)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 496) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 496) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $inlining/func_fe~anonymous|0) (export "test" (func $inlining/test)) @@ -341,7 +341,7 @@ if i32.const 0 i32.const 176 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -411,7 +411,7 @@ if i32.const 0 i32.const 176 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -428,7 +428,7 @@ if i32.const 0 i32.const 176 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -479,7 +479,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -525,7 +525,7 @@ if (result i32) i32.const 0 i32.const 176 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1790,7 +1790,7 @@ if i32.const 0 i32.const 176 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2384,7 +2384,7 @@ if i32.const 112 i32.const 176 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2485,7 +2485,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2506,7 +2506,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this|2 i32.store $0 offset=4 @@ -2631,6 +2631,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2639,6 +2642,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2650,6 +2656,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%29=>i32>#__visit @@ -2663,11 +2672,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid + end + return end return end diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index 9808640969..1cd2615205 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -18,24 +18,24 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34320)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34324)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1096) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1116) "<") - (data (i32.const 1128) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1128) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1180) "<") - (data (i32.const 1192) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1308) "<") - (data (i32.const 1320) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1320) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1372) ",") - (data (i32.const 1384) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1520) "\07\00\00\00 \00\00\00 ") - (data (i32.const 1540) " \00\00\00 \00\00\00 ") + (data (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1520) "\08\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1544) " \00\00\00 \00\00\00 ") (table $0 2 2 funcref) (elem $0 (i32.const 1) $inlining/func_fe~anonymous|0) (export "test" (func $inlining/test)) @@ -74,7 +74,7 @@ if i32.const 0 i32.const 1200 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -623,10 +623,10 @@ if unreachable end - i32.const 34320 + i32.const 34336 i32.const 0 i32.store $0 - i32.const 35888 + i32.const 35904 i32.const 0 i32.store $0 loop $for-loop|0 @@ -637,7 +637,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34320 + i32.const 34336 i32.add i32.const 0 i32.store $0 offset=4 @@ -655,7 +655,7 @@ i32.add i32.const 2 i32.shl - i32.const 34320 + i32.const 34336 i32.add i32.const 0 i32.store $0 offset=96 @@ -673,13 +673,13 @@ br $for-loop|0 end end - i32.const 34320 - i32.const 35892 + i32.const 34336 + i32.const 35908 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34320 + i32.const 34336 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -764,7 +764,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34320 + i32.const 34324 i32.lt_u if local.get $0 @@ -858,13 +858,13 @@ if i32.const 0 i32.const 1200 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34320 + i32.const 34324 i32.lt_u if local.get $0 @@ -887,7 +887,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34320 + i32.const 34324 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1087,7 +1087,7 @@ if i32.const 1136 i32.const 1200 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1390,11 +1390,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid + end + return end return end @@ -1436,7 +1439,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1552 + i32.const 1556 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1457,7 +1460,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34320 + i32.const 34324 i32.sub i32.const 1 i32.shr_u @@ -1491,7 +1494,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1552 + i32.const 1556 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1503,7 +1506,7 @@ i32.store $0 offset=8 local.get $1 i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1520,7 +1523,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -1629,7 +1632,7 @@ if i32.const 0 i32.const 1200 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1649,14 +1652,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34320 + i32.const 34324 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1200 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1670,7 +1673,7 @@ if i32.const 0 i32.const 1200 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1692,7 +1695,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/instanceof.debug.wat b/tests/compiler/instanceof.debug.wat index 28ec23a099..2eefc73e11 100644 --- a/tests/compiler/instanceof.debug.wat +++ b/tests/compiler/instanceof.debug.wat @@ -43,20 +43,20 @@ (global $instanceof/nullCat (mut i32) (i32.const 0)) (global $instanceof/nullBlackcat (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 520)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33288)) - (global $~lib/memory/__heap_base i32 (i32.const 33288)) + (global $~lib/memory/__data_end i32 (i32.const 524)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) + (global $~lib/memory/__heap_base i32 (i32.const 33292)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\r\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 464) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -150,7 +150,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -220,7 +220,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -237,7 +237,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -288,7 +288,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -334,7 +334,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1599,7 +1599,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2193,7 +2193,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3069,7 +3069,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 4 + i32.const 5 i32.eq br_if $is_instance i32.const 0 @@ -3086,7 +3086,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 7 + i32.const 8 i32.eq br_if $is_instance i32.const 0 @@ -3103,11 +3103,11 @@ i32.load $0 local.set $1 local.get $1 - i32.const 5 + i32.const 6 i32.eq br_if $is_instance local.get $1 - i32.const 7 + i32.const 8 i32.eq br_if $is_instance i32.const 0 @@ -3124,11 +3124,11 @@ i32.load $0 local.set $1 local.get $1 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance local.get $1 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance i32.const 0 @@ -3145,7 +3145,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance i32.const 0 @@ -3263,6 +3263,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3271,6 +3274,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $instanceof/BlackCat @@ -3286,11 +3292,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $instanceof/A $instanceof/B $instanceof/Child $instanceof/Parent $instanceof/Child $instanceof/Parent $instanceof/SomethingElse $instanceof/Animal $instanceof/Cat $instanceof/BlackCat $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $instanceof/A $instanceof/B $instanceof/Child $instanceof/Parent $instanceof/Child $instanceof/Parent $instanceof/SomethingElse $instanceof/Animal $instanceof/Cat $instanceof/BlackCat $invalid + end + return end return end @@ -3339,6 +3348,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $instanceof/Parent#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3354,11 +3391,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3382,7 +3424,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3415,11 +3457,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3443,7 +3490,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3476,11 +3523,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3504,7 +3556,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3537,7 +3589,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/instanceof.release.wat b/tests/compiler/instanceof.release.wat index 5b3f1d9ea8..f6b042ae30 100644 --- a/tests/compiler/instanceof.release.wat +++ b/tests/compiler/instanceof.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) @@ -26,21 +26,21 @@ (global $instanceof/nullableAnimal (mut i32) (i32.const 0)) (global $instanceof/nullableCat (mut i32) (i32.const 0)) (global $instanceof/nullableBlackcat (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34312)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\r\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1488) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -124,7 +124,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -814,7 +814,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34312 + i32.const 34316 i32.lt_u if local.get $0 @@ -908,13 +908,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34312 + i32.const 34316 i32.lt_u if local.get $0 @@ -937,7 +937,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34312 + i32.const 34316 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1298,7 +1298,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1323,7 +1323,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34312 + i32.const 34316 i32.sub i32.const 1 i32.shr_u @@ -1357,7 +1357,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1365,7 +1365,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1375,7 +1375,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1385,12 +1385,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1408,7 +1413,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1416,7 +1421,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1426,7 +1431,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1436,12 +1441,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1464,7 +1474,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 7 + i32.const 8 i32.eq else i32.const 0 @@ -1491,11 +1501,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 5 + i32.const 6 i32.eq br_if $is_instance2 local.get $0 - i32.const 7 + i32.const 8 i32.eq br_if $is_instance2 i32.const 0 @@ -1536,11 +1546,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance3 local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance3 i32.const 0 @@ -1569,7 +1579,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 12 + i32.const 13 i32.eq else i32.const 0 @@ -1595,11 +1605,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance6 local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance6 i32.const 0 @@ -1629,7 +1639,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 12 + i32.const 13 i32.eq else i32.const 0 @@ -1655,11 +1665,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance10 local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance10 i32.const 0 @@ -1689,7 +1699,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 12 + i32.const 13 i32.eq else i32.const 0 @@ -1734,11 +1744,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance14 local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance14 i32.const 0 @@ -1767,7 +1777,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 12 + i32.const 13 i32.eq else i32.const 0 @@ -1803,11 +1813,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance18 local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance18 i32.const 0 @@ -1837,7 +1847,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 12 + i32.const 13 i32.eq else i32.const 0 @@ -1873,11 +1883,11 @@ i32.sub i32.load $0 local.tee $0 - i32.const 11 + i32.const 12 i32.eq br_if $is_instance22 local.get $0 - i32.const 12 + i32.const 13 i32.eq br_if $is_instance22 i32.const 0 @@ -1907,7 +1917,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 12 + i32.const 13 i32.eq else i32.const 0 @@ -1968,11 +1978,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $instanceof/A $instanceof/B $instanceof/Child $instanceof/Parent $instanceof/Child $instanceof/Parent $instanceof/SomethingElse $instanceof/Animal $instanceof/Cat $instanceof/BlackCat $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $instanceof/A $instanceof/B $instanceof/Child $instanceof/Parent $instanceof/Child $instanceof/Parent $instanceof/SomethingElse $instanceof/Animal $instanceof/Cat $instanceof/BlackCat $invalid + end + return end return end @@ -2012,13 +2025,47 @@ (func $~start (type $none_=>_none) call $start:instanceof ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + if + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $instanceof/Animal#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s if i32.const 34336 @@ -2035,12 +2082,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2052,7 +2104,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s if i32.const 34336 @@ -2069,7 +2121,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2092,7 +2144,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1544 + i32.const 1548 i32.lt_s if i32.const 34336 @@ -2107,7 +2159,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2147,7 +2199,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2167,14 +2219,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34312 + i32.const 34316 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2188,7 +2240,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2210,7 +2262,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index 4f5b3ad430..4f4cdc4a01 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -24,22 +24,22 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 560)) - (global $~lib/memory/__data_end i32 (i32.const 580)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33348)) - (global $~lib/memory/__heap_base i32 (i32.const 33348)) + (global $~lib/memory/__data_end i32 (i32.const 584)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33352)) + (global $~lib/memory/__heap_base i32 (i32.const 33352)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s\00") - (data (i32.const 560) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") + (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s\00") + (data (i32.const 560) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -109,7 +109,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -179,7 +179,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -196,7 +196,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -247,7 +247,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -293,7 +293,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1558,7 +1558,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2152,7 +2152,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2211,7 +2211,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2288,6 +2288,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2296,9 +2299,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $issues/1095/Foo~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2313,11 +2322,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1095/Foo $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1095/Foo $invalid + end + return end return end @@ -2366,11 +2378,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 432 local.set $1 @@ -2466,4 +2483,32 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index bff7f1275b..fb0b2c31f0 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -2,10 +2,10 @@ (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,25 +17,25 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34372)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34376)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "\1c") - (data (i32.const 1448) "\01\00\00\00\08\00\00\00t\00e\00s\00t") + (data (i32.const 1448) "\02\00\00\00\08\00\00\00t\00e\00s\00t") (data (i32.const 1468) "<") - (data (i32.const 1480) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1480) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (data (i32.const 1532) ",") - (data (i32.const 1544) "\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s") - (data (i32.const 1584) "\04\00\00\00 \00\00\00 ") + (data (i32.const 1544) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s") + (data (i32.const 1584) "\05\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -65,7 +65,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -98,7 +98,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -118,14 +118,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34372 + i32.const 34376 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -139,7 +139,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -161,7 +161,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -887,7 +887,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34372 + i32.const 34376 i32.lt_u if local.get $0 @@ -981,13 +981,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34372 + i32.const 34376 i32.lt_u if local.get $0 @@ -1010,7 +1010,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34372 + i32.const 34376 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1072,18 +1072,83 @@ end i32.const 0 ) - (func $~lib/rt/tlsf/searchBlock (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + local.get $1 + local.get $1 + i32.const 536870910 + i32.lt_u + select + local.tee $1 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $2 + local.get $1 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $1 + i32.const 16 + i32.lt_u + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 330 + i32.const 14 + call $~lib/builtins/abort + unreachable + end local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add i32.load $0 offset=4 - i32.const -2 + i32.const -1 + local.get $1 + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add i32.const 2 i32.shl i32.add @@ -1091,19 +1156,23 @@ else local.get $0 i32.load $0 - i32.const -2 + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz - local.tee $2 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 offset=4 - local.tee $1 + local.tee $2 i32.eqz if i32.const 0 @@ -1114,9 +1183,9 @@ unreachable end local.get $0 - local.get $1 - i32.ctz local.get $2 + i32.ctz + local.get $1 i32.const 4 i32.shl i32.add @@ -1129,23 +1198,35 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/itcms/__new (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 1073741804 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 261 + i32.const 31 + call $~lib/builtins/abort + unreachable + end global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $2 loop $do-loop|0 - local.get $0 + local.get $2 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $2 global.get $~lib/rt/itcms/state i32.eqz if @@ -1161,14 +1242,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $2 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $2 + local.get $2 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1185,39 +1266,83 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1392 + i32.const 458 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 12 + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.get $2 + i32.const 12 + i32.le_u + select + local.tee $5 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $2 i32.eqz if memory.size $0 - local.tee $0 + local.tee $2 i32.const 4 - local.get $1 + local.get $4 i32.load $0 offset=1568 - local.get $0 + local.get $2 i32.const 16 i32.shl i32.const 4 i32.sub i32.ne i32.shl - i32.const 65563 + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.get $5 + local.get $5 + i32.const 536870910 + i32.lt_u + select + i32.add + i32.const 65535 i32.add i32.const -65536 i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1225,17 +1350,18 @@ unreachable end end - local.get $1 - local.get $0 + local.get $4 + local.get $2 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $4 + local.get $5 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $2 i32.eqz if i32.const 0 @@ -1246,12 +1372,12 @@ unreachable end end - local.get $0 + local.get $5 + local.get $2 i32.load $0 i32.const -4 i32.and - i32.const 28 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1260,92 +1386,108 @@ call $~lib/builtins/abort unreachable end - local.get $1 - local.get $0 + local.get $4 + local.get $2 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $2 i32.load $0 - local.tee $2 + local.set $3 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1392 + i32.const 357 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const -4 i32.and - i32.const 28 + local.get $5 i32.sub - local.tee $3 + local.tee $6 i32.const 16 i32.ge_u if - local.get $0 local.get $2 + local.get $5 + local.get $3 i32.const 2 i32.and - i32.const 28 i32.or i32.store $0 - local.get $0 - i32.const 32 + local.get $2 + i32.const 4 i32.add - local.tee $2 - local.get $3 + local.get $5 + i32.add + local.tee $3 + local.get $6 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 - local.get $2 + local.get $4 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 local.get $2 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $2 i32.const 4 i32.add - local.get $0 + local.get $2 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.load $0 i32.const -3 i32.and i32.store $0 end - local.get $0 - i32.const 3 + local.get $2 + local.get $1 i32.store $0 offset=12 + local.get $2 local.get $0 - i32.const 4 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 i32.load $0 offset=8 - local.set $2 - local.get $0 + local.set $3 + local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 local.get $2 + local.get $3 i32.store $0 offset=8 + local.get $3 local.get $2 - local.get $0 - local.get $2 + local.get $3 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 local.get $1 - local.get $0 + local.get $2 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $2 i32.load $0 i32.const -4 i32.and @@ -1353,13 +1495,14 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $2 i32.const 20 i32.add - local.tee $0 + local.tee $1 i32.const 0 - i32.store $0 align=1 local.get $0 + memory.fill $0 + local.get $1 ) (func $issues/1095/Foo#set:bar (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 @@ -1372,7 +1515,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1421,11 +1564,14 @@ block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1450,7 +1596,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1604 + i32.const 1608 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1460,7 +1606,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34372 + i32.const 34376 i32.sub i32.const 1 i32.shr_u @@ -1494,7 +1640,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1604 + i32.const 1608 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1502,10 +1648,41 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 4 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1608 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 1456 i32.store $0 offset=4 local.get $0 @@ -1523,7 +1700,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1604 + i32.const 1608 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index 04b7c3376b..2e4e31bb80 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -25,20 +25,20 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $issues/1225/x (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 484)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33252)) - (global $~lib/memory/__heap_base i32 (i32.const 33252)) + (global $~lib/memory/__data_end i32 (i32.const 488)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) + (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s\00") - (data (i32.const 464) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s\00") + (data (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "normal" (func $issues/1225/normal)) @@ -124,7 +124,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -194,7 +194,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -211,7 +211,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -262,7 +262,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -308,7 +308,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1573,7 +1573,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2167,7 +2167,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2344,6 +2344,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2352,17 +2355,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $issues/1225/X block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1225/X $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1225/X $invalid + end + return end return end @@ -2456,7 +2465,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index d6f469ab40..e941f46660 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -18,21 +18,21 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $issues/1225/x (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34276)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s") - (data (i32.const 1488) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1448) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s") + (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "normal" (func $issues/1225/normal)) (export "viaThis" (func $issues/1225/viaThis)) (export "memory" (memory $0)) @@ -70,7 +70,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -760,7 +760,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -854,13 +854,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -883,7 +883,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34276 + i32.const 34280 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1189,7 +1189,7 @@ i32.store $0 end local.get $0 - i32.const 3 + i32.const 4 i32.store $0 offset=12 local.get $0 i32.const 12 @@ -1241,11 +1241,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1225/X $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1225/X $invalid + end + return end return end @@ -1269,7 +1272,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34276 + i32.const 34280 i32.sub i32.const 1 i32.shr_u @@ -1303,7 +1306,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s if i32.const 34304 @@ -1409,7 +1412,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s if i32.const 34304 @@ -1444,7 +1447,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s if i32.const 34304 @@ -1496,7 +1499,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1516,14 +1519,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34276 + i32.const 34280 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1537,7 +1540,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1559,7 +1562,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index bf9a4fc844..258da2b726 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -25,23 +25,23 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 688)) - (global $~lib/memory/__data_end i32 (i32.const 712)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33480)) - (global $~lib/memory/__heap_base i32 (i32.const 33480)) + (global $~lib/memory/__data_end i32 (i32.const 716)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33484)) + (global $~lib/memory/__heap_base i32 (i32.const 33484)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s\00") - (data (i32.const 688) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A\00\00") + (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s\00") + (data (i32.const 688) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -111,7 +111,7 @@ if i32.const 0 i32.const 192 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -181,7 +181,7 @@ if i32.const 0 i32.const 192 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -198,7 +198,7 @@ if i32.const 0 i32.const 192 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -249,7 +249,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -295,7 +295,7 @@ if (result i32) i32.const 0 i32.const 192 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1560,7 +1560,7 @@ if i32.const 0 i32.const 192 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2154,7 +2154,7 @@ if i32.const 128 i32.const 192 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2213,7 +2213,7 @@ if i32.const 0 i32.const 192 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2548,6 +2548,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2556,6 +2559,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2606,6 +2612,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2617,11 +2626,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid + end + return end return end @@ -2792,7 +2804,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2835,7 +2847,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -2863,6 +2875,34 @@ global.set $~lib/memory/__stack_pointer local.get $6 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $issues/1699/MultiAssignmentTest#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2878,11 +2918,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 2 call $issues/1699/MultiAssignmentTest#set:test diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 49fc9093cb..383786e450 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -17,27 +17,27 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34504)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34508)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) ",") - (data (i32.const 1096) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1144) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1388) ",") - (data (i32.const 1400) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1468) "<") - (data (i32.const 1480) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1532) "|") - (data (i32.const 1544) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 1544) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (data (i32.const 1660) ",") - (data (i32.const 1672) "\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s") - (data (i32.const 1712) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A") + (data (i32.const 1672) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s") + (data (i32.const 1712) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -71,7 +71,7 @@ if i32.const 0 i32.const 1216 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -104,7 +104,7 @@ if i32.const 0 i32.const 1216 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -124,14 +124,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34504 + i32.const 34508 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1216 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -145,7 +145,7 @@ if i32.const 0 i32.const 1216 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -167,7 +167,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -893,7 +893,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34504 + i32.const 34508 i32.lt_u if local.get $0 @@ -987,13 +987,13 @@ if i32.const 0 i32.const 1216 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34504 + i32.const 34508 i32.lt_u if local.get $0 @@ -1016,7 +1016,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34504 + i32.const 34508 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1216,7 +1216,7 @@ if i32.const 1152 i32.const 1216 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1668,11 +1668,14 @@ block $issues/1699/MultiAssignmentTest block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid + end + return end return end @@ -1729,7 +1732,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34504 + i32.const 34508 i32.sub i32.const 1 i32.shr_u @@ -1764,7 +1767,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1736 + i32.const 1740 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1779,7 +1782,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1736 + i32.const 1740 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1788,7 +1791,7 @@ i64.store $0 local.get $1 i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -1806,7 +1809,7 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=4 @@ -1928,39 +1931,71 @@ ) (func $issues/1699/MultiAssignmentTest#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1736 - i32.lt_s - if - i32.const 34528 - i32.const 34576 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 4 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - i32.const 2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34528 + i32.const 34576 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -1968,7 +2003,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1736 + i32.const 1740 i32.lt_s if i32.const 34528 @@ -2045,7 +2080,7 @@ if i32.const 0 i32.const 1216 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/issues/1714.debug.wat b/tests/compiler/issues/1714.debug.wat index 776c078245..defbea33f4 100644 --- a/tests/compiler/issues/1714.debug.wat +++ b/tests/compiler/issues/1714.debug.wat @@ -14,8 +14,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s\00") + (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/issues/1714.release.wat b/tests/compiler/issues/1714.release.wat index 28231baf39..dccf7c4982 100644 --- a/tests/compiler/issues/1714.release.wat +++ b/tests/compiler/issues/1714.release.wat @@ -5,9 +5,9 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33884)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s") (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\01\00\00\00\06\00\00\00i\003\002") + (data (i32.const 1096) "\02\00\00\00\06\00\00\00i\003\002") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/issues/2166.debug.wat b/tests/compiler/issues/2166.debug.wat index 9c108e4e18..825b6f6316 100644 --- a/tests/compiler/issues/2166.debug.wat +++ b/tests/compiler/issues/2166.debug.wat @@ -26,24 +26,24 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 608)) - (global $~lib/memory/__data_end i32 (i32.const 632)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33400)) - (global $~lib/memory/__heap_base i32 (i32.const 33400)) + (global $~lib/memory/__data_end i32 (i32.const 636)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33404)) + (global $~lib/memory/__heap_base i32 (i32.const 33404)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") - (data (i32.const 476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") - (data (i32.const 556) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 608) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data (i32.const 476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s\00") + (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data (i32.const 556) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 608) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -113,7 +113,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -183,7 +183,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -200,7 +200,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -251,7 +251,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -297,7 +297,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1562,7 +1562,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2156,7 +2156,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2371,6 +2371,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2379,6 +2382,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $issues/2166/Test2166Ref2 @@ -2386,11 +2392,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid + end + return end return end @@ -2530,7 +2539,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2649,6 +2658,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $issues/2166/Test2166Ref1<~lib/string/String>#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2664,11 +2701,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index bb2cc24356..3c410661bc 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -18,29 +18,29 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34424)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "\1c") - (data (i32.const 1448) "\01\00\00\00\04\00\00\001\001") + (data (i32.const 1448) "\02\00\00\00\04\00\00\001\001") (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data (i32.const 1480) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") (data (i32.const 1500) ",") - (data (i32.const 1512) "\01\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s") + (data (i32.const 1512) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s") (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\01\00\00\00\06\00\00\00i\003\002") + (data (i32.const 1560) "\02\00\00\00\06\00\00\00i\003\002") (data (i32.const 1580) ",") - (data (i32.const 1592) "\01\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006") - (data (i32.const 1632) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 1592) "\02\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006") + (data (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -70,7 +70,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -760,7 +760,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34424 + i32.const 34428 i32.lt_u if local.get $0 @@ -854,13 +854,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34424 + i32.const 34428 i32.lt_u if local.get $0 @@ -883,7 +883,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34424 + i32.const 34428 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1359,11 +1359,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid + end + return end return end @@ -1387,13 +1390,14 @@ (func $~start (type $none_=>_none) (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1403,7 +1407,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34424 + i32.const 34428 i32.sub i32.const 1 i32.shr_u @@ -1437,36 +1441,64 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i64.const 0 i64.store $0 - local.get $0 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store $0 - local.get $1 - i32.const 3 + local.get $0 + i32.const 4 call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 1456 @@ -1476,7 +1508,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1533,7 +1565,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1544,7 +1576,7 @@ i32.const 0 i32.store $0 offset=8 local.get $0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1582,7 +1614,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1649,7 +1681,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1669,14 +1701,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34424 + i32.const 34428 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1690,7 +1722,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1712,7 +1744,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index f17e6f0f7e..91de59a7e6 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -24,19 +24,19 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 436)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33204)) - (global $~lib/memory/__heap_base i32 (i32.const 33204)) + (global $~lib/memory/__data_end i32 (i32.const 440)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) + (global $~lib/memory/__heap_base i32 (i32.const 33208)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "test" (func $issues/2322/index/test)) @@ -107,7 +107,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -177,7 +177,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -194,7 +194,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -245,7 +245,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -291,7 +291,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1556,7 +1556,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2150,7 +2150,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2213,6 +2213,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2221,17 +2224,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $issues/2322/lib/Wrapper block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2322/lib/Wrapper $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2322/lib/Wrapper $invalid + end + return end return end @@ -2301,6 +2310,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $issues/2322/lib/Wrapper#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2316,11 +2353,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $issues/2322/lib/Wrapper#set:v diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index ae6f991dcc..e7cac35cc6 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,19 +17,19 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34228)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "test" (func $issues/2322/index/test)) (export "memory" (memory $0)) (start $~start) @@ -60,7 +60,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -750,7 +750,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34228 + i32.const 34232 i32.lt_u if local.get $0 @@ -844,13 +844,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34228 + i32.const 34232 i32.lt_u if local.get $0 @@ -873,7 +873,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34228 + i32.const 34232 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -935,18 +935,83 @@ end i32.const 0 ) - (func $~lib/rt/tlsf/searchBlock (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + else + i32.const 31 + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + local.get $1 + local.get $1 + i32.const 536870910 + i32.lt_u + select + local.tee $1 + i32.clz + i32.sub + local.tee $3 + i32.const 7 + i32.sub + local.set $2 + local.get $1 + local.get $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $1 + i32.const 16 + i32.lt_u + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 330 + i32.const 14 + call $~lib/builtins/abort + unreachable + end local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add i32.load $0 offset=4 - i32.const -2 + i32.const -1 + local.get $1 + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add i32.const 2 i32.shl i32.add @@ -954,19 +1019,23 @@ else local.get $0 i32.load $0 - i32.const -2 + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl i32.and local.tee $1 if (result i32) local.get $0 local.get $1 i32.ctz - local.tee $2 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 offset=4 - local.tee $1 + local.tee $2 i32.eqz if i32.const 0 @@ -977,9 +1046,9 @@ unreachable end local.get $0 - local.get $1 - i32.ctz local.get $2 + i32.ctz + local.get $1 i32.const 4 i32.shl i32.add @@ -992,23 +1061,35 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/itcms/__new (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 1073741804 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 261 + i32.const 31 + call $~lib/builtins/abort + unreachable + end global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $2 loop $do-loop|0 - local.get $0 + local.get $2 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $2 global.get $~lib/rt/itcms/state i32.eqz if @@ -1024,14 +1105,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $2 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $2 + local.get $2 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1048,39 +1129,83 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1392 + i32.const 458 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 12 + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + local.get $2 + i32.const 12 + i32.le_u + select + local.tee $5 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $2 i32.eqz if memory.size $0 - local.tee $0 + local.tee $2 i32.const 4 - local.get $1 + local.get $4 i32.load $0 offset=1568 - local.get $0 + local.get $2 i32.const 16 i32.shl i32.const 4 i32.sub i32.ne i32.shl - i32.const 65563 + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.get $5 + local.get $5 + i32.const 536870910 + i32.lt_u + select + i32.add + i32.const 65535 i32.add i32.const -65536 i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 + local.tee $3 local.get $2 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1088,17 +1213,18 @@ unreachable end end - local.get $1 - local.get $0 + local.get $4 + local.get $2 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $4 + local.get $5 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $2 i32.eqz if i32.const 0 @@ -1109,12 +1235,12 @@ unreachable end end - local.get $0 + local.get $5 + local.get $2 i32.load $0 i32.const -4 i32.and - i32.const 28 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1123,92 +1249,108 @@ call $~lib/builtins/abort unreachable end - local.get $1 - local.get $0 + local.get $4 + local.get $2 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $2 i32.load $0 - local.tee $2 + local.set $3 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1392 + i32.const 357 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const -4 i32.and - i32.const 28 + local.get $5 i32.sub - local.tee $3 + local.tee $6 i32.const 16 i32.ge_u if - local.get $0 local.get $2 + local.get $5 + local.get $3 i32.const 2 i32.and - i32.const 28 i32.or i32.store $0 - local.get $0 - i32.const 32 + local.get $2 + i32.const 4 i32.add - local.tee $2 - local.get $3 + local.get $5 + i32.add + local.tee $3 + local.get $6 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 - local.get $2 + local.get $4 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 local.get $2 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $2 i32.const 4 i32.add - local.get $0 + local.get $2 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.load $0 i32.const -3 i32.and i32.store $0 end - local.get $0 - i32.const 3 + local.get $2 + local.get $1 i32.store $0 offset=12 + local.get $2 local.get $0 - i32.const 4 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 i32.load $0 offset=8 - local.set $2 - local.get $0 + local.set $3 + local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 local.get $2 + local.get $3 i32.store $0 offset=8 + local.get $3 local.get $2 - local.get $0 - local.get $2 + local.get $3 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 local.get $1 - local.get $0 + local.get $2 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $2 i32.load $0 i32.const -4 i32.and @@ -1216,13 +1358,14 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $2 i32.const 20 i32.add - local.tee $0 + local.tee $1 i32.const 0 - i32.store $0 align=1 local.get $0 + memory.fill $0 + local.get $1 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid @@ -1230,11 +1373,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2322/lib/Wrapper $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2322/lib/Wrapper $invalid + end + return end return end @@ -1257,7 +1403,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34228 + i32.const 34232 i32.sub i32.const 1 i32.shr_u @@ -1289,13 +1435,14 @@ ) (func $issues/2322/index/test (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1460 + i32.const 1464 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1307,7 +1454,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1460 + i32.const 1464 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1315,9 +1462,40 @@ i32.const 0 i32.store $0 local.get $0 + i32.const 4 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1464 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.const 0 i32.store $0 @@ -1366,7 +1544,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1386,14 +1564,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34228 + i32.const 34232 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1407,7 +1585,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1429,7 +1607,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/logical.debug.wat b/tests/compiler/logical.debug.wat index 5241837581..29ee6a516e 100644 --- a/tests/compiler/logical.debug.wat +++ b/tests/compiler/logical.debug.wat @@ -29,20 +29,20 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 484)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33252)) - (global $~lib/memory/__heap_base i32 (i32.const 33252)) + (global $~lib/memory/__data_end i32 (i32.const 488)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) + (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -132,7 +132,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -202,7 +202,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -219,7 +219,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -270,7 +270,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -316,7 +316,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1581,7 +1581,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2175,7 +2175,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2298,6 +2298,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2306,17 +2309,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $logical/Obj block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $logical/Obj $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $logical/Obj $invalid + end + return end return end @@ -2900,6 +2909,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $logical/Obj#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2915,11 +2952,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/logical.release.wat b/tests/compiler/logical.release.wat index 9dcc2f1791..185e7217ee 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) - (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,21 +17,21 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34276)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -61,7 +61,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -751,7 +751,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -845,13 +845,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -874,7 +874,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34276 + i32.const 34280 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -993,23 +993,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1025,14 +1025,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1049,17 +1049,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1072,16 +1072,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1089,17 +1089,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1110,7 +1110,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1124,92 +1124,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1217,7 +1217,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1232,11 +1232,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $logical/Obj $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $logical/Obj $invalid + end + return end return end @@ -1262,7 +1265,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s if i32.const 34304 @@ -1278,7 +1281,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34276 + i32.const 34280 i32.sub i32.const 1 i32.shr_u @@ -1337,7 +1340,7 @@ call $~lib/builtins/abort unreachable end - i32.const 34276 + i32.const 34280 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -1379,34 +1382,66 @@ ) (func $logical/Obj#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1508 - i32.lt_s - if - i32.const 34304 - i32.const 34352 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34304 + i32.const 34352 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1433,7 +1468,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1453,14 +1488,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34276 + i32.const 34280 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1474,7 +1509,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1496,7 +1531,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/loop-flow.debug.wat b/tests/compiler/loop-flow.debug.wat index 8df5e3776b..327a96aad5 100644 --- a/tests/compiler/loop-flow.debug.wat +++ b/tests/compiler/loop-flow.debug.wat @@ -8,8 +8,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00") + (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00r\00m\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "whileReturn" (func $loop-flow/whileReturn)) diff --git a/tests/compiler/loop-flow.release.wat b/tests/compiler/loop-flow.release.wat index ba7b8e3d2c..be1bb71b7c 100644 --- a/tests/compiler/loop-flow.release.wat +++ b/tests/compiler/loop-flow.release.wat @@ -6,9 +6,9 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s") (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\01\00\00\00\08\00\00\00t\00e\00r\00m") + (data (i32.const 1096) "\02\00\00\00\08\00\00\00t\00e\00r\00m") (export "whileReturn" (func $loop-flow/whileReturn)) (export "whileThrow" (func $loop-flow/whileThrow)) (export "whileContinue" (func $loop-flow/whileContinue)) diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index deceb82d0e..b98ea6d082 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -24,22 +24,22 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 608)) - (global $~lib/memory/__data_end i32 (i32.const 632)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33400)) - (global $~lib/memory/__heap_base i32 (i32.const 33400)) + (global $~lib/memory/__data_end i32 (i32.const 636)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33404)) + (global $~lib/memory/__heap_base i32 (i32.const 33404)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 608) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 608) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -109,7 +109,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -179,7 +179,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -196,7 +196,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -247,7 +247,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -293,7 +293,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1558,7 +1558,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2152,7 +2152,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2366,7 +2366,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 3 + i32.const 4 i32.eq br_if $is_instance i32.const 0 @@ -2386,6 +2386,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2394,6 +2397,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $managed-cast/Animal @@ -2401,11 +2407,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $managed-cast/Cat $managed-cast/Animal $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $managed-cast/Cat $managed-cast/Animal $invalid + end + return end return end @@ -2656,6 +2665,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $managed-cast/Animal#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2671,11 +2708,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2699,7 +2741,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 7a790c4405..34216ecf70 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -17,25 +17,25 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34424)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "<") - (data (i32.const 1448) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1448) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (data (i32.const 1500) "<") - (data (i32.const 1512) "\01\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s") + (data (i32.const 1512) "\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s") (data (i32.const 1564) "<") - (data (i32.const 1576) "\01\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t") - (data (i32.const 1632) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 1576) "\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t") + (data (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -65,7 +65,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -755,7 +755,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34424 + i32.const 34428 i32.lt_u if local.get $0 @@ -849,13 +849,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34424 + i32.const 34428 i32.lt_u if local.get $0 @@ -878,7 +878,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34424 + i32.const 34428 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1237,11 +1237,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $managed-cast/Cat $managed-cast/Animal $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $managed-cast/Cat $managed-cast/Animal $invalid + end + return end return end @@ -1271,7 +1274,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1280,7 +1283,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34424 + i32.const 34428 i32.sub i32.const 1 i32.shr_u @@ -1324,7 +1327,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1368,7 +1371,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1378,7 +1381,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 3 + i32.const 4 i32.ne if i32.const 1584 @@ -1406,7 +1409,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1432,7 +1435,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 3 + i32.const 4 i32.ne br_if $__inlined_func$~instanceof|managed-cast/Cat15 drop @@ -1465,7 +1468,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1476,7 +1479,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 3 + i32.const 4 i32.ne if i32.const 1584 @@ -1503,7 +1506,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1516,7 +1519,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 3 + i32.const 4 i32.ne if i32.const 1584 @@ -1537,7 +1540,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 34424 + i32.const 34428 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -1588,13 +1591,14 @@ (func $managed-cast/Cat#constructor (type $none_=>_i32) (result i32) (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1602,7 +1606,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1612,7 +1616,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1656 + i32.const 1660 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1622,12 +1626,40 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1673,7 +1705,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1693,14 +1725,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34424 + i32.const 34428 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1714,7 +1746,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1736,7 +1768,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/many-locals.debug.wat b/tests/compiler/many-locals.debug.wat index 742684cd36..a300cb64ad 100644 --- a/tests/compiler/many-locals.debug.wat +++ b/tests/compiler/many-locals.debug.wat @@ -7,7 +7,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "testI32" (func $many-locals/testI32)) diff --git a/tests/compiler/many-locals.release.wat b/tests/compiler/many-locals.release.wat index fa9feba96d..07f0c36f40 100644 --- a/tests/compiler/many-locals.release.wat +++ b/tests/compiler/many-locals.release.wat @@ -2,7 +2,7 @@ (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s") (export "testI32" (func $many-locals/testI32)) (export "testI8" (func $many-locals/testI8)) (export "memory" (memory $0)) diff --git a/tests/compiler/memcpy.debug.wat b/tests/compiler/memcpy.debug.wat index 0e8c84d06f..2c5bfa9fcc 100644 --- a/tests/compiler/memcpy.debug.wat +++ b/tests/compiler/memcpy.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memcpy" (func $memcpy/memcpy)) diff --git a/tests/compiler/memcpy.release.wat b/tests/compiler/memcpy.release.wat index 89fcd42005..a317f8b5c5 100644 --- a/tests/compiler/memcpy.release.wat +++ b/tests/compiler/memcpy.release.wat @@ -6,7 +6,7 @@ (global $memcpy/dest (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s") (export "memcpy" (func $memcpy/memcpy)) (export "memory" (memory $0)) (start $~start) diff --git a/tests/compiler/memmove.debug.wat b/tests/compiler/memmove.debug.wat index 17c075ba38..3763257d0a 100644 --- a/tests/compiler/memmove.debug.wat +++ b/tests/compiler/memmove.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/memmove.release.wat b/tests/compiler/memmove.release.wat index 6d8fd92828..2caf9c5831 100644 --- a/tests/compiler/memmove.release.wat +++ b/tests/compiler/memmove.release.wat @@ -6,7 +6,7 @@ (global $memmove/dest (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $memmove/memmove (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) diff --git a/tests/compiler/memory.debug.wat b/tests/compiler/memory.debug.wat index 364eb7e660..5cd823a88c 100644 --- a/tests/compiler/memory.debug.wat +++ b/tests/compiler/memory.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32980)) (memory $0 1) (data (i32.const 16) "\00\00\00\00") - (data (i32.const 28) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 28) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 80) "\00") (data (i32.const 96) "\00") (data (i32.const 104) "\00") diff --git a/tests/compiler/memory.release.wat b/tests/compiler/memory.release.wat index eac4199426..c0ea18ba5e 100644 --- a/tests/compiler/memory.release.wat +++ b/tests/compiler/memory.release.wat @@ -5,7 +5,7 @@ (global $memory/ptr (mut i32) (i32.const 1088)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s") (data (i32.const 1169) "\01\02\03") (data (i32.const 1174) "\c0?\00\00 @\00\00`@") (data (i32.const 1200) "\01") diff --git a/tests/compiler/memset.debug.wat b/tests/compiler/memset.debug.wat index ce6e8d35d6..f009dc65de 100644 --- a/tests/compiler/memset.debug.wat +++ b/tests/compiler/memset.debug.wat @@ -8,7 +8,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/memset.release.wat b/tests/compiler/memset.release.wat index 1e51820506..c4e23a6ca1 100644 --- a/tests/compiler/memset.release.wat +++ b/tests/compiler/memset.release.wat @@ -6,7 +6,7 @@ (global $memset/dest (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $memset/memset (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) diff --git a/tests/compiler/mutable-globals.debug.wat b/tests/compiler/mutable-globals.debug.wat index 514f8d4e8e..1498441d0e 100644 --- a/tests/compiler/mutable-globals.debug.wat +++ b/tests/compiler/mutable-globals.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32844)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "external" (global $mutable-globals/external)) diff --git a/tests/compiler/mutable-globals.release.wat b/tests/compiler/mutable-globals.release.wat index 9c1328e3d9..d0063f01da 100644 --- a/tests/compiler/mutable-globals.release.wat +++ b/tests/compiler/mutable-globals.release.wat @@ -7,7 +7,7 @@ (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s") (export "external" (global $mutable-globals/external)) (export "internal" (global $mutable-globals/internal)) (export "memory" (memory $0)) diff --git a/tests/compiler/new.debug.wat b/tests/compiler/new.debug.wat index de182052e9..da97a0dd1c 100644 --- a/tests/compiler/new.debug.wat +++ b/tests/compiler/new.debug.wat @@ -30,19 +30,19 @@ (global $new/genext2 (mut i32) (i32.const 0)) (global $new/genext3 (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 448)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33216)) - (global $~lib/memory/__heap_base i32 (i32.const 33216)) + (global $~lib/memory/__data_end i32 (i32.const 452)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33220)) + (global $~lib/memory/__heap_base i32 (i32.const 33220)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\07\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 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -112,7 +112,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -182,7 +182,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -199,7 +199,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -250,7 +250,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -296,7 +296,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1561,7 +1561,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2155,7 +2155,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2261,6 +2261,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2269,6 +2272,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $new/GenExt @@ -2278,11 +2284,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $new/Ref $new/Gen $new/ns.Ref $new/GenExt $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $new/Ref $new/Gen $new/ns.Ref $new/GenExt $invalid + end + return end return end @@ -2405,6 +2414,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $new/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2420,11 +2457,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2448,11 +2490,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2476,11 +2523,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2504,7 +2556,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index fbc91074c2..69a8a5465f 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -1,7 +1,7 @@ (module (type $none_=>_i32 (func_subtype (result i32) func)) - (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -23,19 +23,19 @@ (global $new/genext (mut i32) (i32.const 0)) (global $new/genext2 (mut i32) (i32.const 0)) (global $new/genext3 (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34240)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34244)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\07\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 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\08\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 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -101,7 +101,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -650,10 +650,10 @@ if unreachable end - i32.const 34240 + i32.const 34256 i32.const 0 i32.store $0 - i32.const 35808 + i32.const 35824 i32.const 0 i32.store $0 loop $for-loop|0 @@ -664,7 +664,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34240 + i32.const 34256 i32.add i32.const 0 i32.store $0 offset=4 @@ -682,7 +682,7 @@ i32.add i32.const 2 i32.shl - i32.const 34240 + i32.const 34256 i32.add i32.const 0 i32.store $0 offset=96 @@ -700,13 +700,13 @@ br $for-loop|0 end end - i32.const 34240 - i32.const 35812 + i32.const 34256 + i32.const 35828 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34240 + i32.const 34256 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -791,7 +791,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34240 + i32.const 34244 i32.lt_u if local.get $0 @@ -885,13 +885,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34240 + i32.const 34244 i32.lt_u if local.get $0 @@ -914,7 +914,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34240 + i32.const 34244 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1275,11 +1275,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $new/Ref $new/Gen $new/ns.Ref $new/GenExt $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $new/Ref $new/Gen $new/ns.Ref $new/GenExt $invalid + end + return end return end @@ -1311,7 +1314,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1472 + i32.const 1476 i32.lt_s if i32.const 34272 @@ -1327,7 +1330,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34240 + i32.const 34244 i32.sub i32.const 1 i32.shr_u @@ -1403,6 +1406,40 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1476 + i32.lt_s + if + i32.const 34272 + i32.const 34320 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $new/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -1410,7 +1447,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1472 + i32.const 1476 i32.lt_s if i32.const 34272 @@ -1425,11 +1462,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1441,7 +1483,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1472 + i32.const 1476 i32.lt_s if i32.const 34272 @@ -1458,12 +1500,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1476,7 +1523,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1472 + i32.const 1476 i32.lt_s if i32.const 34272 @@ -1491,11 +1538,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1508,7 +1560,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1472 + i32.const 1476 i32.lt_s if i32.const 34272 @@ -1523,7 +1575,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1563,7 +1615,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1583,14 +1635,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34240 + i32.const 34244 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1604,7 +1656,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1626,7 +1678,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index 8d54b65637..491af15e8b 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -32,26 +32,26 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 688)) - (global $~lib/memory/__data_end i32 (i32.const 720)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33488)) - (global $~lib/memory/__heap_base i32 (i32.const 33488)) + (global $~lib/memory/__data_end i32 (i32.const 724)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33492)) + (global $~lib/memory/__heap_base i32 (i32.const 33492)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 128) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") (data (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00h\00e\00l\00l\00o\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") - (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00b\00a\00r\00\00\00\00\00\00\00") - (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00b\00a\00z\00\00\00\00\00\00\00") - (data (i32.const 688) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00h\00e\00l\00l\00o\00\00\00") + (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") + (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00a\00r\00\00\00\00\00\00\00") + (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00a\00z\00\00\00\00\00\00\00") + (data (i32.const 688) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -130,7 +130,7 @@ if i32.const 0 i32.const 80 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -147,7 +147,7 @@ if i32.const 0 i32.const 80 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -207,7 +207,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -253,7 +253,7 @@ if (result i32) i32.const 0 i32.const 80 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -292,7 +292,7 @@ if i32.const 0 i32.const 80 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -381,7 +381,7 @@ if i32.const 0 i32.const 80 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -1652,7 +1652,7 @@ if i32.const 0 i32.const 80 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2246,7 +2246,7 @@ if i32.const 288 i32.const 80 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3026,6 +3026,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3034,9 +3037,15 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $object-literal/Managed~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 offset=4 local.tee $2 if @@ -3048,6 +3057,9 @@ (func $object-literal/MixedOmitted~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 offset=4 local.tee $2 if @@ -3059,6 +3071,9 @@ (func $object-literal/OmittedFoo~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3132,11 +3147,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $object-literal/Managed $object-literal/OmittedTypes $object-literal/MixedOmitted $object-literal/OmittedFoo $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $object-literal/Managed $object-literal/OmittedTypes $object-literal/MixedOmitted $object-literal/OmittedFoo $invalid + end + return end return end @@ -3365,11 +3383,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 40 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 640 local.set $1 @@ -3814,6 +3837,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $object-literal/Managed#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3829,11 +3880,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $object-literal/Managed#set:bar @@ -3973,7 +4029,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -4006,11 +4062,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 65 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $object-literal/OmittedTypes#set:int32 @@ -4076,11 +4137,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $object-literal/MixedOmitted#set:simpleType diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index c1a399bc40..a9f4940259 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -6,6 +6,7 @@ (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) @@ -17,34 +18,34 @@ (global $~lib/rt/itcms/pinSpace (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34512)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34516)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1096) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1180) "<") - (data (i32.const 1192) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1192) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1244) ",") - (data (i32.const 1256) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1256) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1292) "<") - (data (i32.const 1304) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1304) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1484) "<") - (data (i32.const 1496) "\01\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") + (data (i32.const 1496) "\02\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\01") + (data (i32.const 1560) "\02") (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\01\00\00\00\n\00\00\00h\00e\00l\00l\00o") + (data (i32.const 1592) "\02\00\00\00\n\00\00\00h\00e\00l\00l\00o") (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\01\00\00\00\08\00\00\00t\00e\00s\00t") + (data (i32.const 1624) "\02\00\00\00\08\00\00\00t\00e\00s\00t") (data (i32.const 1644) "\1c") - (data (i32.const 1656) "\01\00\00\00\06\00\00\00b\00a\00r") + (data (i32.const 1656) "\02\00\00\00\06\00\00\00b\00a\00r") (data (i32.const 1676) "\1c") - (data (i32.const 1688) "\01\00\00\00\06\00\00\00b\00a\00z") - (data (i32.const 1712) "\07\00\00\00 \00\00\00 ") - (data (i32.const 1732) " ") + (data (i32.const 1688) "\02\00\00\00\06\00\00\00b\00a\00z") + (data (i32.const 1712) "\08\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1736) " ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) @@ -62,7 +63,7 @@ if i32.const 0 i32.const 1104 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -82,14 +83,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1104 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -103,7 +104,7 @@ if i32.const 0 i32.const 1104 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -125,7 +126,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -206,7 +207,7 @@ if i32.const 0 i32.const 1104 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -755,10 +756,10 @@ if unreachable end - i32.const 34512 + i32.const 34528 i32.const 0 i32.store $0 - i32.const 36080 + i32.const 36096 i32.const 0 i32.store $0 loop $for-loop|0 @@ -769,7 +770,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34512 + i32.const 34528 i32.add i32.const 0 i32.store $0 offset=4 @@ -787,7 +788,7 @@ i32.add i32.const 2 i32.shl - i32.const 34512 + i32.const 34528 i32.add i32.const 0 i32.store $0 offset=96 @@ -805,20 +806,20 @@ br $for-loop|0 end end - i32.const 34512 - i32.const 36084 + i32.const 34528 + i32.const 36100 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34512 + i32.const 34528 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/__free (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if return @@ -948,7 +949,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if local.get $0 @@ -1042,13 +1043,13 @@ if i32.const 0 i32.const 1104 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if local.get $0 @@ -1415,7 +1416,7 @@ if i32.const 1312 i32.const 1104 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1648,11 +1649,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $object-literal/OmittedTypes $folding-inner0 $object-literal/OmittedFoo $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $object-literal/OmittedTypes $folding-inner0 $object-literal/OmittedFoo $invalid + end + return end return end @@ -1752,7 +1756,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1771,7 +1775,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34512 + i32.const 34516 i32.sub i32.const 1 i32.shr_u @@ -1797,7 +1801,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1806,10 +1810,15 @@ i32.store $0 local.get $1 i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 local.get $1 i32.const 0 i32.store $0 @@ -1844,7 +1853,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1915,7 +1924,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1982,7 +1991,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2009,7 +2018,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2061,7 +2070,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2070,10 +2079,15 @@ i32.store $0 local.get $1 i32.const 65 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 local.get $1 i32.const 0 i32.store $0 @@ -2324,7 +2338,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2333,10 +2347,15 @@ i32.store $0 local.get $1 i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 local.get $1 i32.const 0 i32.store $0 @@ -2377,7 +2396,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2437,7 +2456,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2446,11 +2465,16 @@ i64.store $0 local.get $1 i32.const 40 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 1664 i32.store $0 offset=4 local.get $1 @@ -2528,7 +2552,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2704,7 +2728,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.const 34512 + i32.const 34516 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -2752,6 +2776,41 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 @@ -2777,7 +2836,7 @@ if i32.const 0 i32.const 1104 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/optional-typeparameters.debug.wat b/tests/compiler/optional-typeparameters.debug.wat index 7daf22eeaa..fd185638c9 100644 --- a/tests/compiler/optional-typeparameters.debug.wat +++ b/tests/compiler/optional-typeparameters.debug.wat @@ -29,19 +29,19 @@ (global $optional-typeparameters/tMethodDerived (mut i32) (i32.const 0)) (global $optional-typeparameters/tMethodDerived2 (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 452)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33220)) - (global $~lib/memory/__heap_base i32 (i32.const 33220)) + (global $~lib/memory/__data_end i32 (i32.const 456)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33224)) + (global $~lib/memory/__heap_base i32 (i32.const 33224)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\08\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\02A\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\t\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\02A\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -117,7 +117,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -187,7 +187,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -204,7 +204,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -255,7 +255,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -301,7 +301,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1566,7 +1566,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2160,7 +2160,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2214,8 +2214,8 @@ f64.add ) (func $optional-typeparameters/TestMethodDerived<~lib/string/String>#test<~lib/array/Array<~lib/string/String>> (type $i32_=>_none) (param $this i32) - i32.const 6 - i32.const 6 + i32.const 7 + i32.const 7 i32.eq drop ) @@ -2263,6 +2263,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2271,6 +2274,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2329,6 +2335,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -2343,11 +2352,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + end + return end return end @@ -2479,6 +2491,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $optional-typeparameters/TestConcrete#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2494,11 +2534,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2522,11 +2567,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2550,11 +2600,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2578,11 +2633,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index 4e7ceb4e33..e03386be8f 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -1,7 +1,7 @@ (module (type $none_=>_none (func_subtype func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) @@ -21,19 +21,19 @@ (global $optional-typeparameters/tDerived (mut i32) (i32.const 0)) (global $optional-typeparameters/tMethodDerived (mut i32) (i32.const 0)) (global $optional-typeparameters/tMethodDerived2 (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34244)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34248)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\08\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\02A\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\t\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\02A\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -87,7 +87,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -777,7 +777,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34244 + i32.const 34248 i32.lt_u if local.get $0 @@ -871,13 +871,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34244 + i32.const 34248 i32.lt_u if local.get $0 @@ -900,7 +900,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34244 + i32.const 34248 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1265,11 +1265,14 @@ block $optional-typeparameters/TestConcrete block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + end + return end return end @@ -1331,7 +1334,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1476 + i32.const 1480 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1341,7 +1344,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34244 + i32.const 34248 i32.sub i32.const 1 i32.shr_u @@ -1375,7 +1378,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1476 + i32.const 1480 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1383,11 +1386,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1401,7 +1409,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1476 + i32.const 1480 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1409,11 +1417,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1427,7 +1440,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1476 + i32.const 1480 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1435,11 +1448,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1453,7 +1471,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1476 + i32.const 1480 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1461,11 +1479,16 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1490,6 +1513,40 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1480 + i32.lt_s + if + i32.const 34272 + i32.const 34320 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) @@ -1515,7 +1572,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1535,14 +1592,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34244 + i32.const 34248 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1556,7 +1613,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1578,7 +1635,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/overflow.debug.wat b/tests/compiler/overflow.debug.wat index 141f4ffb4e..5835150caf 100644 --- a/tests/compiler/overflow.debug.wat +++ b/tests/compiler/overflow.debug.wat @@ -6,7 +6,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/overflow.release.wat b/tests/compiler/overflow.release.wat index 59c4c80cd4..e36eef41ca 100644 --- a/tests/compiler/overflow.release.wat +++ b/tests/compiler/overflow.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/portable-conversions.debug.wat b/tests/compiler/portable-conversions.debug.wat index af44234b8e..992103fa87 100644 --- a/tests/compiler/portable-conversions.debug.wat +++ b/tests/compiler/portable-conversions.debug.wat @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/portable-conversions.release.wat b/tests/compiler/portable-conversions.release.wat index 1a9befc1fa..3b90f4a65f 100644 --- a/tests/compiler/portable-conversions.release.wat +++ b/tests/compiler/portable-conversions.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 1036) "L") - (data (i32.const 1048) "\01\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/reexport.debug.wat b/tests/compiler/reexport.debug.wat index c1ddb4b6d9..efd75053d3 100644 --- a/tests/compiler/reexport.debug.wat +++ b/tests/compiler/reexport.debug.wat @@ -35,20 +35,20 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $reexport/car (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 484)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33252)) - (global $~lib/memory/__heap_base i32 (i32.const 33252)) + (global $~lib/memory/__data_end i32 (i32.const 488)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) + (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "add" (func $export/add)) @@ -150,7 +150,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -220,7 +220,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -237,7 +237,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -288,7 +288,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -334,7 +334,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1599,7 +1599,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2193,7 +2193,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2271,6 +2271,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2279,17 +2282,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $exports/Car block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + end + return end return end @@ -2425,7 +2434,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/reexport.release.wat b/tests/compiler/reexport.release.wat index 7fc664a770..812714a0b3 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -22,21 +22,21 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $reexport/car (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34276)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "add" (func $export/add)) (export "renamed_sub" (func $export/sub)) (export "renamed_mul" (func $export/mul)) @@ -94,7 +94,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -784,7 +784,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -878,13 +878,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -907,7 +907,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34276 + i32.const 34280 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1213,7 +1213,7 @@ i32.store $0 end local.get $0 - i32.const 3 + i32.const 4 i32.store $0 offset=12 local.get $0 i32.const 4 @@ -1272,11 +1272,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + end + return end return end @@ -1303,7 +1306,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1313,7 +1316,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34276 + i32.const 34280 i32.sub i32.const 1 i32.shr_u @@ -1347,7 +1350,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1424,7 +1427,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1444,14 +1447,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34276 + i32.const 34280 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1465,7 +1468,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1487,7 +1490,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/rereexport.debug.wat b/tests/compiler/rereexport.debug.wat index 3fd95987dc..7314e8d383 100644 --- a/tests/compiler/rereexport.debug.wat +++ b/tests/compiler/rereexport.debug.wat @@ -33,21 +33,21 @@ (global $rereexport/car (mut i32) (i32.const 0)) (global $rereexport/exportsNamespaceCar (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 512)) - (global $~lib/memory/__data_end i32 (i32.const 532)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33300)) - (global $~lib/memory/__heap_base i32 (i32.const 33300)) + (global $~lib/memory/__data_end i32 (i32.const 536)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33304)) + (global $~lib/memory/__heap_base i32 (i32.const 33304)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") - (data (i32.const 512) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") + (data (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "a" (global $export/a)) @@ -143,7 +143,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -213,7 +213,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -230,7 +230,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -281,7 +281,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -327,7 +327,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1592,7 +1592,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2186,7 +2186,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2273,6 +2273,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2281,17 +2284,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $exports/Car block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + end + return end return end @@ -2543,7 +2552,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/rereexport.release.wat b/tests/compiler/rereexport.release.wat index 33ce0ed27d..1d24e1514c 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -22,23 +22,23 @@ (global $reexport/car (mut i32) (i32.const 0)) (global $rereexport/car (mut i32) (i32.const 0)) (global $rereexport/exportsNamespaceCar (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34324)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34328)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1484) ",") - (data (i32.const 1496) "\01\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1536) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1496) "\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) @@ -92,7 +92,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -782,7 +782,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u if local.get $0 @@ -876,13 +876,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u if local.get $0 @@ -905,7 +905,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34324 + i32.const 34328 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1211,7 +1211,7 @@ i32.store $0 end local.get $0 - i32.const 3 + i32.const 4 i32.store $0 offset=12 local.get $0 i32.const 4 @@ -1265,11 +1265,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid + end + return end return end @@ -1296,7 +1299,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1308,7 +1311,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1317,7 +1320,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34324 + i32.const 34328 i32.sub i32.const 1 i32.shr_u @@ -1424,7 +1427,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s if i32.const 34352 @@ -1479,7 +1482,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1499,14 +1502,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34324 + i32.const 34328 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1520,7 +1523,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1542,7 +1545,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index 7e0e63133b..fc3c448602 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -34,27 +34,27 @@ (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 2272)) - (global $~lib/memory/__data_end i32 (i32.const 2300)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35068)) - (global $~lib/memory/__heap_base i32 (i32.const 35068)) + (global $~lib/memory/__data_end i32 (i32.const 2304)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35072)) + (global $~lib/memory/__heap_base i32 (i32.const 35072)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 492) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 492) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 716) "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\00") - (data (i32.const 1116) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2172) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2272) "\06\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 \00\00\00") + (data (i32.const 1116) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2172) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2272) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "arrayAccess" (func $resolve-access/arrayAccess)) @@ -127,7 +127,7 @@ if i32.const 0 i32.const 128 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -197,7 +197,7 @@ if i32.const 0 i32.const 128 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -214,7 +214,7 @@ if i32.const 0 i32.const 128 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -265,7 +265,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -311,7 +311,7 @@ if (result i32) i32.const 0 i32.const 128 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1576,7 +1576,7 @@ if i32.const 0 i32.const 128 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2170,7 +2170,7 @@ if i32.const 64 i32.const 128 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2244,7 +2244,7 @@ if i32.const 0 i32.const 128 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2972,6 +2972,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2980,6 +2983,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2993,6 +2999,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3010,6 +3019,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -3022,11 +3034,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $resolve-access/Container $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $resolve-access/Container $invalid + end + return end return end @@ -3075,8 +3090,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 35088 - i32.const 35136 + i32.const 35104 + i32.const 35152 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3102,7 +3117,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -3211,7 +3226,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3237,7 +3252,7 @@ local.get $decimals|8 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3275,7 +3290,7 @@ local.get $decimals|12 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3302,7 +3317,7 @@ local.get $decimals|16 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3337,7 +3352,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 3 - i32.const 3 + i32.const 4 i32.const 32 call $~lib/rt/__newArray local.tee $arr @@ -3354,6 +3369,34 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $resolve-access/Container#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3369,11 +3412,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i64.const 0 call $resolve-access/Container#set:foo @@ -3476,7 +3524,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3512,7 +3560,7 @@ local.get $decimals|7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3541,7 +3589,7 @@ local.get $decimals|11 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 81eacd70ba..6c2b9b7bf8 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -18,34 +18,34 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36092)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36096)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1052) "\08\00\00\00\01") + (data (i32.const 1048) "\01\00\00\00\08\00\00\00\01") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1080) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1468) ",") - (data (i32.const 1480) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1480) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1516) "|") - (data (i32.const 1528) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1528) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1644) "<") - (data (i32.const 1656) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1656) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1708) "\1c") - (data (i32.const 1720) "\01\00\00\00\02\00\00\000") + (data (i32.const 1720) "\02\00\00\00\02\00\00\000") (data (i32.const 1740) "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 2140) "\1c\04") - (data (i32.const 2152) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2152) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3196) "\\") - (data (i32.const 3208) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3296) "\06\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 ") + (data (i32.const 3208) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3296) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 ") (export "arrayAccess" (func $resolve-access/arrayAccess)) (export "fieldAccess" (func $resolve-access/fieldAccess)) (export "propertyAccess" (func $resolve-access/propertyAccess)) @@ -82,7 +82,7 @@ if i32.const 0 i32.const 1152 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -115,7 +115,7 @@ if i32.const 0 i32.const 1152 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -135,14 +135,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 36092 + i32.const 36096 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1152 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -156,7 +156,7 @@ if i32.const 0 i32.const 1152 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -178,7 +178,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -904,7 +904,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 36092 + i32.const 36096 i32.lt_u if local.get $0 @@ -998,13 +998,13 @@ if i32.const 0 i32.const 1152 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 36092 + i32.const 36096 i32.lt_u if local.get $0 @@ -1027,7 +1027,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 36092 + i32.const 36096 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1227,7 +1227,7 @@ if i32.const 1088 i32.const 1152 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1635,11 +1635,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3324 + i32.const 3328 i32.lt_s if - i32.const 36112 - i32.const 36160 + i32.const 36128 + i32.const 36176 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1716,7 +1716,7 @@ local.tee $3 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -1779,7 +1779,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -1881,11 +1881,14 @@ block $resolve-access/Container block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $resolve-access/Container $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $resolve-access/Container $invalid + end + return end return end @@ -1907,7 +1910,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 36092 + i32.const 36096 i32.sub i32.const 1 i32.shr_u @@ -1949,7 +1952,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3324 + i32.const 3328 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1961,7 +1964,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3324 + i32.const 3328 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1969,7 +1972,7 @@ i32.const 0 i32.store $0 i32.const 8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.const 1056 @@ -1979,7 +1982,7 @@ local.get $1 i32.store $0 i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $2 local.get $1 @@ -1991,7 +1994,7 @@ if i32.const 0 i32.const 1152 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2073,8 +2076,8 @@ local.get $0 return end - i32.const 36112 - i32.const 36160 + i32.const 36128 + i32.const 36176 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2082,39 +2085,71 @@ ) (func $resolve-access/Container#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3324 - i32.lt_s - if - i32.const 36112 - i32.const 36160 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 3328 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 8 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3328 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 8 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 36128 + i32.const 36176 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $resolve-access/fieldAccess (type $none_=>_i32) (result i32) (local $0 i32) @@ -2123,11 +2158,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3324 + i32.const 3328 i32.lt_s if - i32.const 36112 - i32.const 36160 + i32.const 36128 + i32.const 36176 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2164,7 +2199,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3324 + i32.const 3328 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2187,7 +2222,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3324 + i32.const 3328 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2255,7 +2290,7 @@ local.tee $2 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2275,8 +2310,8 @@ local.get $0 return end - i32.const 36112 - i32.const 36160 + i32.const 36128 + i32.const 36176 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index 6e9506181e..c52816e626 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -47,56 +47,56 @@ (global $resolve-binary/bar2 (mut i32) (i32.const 0)) (global $resolve-binary/baz (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 10192)) - (global $~lib/memory/__data_end i32 (i32.const 10220)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 42988)) - (global $~lib/memory/__heap_base i32 (i32.const 42988)) + (global $~lib/memory/__data_end i32 (i32.const 10224)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 42992)) + (global $~lib/memory/__heap_base i32 (i32.const 42992)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 528) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 672) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 764) "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\00") - (data (i32.const 1164) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1164) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2220) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2384) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 8604) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 8604) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 8704) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 8760) "\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_\rXf\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_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -5505,6 +5508,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $resolve-binary/Baz @@ -5513,11 +5519,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-binary/Foo $resolve-binary/Bar $resolve-binary/Baz $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-binary/Foo $resolve-binary/Bar $resolve-binary/Baz $invalid + end + return end return end @@ -5544,8 +5553,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 43008 - i32.const 43056 + i32.const 43024 + i32.const 43072 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -7277,7 +7286,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7317,7 +7326,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7352,7 +7361,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7447,7 +7456,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -7463,6 +7472,34 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $resolve-binary/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -7478,11 +7515,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -7506,11 +7548,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -7534,11 +7581,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-binary.release.wat b/tests/compiler/resolve-binary.release.wat index 88257b653e..e086ef05b4 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -4,9 +4,9 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i64_i64_i32_i64_=>_i32 (func_subtype (param i64 i64 i32 i64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $resolve-binary/a (mut i32) (i32.const 0)) @@ -27,39 +27,39 @@ (global $resolve-binary/bar (mut i32) (i32.const 0)) (global $resolve-binary/bar2 (mut i32) (i32.const 0)) (global $resolve-binary/baz (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 44012)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 44016)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 1048) "\02\00\00\00\08\00\00\00t\00r\00u\00e") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 1080) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s") (data (i32.const 1164) "|") - (data (i32.const 1176) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1176) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1292) "<") - (data (i32.const 1304) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1356) "\1c") - (data (i32.const 1368) "\01\00\00\00\02\00\00\000") + (data (i32.const 1368) "\02\00\00\00\02\00\00\000") (data (i32.const 1388) "<") - (data (i32.const 1400) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1400) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1464) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1580) "<") - (data (i32.const 1592) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1592) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1644) ",") - (data (i32.const 1656) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1656) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1724) "<") - (data (i32.const 1736) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1736) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1788) "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 2188) "\1c\04") - (data (i32.const 2200) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2200) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3244) "\\") - (data (i32.const 3256) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3256) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\01\00\00\00\02\00\00\001") + (data (i32.const 3352) "\02\00\00\00\02\00\00\001") (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\01\00\00\00\02\00\00\002") + (data (i32.const 3384) "\02\00\00\00\02\00\00\002") (data (i32.const 3413) "\a0\f6?") (data (i32.const 3425) "\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?") (data (i32.const 3457) "\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?") @@ -191,49 +191,49 @@ (data (i32.const 7489) "`Y\df\bd\d5\d5?\dce\a4\08*\0b\n\bd") (data (i32.const 7518) "\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 9576) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 9596) "\1c") - (data (i32.const 9608) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 9608) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 9628) ",") - (data (i32.const 9640) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 9640) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 9676) ",") - (data (i32.const 9688) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 9688) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 9784) "\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_\rXf\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_i32) (param $0 i32) (param $1 i32) (result i32) @@ -408,7 +408,7 @@ if i32.const 0 i32.const 1472 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -1098,7 +1098,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 44012 + i32.const 44016 i32.lt_u if local.get $0 @@ -1192,13 +1192,13 @@ if i32.const 0 i32.const 1472 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 44012 + i32.const 44016 i32.lt_u if local.get $0 @@ -1221,7 +1221,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 44012 + i32.const 44016 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1421,7 +1421,7 @@ if i32.const 1408 i32.const 1472 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1828,11 +1828,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 11244 + i32.const 11248 i32.lt_s if - i32.const 44032 - i32.const 44080 + i32.const 44048 + i32.const 44096 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1916,7 +1916,7 @@ i32.shl local.get $1 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2697,11 +2697,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 11244 + i32.const 11248 i32.lt_s if - i32.const 44032 - i32.const 44080 + i32.const 44048 + i32.const 44096 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2819,7 +2819,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -2841,11 +2841,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-binary/Foo $resolve-binary/Bar $resolve-binary/Baz $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-binary/Foo $resolve-binary/Bar $resolve-binary/Baz $invalid + end + return end return end @@ -2880,7 +2883,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 11244 + i32.const 11248 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3004,7 +3007,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 44012 + i32.const 44016 i32.sub i32.const 1 i32.shr_u @@ -3763,7 +3766,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 11244 + i32.const 11248 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3772,11 +3775,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -4174,7 +4182,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 11244 + i32.const 11248 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -4183,11 +4191,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -4213,13 +4226,48 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 44032 - i32.const 44080 + i32.const 44048 + i32.const 44096 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 11248 + i32.lt_s + if + i32.const 44048 + i32.const 44096 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $resolve-binary/Bar#constructor (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -4227,11 +4275,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 11244 + i32.const 11248 i32.lt_s if - i32.const 44032 - i32.const 44080 + i32.const 44048 + i32.const 44096 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4243,11 +4291,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -4278,7 +4331,7 @@ if i32.const 0 i32.const 1472 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -4298,14 +4351,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 44012 + i32.const 44016 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1472 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -4319,7 +4372,7 @@ if i32.const 0 i32.const 1472 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -4341,7 +4394,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index 79ec26897b..d9fb8577b1 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -44,43 +44,43 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $resolve-elementaccess/buf (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 3776)) - (global $~lib/memory/__data_end i32 (i32.const 3804)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36572)) - (global $~lib/memory/__heap_base i32 (i32.const 36572)) + (global $~lib/memory/__data_end i32 (i32.const 3808)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36576)) + (global $~lib/memory/__heap_base i32 (i32.const 36576)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 752) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 808) "\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_\rXf\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_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -4359,6 +4362,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/typedarray/Float32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4382,11 +4388,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Float32Array $resolve-elementaccess/Buffer $~lib/typedarray/Uint8Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Float32Array $resolve-elementaccess/Buffer $~lib/typedarray/Uint8Array $invalid + end + return end return end @@ -4422,8 +4431,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36608 + i32.const 36656 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4813,7 +4822,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4845,7 +4854,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -4885,7 +4894,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4972,7 +4981,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -5003,7 +5012,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5038,7 +5047,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5118,7 +5127,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -5154,7 +5163,7 @@ local.get $decimals|7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -5183,7 +5192,7 @@ local.get $decimals|11 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index cac3643fdc..f700b6803f 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -32,61 +32,61 @@ (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) (global $resolve-elementaccess/buf (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37596)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37600)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) "<") - (data (i32.const 1096) "\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 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1160) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1212) "<") - (data (i32.const 1224) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1340) "<") - (data (i32.const 1352) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1404) ",") - (data (i32.const 1416) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1484) "<") - (data (i32.const 1496) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1548) "<") - (data (i32.const 1560) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 1624) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 1644) "\1c") - (data (i32.const 1656) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 1656) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 1676) ",") - (data (i32.const 1688) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 1688) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 1724) ",") - (data (i32.const 1736) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 1736) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 1832) "\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_\rXf\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_none) @@ -134,7 +134,7 @@ if i32.const 0 i32.const 1232 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -167,7 +167,7 @@ if i32.const 0 i32.const 1232 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -187,14 +187,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 37596 + i32.const 37600 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1232 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -208,7 +208,7 @@ if i32.const 0 i32.const 1232 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -230,7 +230,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -956,7 +956,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 37596 + i32.const 37600 i32.lt_u if local.get $0 @@ -1050,13 +1050,13 @@ if i32.const 0 i32.const 1232 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 37596 + i32.const 37600 i32.lt_u if local.get $0 @@ -1079,7 +1079,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 37596 + i32.const 37600 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1279,7 +1279,7 @@ if i32.const 1168 i32.const 1232 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1584,7 +1584,7 @@ if i32.const 0 i32.const 1232 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2818,11 +2818,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s if - i32.const 37616 - i32.const 37664 + i32.const 37632 + i32.const 37680 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2884,7 +2884,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -3063,11 +3063,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s if - i32.const 37616 - i32.const 37664 + i32.const 37632 + i32.const 37680 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3105,7 +3105,7 @@ local.tee $2 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3125,11 +3125,14 @@ block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -3157,7 +3160,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3168,7 +3171,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 37596 + i32.const 37600 i32.sub i32.const 1 i32.shr_u @@ -3202,7 +3205,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3211,7 +3214,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3374,7 +3377,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3383,7 +3386,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3393,7 +3396,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3404,7 +3407,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3576,8 +3579,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 37616 - i32.const 37664 + i32.const 37632 + i32.const 37680 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3590,11 +3593,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4828 + i32.const 4832 i32.lt_s if - i32.const 37616 - i32.const 37664 + i32.const 37632 + i32.const 37680 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3608,7 +3611,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3640,7 +3643,7 @@ local.get $1 i32.shl local.tee $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=4 diff --git a/tests/compiler/resolve-function-expression.debug.wat b/tests/compiler/resolve-function-expression.debug.wat index c9f285afa5..5c85e09261 100644 --- a/tests/compiler/resolve-function-expression.debug.wat +++ b/tests/compiler/resolve-function-expression.debug.wat @@ -30,30 +30,30 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 2400)) - (global $~lib/memory/__data_end i32 (i32.const 2420)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35188)) - (global $~lib/memory/__heap_base i32 (i32.const 35188)) + (global $~lib/memory/__data_end i32 (i32.const 2424)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35192)) + (global $~lib/memory/__heap_base i32 (i32.const 35192)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") + (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 188) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 576) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 812) "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\00") - (data (i32.const 1212) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\004\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2400) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1212) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2268) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\004\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 2400) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:resolve-function-expression~anonymous|0 $start:resolve-function-expression~anonymous|1 $start:resolve-function-expression~anonymous|2) (export "memory" (memory $0)) @@ -193,7 +193,7 @@ if i32.const 0 i32.const 496 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -263,7 +263,7 @@ if i32.const 0 i32.const 496 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -280,7 +280,7 @@ if i32.const 0 i32.const 496 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -331,7 +331,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -377,7 +377,7 @@ if (result i32) i32.const 0 i32.const 496 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1642,7 +1642,7 @@ if i32.const 0 i32.const 496 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2236,7 +2236,7 @@ if i32.const 432 i32.const 496 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2825,6 +2825,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2833,6 +2836,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2844,6 +2850,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%29=>i32>#__visit @@ -2854,11 +2863,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + end + return end return end @@ -3065,7 +3077,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3105,7 +3117,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3140,7 +3152,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index cd6b5e2a75..908e8c9164 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -18,40 +18,40 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36212)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36216)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1068) "L") - (data (i32.const 1080) "\01\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\03\00\00\00\08\00\00\00\02") + (data (i32.const 1160) "\04\00\00\00\08\00\00\00\02") (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\03\00\00\00\08\00\00\00\03") + (data (i32.const 1192) "\04\00\00\00\08\00\00\00\03") (data (i32.const 1212) "|") - (data (i32.const 1224) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1224) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1340) "<") - (data (i32.const 1352) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1404) "\1c") - (data (i32.const 1416) "\01\00\00\00\02\00\00\000") + (data (i32.const 1416) "\02\00\00\00\02\00\00\000") (data (i32.const 1436) "<") - (data (i32.const 1448) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1448) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1500) "<") - (data (i32.const 1512) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1512) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1628) "<") - (data (i32.const 1640) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1640) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1692) ",") - (data (i32.const 1704) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1704) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1772) "<") - (data (i32.const 1784) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1784) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1836) "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 2236) "\1c\04") - (data (i32.const 2248) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2248) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3292) "\\") - (data (i32.const 3304) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3304) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\01\00\00\00\04\00\00\004\002") - (data (i32.const 3424) "\04\00\00\00 \00\00\00 ") + (data (i32.const 3400) "\02\00\00\00\04\00\00\004\002") + (data (i32.const 3424) "\05\00\00\00 \00\00\00 \00\00\00 ") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:resolve-function-expression~anonymous|0 $start:resolve-function-expression~anonymous|1 $start:resolve-function-expression~anonymous|2) (export "memory" (memory $0)) @@ -102,7 +102,7 @@ if i32.const 0 i32.const 1520 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -792,7 +792,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 36212 + i32.const 36216 i32.lt_u if local.get $0 @@ -886,13 +886,13 @@ if i32.const 0 i32.const 1520 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 36212 + i32.const 36216 i32.lt_u if local.get $0 @@ -915,7 +915,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 36212 + i32.const 36216 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1118,7 +1118,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3444 + i32.const 3448 i32.lt_s if i32.const 36240 @@ -1213,7 +1213,7 @@ if i32.const 1456 i32.const 1520 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1461,7 +1461,7 @@ i32.store $0 end local.get $1 - i32.const 1 + i32.const 2 i32.store $0 offset=12 local.get $1 local.get $6 @@ -1632,11 +1632,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + end + return end return end @@ -1673,7 +1676,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3444 + i32.const 3448 i32.lt_s if i32.const 36240 @@ -1717,7 +1720,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 36212 + i32.const 36216 i32.sub i32.const 1 i32.shr_u @@ -1898,7 +1901,7 @@ if i32.const 0 i32.const 1520 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1918,14 +1921,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 36212 + i32.const 36216 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1520 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1939,7 +1942,7 @@ if i32.const 0 i32.const 1520 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1961,7 +1964,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/resolve-new.debug.wat b/tests/compiler/resolve-new.debug.wat index 2147e09708..2104057fc0 100644 --- a/tests/compiler/resolve-new.debug.wat +++ b/tests/compiler/resolve-new.debug.wat @@ -25,19 +25,19 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $resolve-new/foo (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 436)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33204)) - (global $~lib/memory/__heap_base i32 (i32.const 33204)) + (global $~lib/memory/__data_end i32 (i32.const 440)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) + (global $~lib/memory/__heap_base i32 (i32.const 33208)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -107,7 +107,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -177,7 +177,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -194,7 +194,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -245,7 +245,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -291,7 +291,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1556,7 +1556,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2150,7 +2150,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2215,6 +2215,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2223,17 +2226,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $resolve-new/Foo block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-new/Foo $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-new/Foo $invalid + end + return end return end @@ -2307,6 +2316,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $resolve-new/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2322,11 +2359,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-new.release.wat b/tests/compiler/resolve-new.release.wat index 1a4d7b1013..b5f506b1bb 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) - (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -18,19 +18,19 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $resolve-new/foo (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34228)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -66,7 +66,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -756,7 +756,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34228 + i32.const 34232 i32.lt_u if local.get $0 @@ -850,13 +850,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34228 + i32.const 34232 i32.lt_u if local.get $0 @@ -879,7 +879,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34228 + i32.const 34232 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -998,23 +998,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1030,14 +1030,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1054,17 +1054,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1077,16 +1077,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1094,17 +1094,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1115,7 +1115,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1129,92 +1129,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1222,7 +1222,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1237,11 +1237,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-new/Foo $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-new/Foo $invalid + end + return end return end @@ -1267,7 +1270,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1460 + i32.const 1464 i32.lt_s if i32.const 34256 @@ -1283,7 +1286,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34228 + i32.const 34232 i32.sub i32.const 1 i32.shr_u @@ -1326,34 +1329,66 @@ ) (func $resolve-new/Foo#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1460 - i32.lt_s - if - i32.const 34256 - i32.const 34304 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1464 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1464 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34256 + i32.const 34304 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1380,7 +1415,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1400,14 +1435,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34228 + i32.const 34232 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1421,7 +1456,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1443,7 +1478,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/resolve-propertyaccess.debug.wat b/tests/compiler/resolve-propertyaccess.debug.wat index 5a30ac1b28..a192a27f9b 100644 --- a/tests/compiler/resolve-propertyaccess.debug.wat +++ b/tests/compiler/resolve-propertyaccess.debug.wat @@ -38,38 +38,38 @@ (global $resolve-propertyaccess/Class.staticField (mut i32) (i32.const 5)) (global $resolve-propertyaccess/Class.lazyStaticField (mut i32) (i32.const 55)) (global $~lib/rt/__rtti_base i32 (i32.const 2656)) - (global $~lib/memory/__data_end i32 (i32.const 2676)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35444)) - (global $~lib/memory/__heap_base i32 (i32.const 35444)) + (global $~lib/memory/__data_end i32 (i32.const 2680)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35448)) + (global $~lib/memory/__heap_base i32 (i32.const 35448)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 636) "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\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\002\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\003\003\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\005\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2656) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2220) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\002\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\003\003\00\00\00\00\00\00\00\00\00") + (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\005\005\00\00\00\00\00\00\00\00\00") + (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2656) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -194,7 +194,7 @@ if i32.const 0 i32.const 320 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -264,7 +264,7 @@ if i32.const 0 i32.const 320 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -281,7 +281,7 @@ if i32.const 0 i32.const 320 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -332,7 +332,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -378,7 +378,7 @@ if (result i32) i32.const 0 i32.const 320 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1643,7 +1643,7 @@ if i32.const 0 i32.const 320 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2237,7 +2237,7 @@ if i32.const 256 i32.const 320 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2841,6 +2841,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2849,17 +2852,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $resolve-propertyaccess/Class block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-propertyaccess/Class $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-propertyaccess/Class $invalid + end + return end return end @@ -3299,7 +3308,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3339,7 +3348,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3374,7 +3383,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3402,6 +3411,34 @@ global.set $~lib/memory/__stack_pointer local.get $14 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $resolve-propertyaccess/Class#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3417,11 +3454,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 6 call $resolve-propertyaccess/Class#set:instanceField diff --git a/tests/compiler/resolve-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index 7d0e3b49cf..2061f5eee3 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -18,56 +18,56 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36468)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36472)) (memory $0 1) (data (i32.const 1036) "|") - (data (i32.const 1048) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\01\00\00\00\02\00\00\000") + (data (i32.const 1240) "\02\00\00\00\02\00\00\000") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1272) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1596) "<") - (data (i32.const 1608) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1660) "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 2060) "\1c\04") - (data (i32.const 2072) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3116) "\\") - (data (i32.const 3128) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\01\00\00\00\02\00\00\001") + (data (i32.const 3224) "\02\00\00\00\02\00\00\001") (data (i32.const 3244) "L") - (data (i32.const 3256) "\01\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s") + (data (i32.const 3256) "\02\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s") (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\01\00\00\00\04\00\00\001\001") + (data (i32.const 3336) "\02\00\00\00\04\00\00\001\001") (data (i32.const 3356) "\1c") - (data (i32.const 3368) "\01\00\00\00\02\00\00\002") + (data (i32.const 3368) "\02\00\00\00\02\00\00\002") (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\01\00\00\00\04\00\00\002\002") + (data (i32.const 3400) "\02\00\00\00\04\00\00\002\002") (data (i32.const 3420) "\1c") - (data (i32.const 3432) "\01\00\00\00\02\00\00\003") + (data (i32.const 3432) "\02\00\00\00\02\00\00\003") (data (i32.const 3452) "\1c") - (data (i32.const 3464) "\01\00\00\00\04\00\00\003\003") + (data (i32.const 3464) "\02\00\00\00\04\00\00\003\003") (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\01\00\00\00\02\00\00\004") + (data (i32.const 3496) "\02\00\00\00\02\00\00\004") (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\01\00\00\00\02\00\00\005") + (data (i32.const 3528) "\02\00\00\00\02\00\00\005") (data (i32.const 3548) "\1c") - (data (i32.const 3560) "\01\00\00\00\04\00\00\005\005") + (data (i32.const 3560) "\02\00\00\00\04\00\00\005\005") (data (i32.const 3580) "\1c") - (data (i32.const 3592) "\01\00\00\00\02\00\00\007") + (data (i32.const 3592) "\02\00\00\00\02\00\00\007") (data (i32.const 3612) "\1c") - (data (i32.const 3624) "\01\00\00\00\02\00\00\006") + (data (i32.const 3624) "\02\00\00\00\02\00\00\006") (data (i32.const 3644) "\1c") - (data (i32.const 3656) "\01\00\00\00\02\00\00\008") - (data (i32.const 3680) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 3656) "\02\00\00\00\02\00\00\008") + (data (i32.const 3680) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -101,7 +101,7 @@ if i32.const 0 i32.const 1344 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -791,7 +791,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 36468 + i32.const 36472 i32.lt_u if local.get $0 @@ -885,13 +885,13 @@ if i32.const 0 i32.const 1344 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 36468 + i32.const 36472 i32.lt_u if local.get $0 @@ -914,7 +914,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 36468 + i32.const 36472 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1114,7 +1114,7 @@ if i32.const 1280 i32.const 1344 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1419,7 +1419,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3700 + i32.const 3704 i32.lt_s if i32.const 36496 @@ -1507,7 +1507,7 @@ i32.shl local.get $3 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -1752,11 +1752,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-propertyaccess/Class $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-propertyaccess/Class $invalid + end + return end return end @@ -1781,13 +1784,14 @@ (func $start:resolve-propertyaccess (type $none_=>_none) (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3700 + i32.const 3704 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1800,7 +1804,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 36468 + i32.const 36472 i32.sub i32.const 1 i32.shr_u @@ -2049,35 +2053,64 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3700 + i32.const 3704 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store $0 - local.get $1 + local.get $0 + i32.const 4 i32.const 4 - i32.const 3 call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3704 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 + local.get $0 + i32.store $0 + local.get $0 i32.const 6 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 local.get $0 - local.get $1 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.load $0 call $~lib/number/I32#toString local.set $0 @@ -2159,7 +2192,7 @@ if i32.const 0 i32.const 1344 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2179,14 +2212,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 36468 + i32.const 36472 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1344 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2200,7 +2233,7 @@ if i32.const 0 i32.const 1344 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2222,7 +2255,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/resolve-ternary.debug.wat b/tests/compiler/resolve-ternary.debug.wat index 8843f9fe43..1cbdf1d1b5 100644 --- a/tests/compiler/resolve-ternary.debug.wat +++ b/tests/compiler/resolve-ternary.debug.wat @@ -43,40 +43,40 @@ (global $resolve-ternary/f2 i32 (i32.const 3504)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 3584)) - (global $~lib/memory/__data_end i32 (i32.const 3604)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36372)) - (global $~lib/memory/__heap_base i32 (i32.const 36372)) + (global $~lib/memory/__data_end i32 (i32.const 3608)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36376)) + (global $~lib/memory/__heap_base i32 (i32.const 36376)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 636) "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\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 2348) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 2348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2396) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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) "\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_\rXf\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_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -4174,6 +4177,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -4185,6 +4191,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%29=>i32>#__visit @@ -4195,11 +4204,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + end + return end return end @@ -4467,7 +4479,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -4507,7 +4519,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -4542,7 +4554,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -4637,7 +4649,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index 5ceda6223a..144902f809 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -22,55 +22,55 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37396)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37400)) (memory $0 1) (data (i32.const 1036) "|") - (data (i32.const 1048) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\01\00\00\00\02\00\00\000") + (data (i32.const 1240) "\02\00\00\00\02\00\00\000") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1272) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1596) "<") - (data (i32.const 1608) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1660) "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 2060) "\1c\04") - (data (i32.const 2072) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3116) "\\") - (data (i32.const 3128) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\01\00\00\00\02\00\00\001") + (data (i32.const 3224) "\02\00\00\00\02\00\00\001") (data (i32.const 3244) "<") - (data (i32.const 3256) "\01\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s") + (data (i32.const 3256) "\02\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s") (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 3320) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 3352) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 3372) ",") - (data (i32.const 3384) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 3384) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3420) ",") - (data (i32.const 3432) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 3432) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3528) "\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_\rXf\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\a8i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid + end + return end return end @@ -2439,7 +2442,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 4628 + i32.const 4632 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2449,7 +2452,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 37396 + i32.const 37400 i32.sub i32.const 1 i32.shr_u @@ -2483,7 +2486,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4628 + i32.const 4632 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2526,7 +2529,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4628 + i32.const 4632 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2750,7 +2753,7 @@ if i32.const 0 i32.const 1344 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2770,14 +2773,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 37396 + i32.const 37400 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1344 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2791,7 +2794,7 @@ if i32.const 0 i32.const 1344 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2813,7 +2816,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/resolve-unary.debug.wat b/tests/compiler/resolve-unary.debug.wat index aa8be01489..2bebd1aada 100644 --- a/tests/compiler/resolve-unary.debug.wat +++ b/tests/compiler/resolve-unary.debug.wat @@ -33,43 +33,43 @@ (global $resolve-unary/foo (mut i32) (i32.const 0)) (global $resolve-unary/bar (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 2816)) - (global $~lib/memory/__data_end i32 (i32.const 2844)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35612)) - (global $~lib/memory/__heap_base i32 (i32.const 35612)) + (global $~lib/memory/__data_end i32 (i32.const 2848)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35616)) + (global $~lib/memory/__heap_base i32 (i32.const 35616)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 636) "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\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00-\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00+\00+\00i\00\00\00\00\00\00\00") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00-\00-\00i\00\00\00\00\00\00\00") - (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\00+\00+\00\00\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00i\00-\00-\00\00\00\00\00\00\00") - (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2816) "\06\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 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\00i\00\00\00\00\00\00\00") + (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\00i\00\00\00\00\00\00\00") + (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\00+\00+\00\00\00\00\00\00\00") + (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\00-\00-\00\00\00\00\00\00\00") + (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") + (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2816) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:resolve-unary~anonymous|0) (export "memory" (memory $0)) @@ -194,7 +194,7 @@ if i32.const 0 i32.const 320 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -264,7 +264,7 @@ if i32.const 0 i32.const 320 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -281,7 +281,7 @@ if i32.const 0 i32.const 320 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -332,7 +332,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -378,7 +378,7 @@ if (result i32) i32.const 0 i32.const 320 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1643,7 +1643,7 @@ if i32.const 0 i32.const 320 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2237,7 +2237,7 @@ if i32.const 256 i32.const 320 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2896,6 +2896,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2904,6 +2907,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2915,6 +2921,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>void>#__visit @@ -2927,11 +2936,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-unary/Foo $resolve-unary/Bar $~lib/function/Function<%28%29=>void> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-unary/Foo $resolve-unary/Bar $~lib/function/Function<%28%29=>void> $invalid + end + return end return end @@ -2961,8 +2973,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 35632 - i32.const 35680 + i32.const 35648 + i32.const 35696 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3728,7 +3740,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3768,7 +3780,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3803,7 +3815,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3831,6 +3843,34 @@ global.set $~lib/memory/__stack_pointer local.get $14 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $resolve-unary/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3846,11 +3886,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3874,11 +3919,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-unary.release.wat b/tests/compiler/resolve-unary.release.wat index 1bdd867853..add39c7076 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -2,11 +2,11 @@ (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -22,66 +22,66 @@ (global $resolve-unary/b (mut i32) (i32.const 1)) (global $resolve-unary/foo (mut i32) (i32.const 0)) (global $resolve-unary/bar (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36636)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36640)) (memory $0 1) (data (i32.const 1036) "|") - (data (i32.const 1048) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\01\00\00\00\02\00\00\000") + (data (i32.const 1240) "\02\00\00\00\02\00\00\000") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1272) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1596) "<") - (data (i32.const 1608) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1660) "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 2060) "\1c\04") - (data (i32.const 2072) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3116) "\\") - (data (i32.const 3128) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\01\00\00\00\04\00\00\00-\001") + (data (i32.const 3224) "\02\00\00\00\04\00\00\00-\001") (data (i32.const 3244) "<") - (data (i32.const 3256) "\01\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s") + (data (i32.const 3256) "\02\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s") (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\01\00\00\00\02\00\00\001") + (data (i32.const 3320) "\02\00\00\00\02\00\00\001") (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\01\00\00\00\02\00\00\002") + (data (i32.const 3352) "\02\00\00\00\02\00\00\002") (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\01\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 3384) "\02\00\00\00\08\00\00\00t\00r\00u\00e") (data (i32.const 3404) "\1c") - (data (i32.const 3416) "\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 3416) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") (data (i32.const 3436) "\1c") - (data (i32.const 3448) "\01\00\00\00\04\00\00\00-\002") + (data (i32.const 3448) "\02\00\00\00\04\00\00\00-\002") (data (i32.const 3468) "\1c") - (data (i32.const 3480) "\01\00\00\00\02\00\00\00+") + (data (i32.const 3480) "\02\00\00\00\02\00\00\00+") (data (i32.const 3500) "\1c") - (data (i32.const 3512) "\01\00\00\00\02\00\00\00-") + (data (i32.const 3512) "\02\00\00\00\02\00\00\00-") (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\01\00\00\00\02\00\00\00!") + (data (i32.const 3544) "\02\00\00\00\02\00\00\00!") (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\01\00\00\00\02\00\00\00~") + (data (i32.const 3576) "\02\00\00\00\02\00\00\00~") (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\01\00\00\00\06\00\00\00+\00+\00i") + (data (i32.const 3608) "\02\00\00\00\06\00\00\00+\00+\00i") (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\01\00\00\00\06\00\00\00-\00-\00i") + (data (i32.const 3640) "\02\00\00\00\06\00\00\00-\00-\00i") (data (i32.const 3660) "\1c") - (data (i32.const 3672) "\01\00\00\00\06\00\00\00i\00+\00+") + (data (i32.const 3672) "\02\00\00\00\06\00\00\00i\00+\00+") (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\01\00\00\00\06\00\00\00i\00-\00-") + (data (i32.const 3704) "\02\00\00\00\06\00\00\00i\00-\00-") (data (i32.const 3724) "\1c") - (data (i32.const 3736) "\01\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") + (data (i32.const 3736) "\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\05\00\00\00\08\00\00\00\01") + (data (i32.const 3768) "\06\00\00\00\08\00\00\00\01") (data (i32.const 3788) ",") - (data (i32.const 3800) "\01\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") - (data (i32.const 3840) "\06\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 3800) "\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") + (data (i32.const 3840) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -127,7 +127,7 @@ if i32.const 0 i32.const 1344 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -817,7 +817,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 36636 + i32.const 36640 i32.lt_u if local.get $0 @@ -911,13 +911,13 @@ if i32.const 0 i32.const 1344 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 36636 + i32.const 36640 i32.lt_u if local.get $0 @@ -940,7 +940,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 36636 + i32.const 36640 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1140,7 +1140,7 @@ if i32.const 1280 i32.const 1344 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1445,11 +1445,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3868 + i32.const 3872 i32.lt_s if - i32.const 36656 - i32.const 36704 + i32.const 36672 + i32.const 36720 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1533,7 +1533,7 @@ i32.shl local.get $3 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -1780,11 +1780,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-unary/Foo $resolve-unary/Bar $~lib/function/Function<%28%29=>void> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-unary/Foo $resolve-unary/Bar $~lib/function/Function<%28%29=>void> $invalid + end + return end return end @@ -1826,7 +1829,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3868 + i32.const 3872 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1836,7 +1839,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 36636 + i32.const 36640 i32.sub i32.const 1 i32.shr_u @@ -2089,7 +2092,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3868 + i32.const 3872 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2098,11 +2101,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2298,7 +2306,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3868 + i32.const 3872 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2307,11 +2315,16 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2440,13 +2453,48 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 36656 - i32.const 36704 + i32.const 36672 + i32.const 36720 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3872 + i32.lt_s + if + i32.const 36672 + i32.const 36720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) @@ -2472,7 +2520,7 @@ if i32.const 0 i32.const 1344 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2492,14 +2540,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 36636 + i32.const 36640 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1344 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2513,7 +2561,7 @@ if i32.const 0 i32.const 1344 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2535,7 +2583,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/retain-i32.debug.wat b/tests/compiler/retain-i32.debug.wat index c7af4cc849..5197944d1d 100644 --- a/tests/compiler/retain-i32.debug.wat +++ b/tests/compiler/retain-i32.debug.wat @@ -19,7 +19,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/retain-i32.release.wat b/tests/compiler/retain-i32.release.wat index 2f2be5a25e..4773b3e833 100644 --- a/tests/compiler/retain-i32.release.wat +++ b/tests/compiler/retain-i32.release.wat @@ -2,7 +2,7 @@ (type $none_=>_none (func_subtype func)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index b54ab0a8e2..55dc7a538f 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -25,21 +25,21 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 512)) - (global $~lib/memory/__data_end i32 (i32.const 532)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33300)) - (global $~lib/memory/__heap_base i32 (i32.const 33300)) + (global $~lib/memory/__data_end i32 (i32.const 536)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33304)) + (global $~lib/memory/__heap_base i32 (i32.const 33304)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 512) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00") + (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "test" (func $return-unreachable/test)) @@ -110,7 +110,7 @@ if i32.const 0 i32.const 192 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -180,7 +180,7 @@ if i32.const 0 i32.const 192 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -197,7 +197,7 @@ if i32.const 0 i32.const 192 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -248,7 +248,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -294,7 +294,7 @@ if (result i32) i32.const 0 i32.const 192 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1559,7 +1559,7 @@ if i32.const 0 i32.const 192 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2153,7 +2153,7 @@ if i32.const 128 i32.const 192 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2212,7 +2212,7 @@ if i32.const 0 i32.const 192 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2321,6 +2321,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2329,6 +2332,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2342,6 +2348,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2352,11 +2361,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid + end + return end return end @@ -2425,7 +2437,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2468,7 +2480,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index 2ec4d4d701..16271c5b3a 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -18,23 +18,23 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34324)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34328)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) ",") - (data (i32.const 1096) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1144) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1388) ",") - (data (i32.const 1400) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1468) "<") - (data (i32.const 1480) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1536) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t") + (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t") (export "test" (func $return-unreachable/test)) (export "memory" (memory $0)) (start $~start) @@ -67,7 +67,7 @@ if i32.const 0 i32.const 1216 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -100,7 +100,7 @@ if i32.const 0 i32.const 1216 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -120,14 +120,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1216 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -141,7 +141,7 @@ if i32.const 0 i32.const 1216 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -163,7 +163,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -889,7 +889,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u if local.get $0 @@ -983,13 +983,13 @@ if i32.const 0 i32.const 1216 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34324 + i32.const 34328 i32.lt_u if local.get $0 @@ -1012,7 +1012,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34324 + i32.const 34328 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1212,7 +1212,7 @@ if i32.const 1152 i32.const 1216 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1517,7 +1517,7 @@ if i32.const 0 i32.const 1216 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1570,7 +1570,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1582,7 +1582,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1556 + i32.const 1560 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1591,7 +1591,7 @@ i64.store $0 local.get $1 i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -1609,7 +1609,7 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 400 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -1646,11 +1646,14 @@ block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1670,7 +1673,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34324 + i32.const 34328 i32.sub i32.const 1 i32.shr_u diff --git a/tests/compiler/return.debug.wat b/tests/compiler/return.debug.wat index 25311e10f7..ff3f41fbac 100644 --- a/tests/compiler/return.debug.wat +++ b/tests/compiler/return.debug.wat @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:return~anonymous|0) (export "testVoidReturn" (func $return/testVoidReturn)) diff --git a/tests/compiler/return.release.wat b/tests/compiler/return.release.wat index 45669fa2c4..69f6ad57c6 100644 --- a/tests/compiler/return.release.wat +++ b/tests/compiler/return.release.wat @@ -7,7 +7,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33836)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:return~anonymous|0) (export "testVoidReturn" (func $return/testVoidReturn)) diff --git a/tests/compiler/rt/finalize.debug.wat b/tests/compiler/rt/finalize.debug.wat index 77d923f239..ec122935be 100644 --- a/tests/compiler/rt/finalize.debug.wat +++ b/tests/compiler/rt/finalize.debug.wat @@ -26,21 +26,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 484)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33252)) - (global $~lib/memory/__heap_base i32 (i32.const 33252)) + (global $~lib/memory/__data_end i32 (i32.const 488)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) + (global $~lib/memory/__heap_base i32 (i32.const 33256)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -110,7 +110,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -180,7 +180,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -197,7 +197,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -248,7 +248,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -294,7 +294,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1579,7 +1579,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2173,7 +2173,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2313,6 +2313,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2321,17 +2324,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $rt/finalize/Ref block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/finalize/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/finalize/Ref $invalid + end + return end return end @@ -2368,6 +2377,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $rt/finalize/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2383,11 +2420,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index bb67aa68f8..f5fc3627ec 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $rt/finalize/expect (mut i32) (i32.const 0)) (global $rt/finalize/ran (mut i32) (i32.const 0)) @@ -19,22 +19,22 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34276)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) ",") - (data (i32.const 1384) "\01\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -64,7 +64,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -754,7 +754,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -848,13 +848,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -892,7 +892,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34276 + i32.const 34280 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1011,23 +1011,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1043,14 +1043,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1067,17 +1067,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1090,16 +1090,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1107,17 +1107,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1128,7 +1128,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1142,92 +1142,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1235,7 +1235,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1250,11 +1250,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/finalize/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/finalize/Ref $invalid + end + return end return end @@ -1275,6 +1278,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~started if return @@ -1284,7 +1288,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34276 + i32.const 34280 i32.sub i32.const 1 i32.shr_u @@ -1317,70 +1321,103 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1508 - i32.lt_s - if - i32.const 34304 - i32.const 34352 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $rt/finalize/expect - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 + block $__inlined_func$start:rt/finalize + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $rt/finalize/expect global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - if call $~lib/rt/itcms/step drop - br $while-continue|1 + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $rt/finalize/ran + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 13 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$start:rt/finalize end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - global.get $rt/finalize/ran - i32.eqz - if - i32.const 0 - i32.const 1392 - i32.const 13 + i32.const 34304 + i32.const 34352 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable @@ -1411,7 +1448,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1431,14 +1468,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34276 + i32.const 34280 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1452,7 +1489,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1474,7 +1511,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/rt/flags.debug.wat b/tests/compiler/rt/flags.debug.wat index f14035cc8c..a602b77ef6 100644 --- a/tests/compiler/rt/flags.debug.wat +++ b/tests/compiler/rt/flags.debug.wat @@ -10,14 +10,14 @@ (global $rt/flags/VALUE_ALIGN_REF i32 (i32.const 256)) (global $rt/flags/KEY_ALIGN_REF i32 (i32.const 131072)) (global $~lib/rt/__rtti_base i32 (i32.const 176)) - (global $~lib/memory/__data_end i32 (i32.const 388)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33156)) - (global $~lib/memory/__heap_base i32 (i32.const 33156)) + (global $~lib/memory/__data_end i32 (i32.const 392)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33160)) + (global $~lib/memory/__heap_base i32 (i32.const 33160)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 176) "4\00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 176) "5\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -52,7 +52,7 @@ call $~lib/shared/typeinfo/Typeinfo#get:flags ) (func $rt/flags/test<~lib/typedarray/Int8Array> (type $i32_=>_none) (param $flags i32) - i32.const 3 + i32.const 4 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -67,7 +67,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Uint8Array> (type $i32_=>_none) (param $flags i32) - i32.const 4 + i32.const 5 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -82,7 +82,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Uint8ClampedArray> (type $i32_=>_none) (param $flags i32) - i32.const 5 + i32.const 6 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -97,7 +97,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Int16Array> (type $i32_=>_none) (param $flags i32) - i32.const 6 + i32.const 7 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -112,7 +112,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Uint16Array> (type $i32_=>_none) (param $flags i32) - i32.const 7 + i32.const 8 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -127,7 +127,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Int32Array> (type $i32_=>_none) (param $flags i32) - i32.const 8 + i32.const 9 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -142,7 +142,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Uint32Array> (type $i32_=>_none) (param $flags i32) - i32.const 9 + i32.const 10 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -157,7 +157,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Int64Array> (type $i32_=>_none) (param $flags i32) - i32.const 10 + i32.const 11 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -172,7 +172,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Uint64Array> (type $i32_=>_none) (param $flags i32) - i32.const 11 + i32.const 12 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -187,7 +187,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Float32Array> (type $i32_=>_none) (param $flags i32) - i32.const 12 + i32.const 13 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -202,7 +202,7 @@ end ) (func $rt/flags/test<~lib/typedarray/Float64Array> (type $i32_=>_none) (param $flags i32) - i32.const 13 + i32.const 14 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -217,7 +217,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 14 + i32.const 15 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -232,7 +232,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 15 + i32.const 16 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -247,7 +247,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 16 + i32.const 17 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -262,7 +262,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 17 + i32.const 18 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -277,7 +277,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 18 + i32.const 19 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -292,7 +292,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 19 + i32.const 20 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -307,7 +307,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 20 + i32.const 21 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -322,7 +322,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 21 + i32.const 22 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -337,7 +337,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 22 + i32.const 23 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -352,7 +352,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 23 + i32.const 24 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -367,7 +367,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 24 + i32.const 25 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -382,7 +382,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 26 + i32.const 27 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -397,7 +397,7 @@ end ) (func $rt/flags/test<~lib/array/Array> (type $i32_=>_none) (param $flags i32) - i32.const 27 + i32.const 28 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -412,7 +412,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 28 + i32.const 29 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -427,7 +427,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 29 + i32.const 30 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -442,7 +442,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 30 + i32.const 31 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -457,7 +457,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 31 + i32.const 32 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -472,7 +472,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 32 + i32.const 33 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -487,7 +487,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 33 + i32.const 34 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -502,7 +502,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 34 + i32.const 35 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -517,7 +517,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 35 + i32.const 36 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -532,7 +532,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 36 + i32.const 37 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -547,7 +547,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 37 + i32.const 38 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -562,7 +562,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 38 + i32.const 39 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -577,7 +577,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 39 + i32.const 40 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -592,7 +592,7 @@ end ) (func $rt/flags/test<~lib/set/Set> (type $i32_=>_none) (param $flags i32) - i32.const 40 + i32.const 41 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -607,7 +607,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 41 + i32.const 42 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -622,7 +622,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 42 + i32.const 43 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -637,7 +637,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 43 + i32.const 44 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -652,7 +652,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 44 + i32.const 45 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -667,7 +667,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 45 + i32.const 46 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -682,7 +682,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 46 + i32.const 47 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -697,7 +697,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 47 + i32.const 48 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -712,7 +712,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 48 + i32.const 49 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -727,7 +727,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 49 + i32.const 50 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -742,7 +742,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 50 + i32.const 51 call $~lib/rt/__typeinfo local.get $flags i32.eq @@ -757,7 +757,7 @@ end ) (func $rt/flags/test<~lib/map/Map> (type $i32_=>_none) (param $flags i32) - i32.const 51 + i32.const 52 call $~lib/rt/__typeinfo local.get $flags i32.eq diff --git a/tests/compiler/rt/flags.release.wat b/tests/compiler/rt/flags.release.wat index 13ab290c94..3023c87f49 100644 --- a/tests/compiler/rt/flags.release.wat +++ b/tests/compiler/rt/flags.release.wat @@ -5,12 +5,12 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1048) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1100) ",") - (data (i32.const 1112) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1148) ",") - (data (i32.const 1160) "\01\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s") - (data (i32.const 1200) "4\00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2") + (data (i32.const 1160) "\02\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s") + (data (i32.const 1200) "5\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/__typeinfo (type $i32_=>_i32) (param $0 i32) (result i32) @@ -35,242 +35,242 @@ ) (func $start:rt/flags (type $none_=>_none) block $folding-inner0 - i32.const 3 + i32.const 4 call $~lib/rt/__typeinfo i32.const 2113 i32.ne br_if $folding-inner0 - i32.const 4 + i32.const 5 call $~lib/rt/__typeinfo i32.const 65 i32.ne br_if $folding-inner0 - i32.const 5 + i32.const 6 call $~lib/rt/__typeinfo i32.const 65 i32.ne br_if $folding-inner0 - i32.const 6 + i32.const 7 call $~lib/rt/__typeinfo i32.const 2177 i32.ne br_if $folding-inner0 - i32.const 7 + i32.const 8 call $~lib/rt/__typeinfo i32.const 129 i32.ne br_if $folding-inner0 - i32.const 8 + i32.const 9 call $~lib/rt/__typeinfo i32.const 2305 i32.ne br_if $folding-inner0 - i32.const 9 + i32.const 10 call $~lib/rt/__typeinfo i32.const 257 i32.ne br_if $folding-inner0 - i32.const 10 + i32.const 11 call $~lib/rt/__typeinfo i32.const 2561 i32.ne br_if $folding-inner0 - i32.const 11 + i32.const 12 call $~lib/rt/__typeinfo i32.const 513 i32.ne br_if $folding-inner0 - i32.const 12 + i32.const 13 call $~lib/rt/__typeinfo i32.const 6401 i32.ne br_if $folding-inner0 - i32.const 13 + i32.const 14 call $~lib/rt/__typeinfo i32.const 6657 i32.ne br_if $folding-inner0 - i32.const 14 + i32.const 15 call $~lib/rt/__typeinfo i32.const 2114 i32.ne br_if $folding-inner0 - i32.const 15 + i32.const 16 call $~lib/rt/__typeinfo i32.const 66 i32.ne br_if $folding-inner0 - i32.const 16 + i32.const 17 call $~lib/rt/__typeinfo i32.const 2178 i32.ne br_if $folding-inner0 - i32.const 17 + i32.const 18 call $~lib/rt/__typeinfo i32.const 130 i32.ne br_if $folding-inner0 - i32.const 18 + i32.const 19 call $~lib/rt/__typeinfo i32.const 2306 i32.ne br_if $folding-inner0 - i32.const 19 + i32.const 20 call $~lib/rt/__typeinfo i32.const 258 i32.ne br_if $folding-inner0 - i32.const 20 + i32.const 21 call $~lib/rt/__typeinfo i32.const 2562 i32.ne br_if $folding-inner0 - i32.const 21 + i32.const 22 call $~lib/rt/__typeinfo i32.const 514 i32.ne br_if $folding-inner0 - i32.const 22 + i32.const 23 call $~lib/rt/__typeinfo i32.const 6402 i32.ne br_if $folding-inner0 - i32.const 23 + i32.const 24 call $~lib/rt/__typeinfo i32.const 6658 i32.ne br_if $folding-inner0 - i32.const 24 + i32.const 25 call $~lib/rt/__typeinfo i32.const 1026 i32.ne br_if $folding-inner0 - i32.const 26 + i32.const 27 call $~lib/rt/__typeinfo i32.const 16642 i32.ne br_if $folding-inner0 - i32.const 27 + i32.const 28 call $~lib/rt/__typeinfo i32.const 24834 i32.ne br_if $folding-inner0 - i32.const 28 + i32.const 29 call $~lib/rt/__typeinfo i32.const 2120 i32.ne br_if $folding-inner0 - i32.const 29 + i32.const 30 call $~lib/rt/__typeinfo i32.const 72 i32.ne br_if $folding-inner0 - i32.const 30 + i32.const 31 call $~lib/rt/__typeinfo i32.const 2184 i32.ne br_if $folding-inner0 - i32.const 31 + i32.const 32 call $~lib/rt/__typeinfo i32.const 136 i32.ne br_if $folding-inner0 - i32.const 32 + i32.const 33 call $~lib/rt/__typeinfo i32.const 2312 i32.ne br_if $folding-inner0 - i32.const 33 + i32.const 34 call $~lib/rt/__typeinfo i32.const 264 i32.ne br_if $folding-inner0 - i32.const 34 + i32.const 35 call $~lib/rt/__typeinfo i32.const 2568 i32.ne br_if $folding-inner0 - i32.const 35 + i32.const 36 call $~lib/rt/__typeinfo i32.const 520 i32.ne br_if $folding-inner0 - i32.const 36 + i32.const 37 call $~lib/rt/__typeinfo i32.const 6408 i32.ne br_if $folding-inner0 - i32.const 37 + i32.const 38 call $~lib/rt/__typeinfo i32.const 6664 i32.ne br_if $folding-inner0 - i32.const 38 + i32.const 39 call $~lib/rt/__typeinfo i32.const 1032 i32.ne br_if $folding-inner0 - i32.const 39 + i32.const 40 call $~lib/rt/__typeinfo i32.const 16648 i32.ne br_if $folding-inner0 - i32.const 40 + i32.const 41 call $~lib/rt/__typeinfo i32.const 24840 i32.ne br_if $folding-inner0 - i32.const 41 + i32.const 42 call $~lib/rt/__typeinfo i32.const 526416 i32.ne br_if $folding-inner0 - i32.const 42 + i32.const 43 call $~lib/rt/__typeinfo i32.const 1312912 i32.ne br_if $folding-inner0 - i32.const 43 + i32.const 44 call $~lib/rt/__typeinfo i32.const 1181968 i32.ne br_if $folding-inner0 - i32.const 44 + i32.const 45 call $~lib/rt/__typeinfo i32.const 1116688 i32.ne br_if $folding-inner0 - i32.const 45 + i32.const 46 call $~lib/rt/__typeinfo i32.const 1082384 i32.ne br_if $folding-inner0 - i32.const 46 + i32.const 47 call $~lib/rt/__typeinfo i32.const 8521808 i32.ne br_if $folding-inner0 - i32.const 47 + i32.const 48 call $~lib/rt/__typeinfo i32.const 12716112 i32.ne br_if $folding-inner0 - i32.const 48 + i32.const 49 call $~lib/rt/__typeinfo i32.const 1098000 i32.ne br_if $folding-inner0 - i32.const 49 + i32.const 50 call $~lib/rt/__typeinfo i32.const 1106192 i32.ne br_if $folding-inner0 - i32.const 50 + i32.const 51 call $~lib/rt/__typeinfo i32.const 12738832 i32.ne br_if $folding-inner0 - i32.const 51 + i32.const 52 call $~lib/rt/__typeinfo i32.const 3279120 i32.ne diff --git a/tests/compiler/rt/ids.debug.wat b/tests/compiler/rt/ids.debug.wat index 214ac8c562..428e573f04 100644 --- a/tests/compiler/rt/ids.debug.wat +++ b/tests/compiler/rt/ids.debug.wat @@ -24,6 +24,10 @@ i32.const 2 i32.eq drop + i32.const 3 + i32.const 3 + i32.eq + drop ) (func $~start (type $none_=>_none) call $start:rt/ids diff --git a/tests/compiler/rt/ids.ts b/tests/compiler/rt/ids.ts index 962bbb2dea..3bc9762afa 100644 --- a/tests/compiler/rt/ids.ts +++ b/tests/compiler/rt/ids.ts @@ -1,5 +1,6 @@ import { ArrayBufferView } from "arraybuffer"; -assert(idof() == 0); -assert(idof() == 1); -assert(idof() == 2); +assert(idof() == 0); +assert(idof() == 1); +assert(idof() == 2); +assert(idof() == 3); diff --git a/tests/compiler/rt/runtime-incremental-export.debug.wat b/tests/compiler/rt/runtime-incremental-export.debug.wat index a9e831fe7f..4a46a4e8fd 100644 --- a/tests/compiler/rt/runtime-incremental-export.debug.wat +++ b/tests/compiler/rt/runtime-incremental-export.debug.wat @@ -24,21 +24,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 544)) - (global $~lib/memory/__data_end i32 (i32.const 560)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33328)) - (global $~lib/memory/__heap_base i32 (i32.const 33328)) + (global $~lib/memory/__data_end i32 (i32.const 564)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33332)) + (global $~lib/memory/__heap_base i32 (i32.const 33332)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 544) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data (i32.const 544) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/itcms/__new)) @@ -113,7 +113,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -183,7 +183,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -200,7 +200,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -251,7 +251,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -297,7 +297,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1562,7 +1562,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2156,7 +2156,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2214,7 +2214,7 @@ if i32.const 432 i32.const 96 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -2246,7 +2246,7 @@ if i32.const 496 i32.const 96 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -2336,6 +2336,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2344,16 +2347,22 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/rt/runtime-incremental-export.release.wat b/tests/compiler/rt/runtime-incremental-export.release.wat index b436a85cb1..5ebb10c709 100644 --- a/tests/compiler/rt/runtime-incremental-export.release.wat +++ b/tests/compiler/rt/runtime-incremental-export.release.wat @@ -21,20 +21,20 @@ (global $~lib/rt/__rtti_base i32 (i32.const 1568)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "<") - (data (i32.const 1448) "\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1448) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") (data (i32.const 1500) "<") - (data (i32.const 1512) "\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1568) "\03\00\00\00 \00\00\00 ") + (data (i32.const 1512) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1568) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/itcms/__new)) (export "__pin" (func $~lib/rt/itcms/__pin)) (export "__unpin" (func $~lib/rt/itcms/__unpin)) @@ -73,7 +73,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -104,14 +104,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34352 + i32.const 34356 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -125,7 +125,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -157,7 +157,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -172,7 +172,7 @@ local.get $0 i32.load $0 offset=12 local.tee $2 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -757,10 +757,10 @@ if unreachable end - i32.const 34352 + i32.const 34368 i32.const 0 i32.store $0 - i32.const 35920 + i32.const 35936 i32.const 0 i32.store $0 loop $for-loop|0 @@ -771,7 +771,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34352 + i32.const 34368 i32.add i32.const 0 i32.store $0 offset=4 @@ -789,7 +789,7 @@ i32.add i32.const 2 i32.shl - i32.const 34352 + i32.const 34368 i32.add i32.const 0 i32.store $0 offset=96 @@ -807,13 +807,13 @@ br $for-loop|0 end end - i32.const 34352 - i32.const 35924 + i32.const 34368 + i32.const 35940 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34352 + i32.const 34368 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -894,11 +894,11 @@ i32.and i32.eq if - i32.const 34352 + i32.const 34356 local.set $0 loop $while-continue|0 local.get $0 - i32.const 34352 + i32.const 34356 i32.lt_u if local.get $0 @@ -992,13 +992,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34352 + i32.const 34356 i32.lt_u if local.get $0 @@ -1021,7 +1021,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34352 + i32.const 34356 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1221,7 +1221,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1533,7 +1533,7 @@ if i32.const 1456 i32.const 1120 - i32.const 337 + i32.const 338 i32.const 7 call $~lib/builtins/abort unreachable @@ -1586,7 +1586,7 @@ if i32.const 1520 i32.const 1120 - i32.const 351 + i32.const 352 i32.const 5 call $~lib/builtins/abort unreachable @@ -1665,11 +1665,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -1690,7 +1693,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34352 + i32.const 34356 i32.sub i32.const 1 i32.shr_u diff --git a/tests/compiler/rt/runtime-minimal-export.debug.wat b/tests/compiler/rt/runtime-minimal-export.debug.wat index 97f805a0ba..3df3a50899 100644 --- a/tests/compiler/rt/runtime-minimal-export.debug.wat +++ b/tests/compiler/rt/runtime-minimal-export.debug.wat @@ -16,17 +16,17 @@ (global $~lib/rt/tcms/pinSpace (mut i32) (i32.const 0)) (global $~lib/rt/tcms/toSpace (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 432)) - (global $~lib/memory/__heap_base i32 (i32.const 448)) + (global $~lib/memory/__heap_base i32 (i32.const 452)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") (data (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 432) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 432) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/tcms/__new)) @@ -1980,6 +1980,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -1988,16 +1991,22 @@ call $~lib/rt/tcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/rt/runtime-minimal-export.release.wat b/tests/compiler/rt/runtime-minimal-export.release.wat index d3e90d54a8..032cee0979 100644 --- a/tests/compiler/rt/runtime-minimal-export.release.wat +++ b/tests/compiler/rt/runtime-minimal-export.release.wat @@ -16,16 +16,16 @@ (global $~lib/rt/__rtti_base i32 (i32.const 1456)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1176) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1272) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") (data (i32.const 1356) "<") - (data (i32.const 1368) "\01\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1456) "\03\00\00\00 \00\00\00 ") + (data (i32.const 1368) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data (i32.const 1456) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/tcms/__new)) (export "__pin" (func $~lib/rt/tcms/__pin)) (export "__unpin" (func $~lib/rt/tcms/__unpin)) @@ -564,10 +564,10 @@ if unreachable end - i32.const 1472 + i32.const 1488 i32.const 0 i32.store $0 - i32.const 3040 + i32.const 3056 i32.const 0 i32.store $0 loop $for-loop|0 @@ -578,7 +578,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 1472 + i32.const 1488 i32.add i32.const 0 i32.store $0 offset=4 @@ -596,7 +596,7 @@ i32.add i32.const 2 i32.shl - i32.const 1472 + i32.const 1488 i32.add i32.const 0 i32.store $0 offset=96 @@ -614,13 +614,13 @@ br $for-loop|0 end end - i32.const 1472 - i32.const 3044 + i32.const 1488 + i32.const 3060 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 1472 + i32.const 1488 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) @@ -1018,7 +1018,7 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 1472 + i32.const 1476 i32.lt_u i32.and i32.eqz @@ -1280,7 +1280,7 @@ i32.and local.set $1 local.get $0 - i32.const 1472 + i32.const 1476 i32.lt_u if local.get $0 @@ -1303,7 +1303,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 1472 + i32.const 1476 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1373,11 +1373,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/rt/runtime-stub-export.debug.wat b/tests/compiler/rt/runtime-stub-export.debug.wat index a473adb1db..76867e18f5 100644 --- a/tests/compiler/rt/runtime-stub-export.debug.wat +++ b/tests/compiler/rt/runtime-stub-export.debug.wat @@ -9,11 +9,11 @@ (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 144)) - (global $~lib/memory/__heap_base i32 (i32.const 160)) + (global $~lib/memory/__heap_base i32 (i32.const 164)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 144) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 144) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/stub/__new)) diff --git a/tests/compiler/rt/runtime-stub-export.release.wat b/tests/compiler/rt/runtime-stub-export.release.wat index c47b933793..8ce14339e6 100644 --- a/tests/compiler/rt/runtime-stub-export.release.wat +++ b/tests/compiler/rt/runtime-stub-export.release.wat @@ -9,10 +9,10 @@ (global $~lib/rt/__rtti_base i32 (i32.const 1168)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") - (data (i32.const 1168) "\03\00\00\00 \00\00\00 ") + (data (i32.const 1112) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") + (data (i32.const 1168) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/stub/__new)) (export "__pin" (func $~lib/rt/stub/__pin)) (export "__unpin" (func $~lib/rt/stub/__unpin)) diff --git a/tests/compiler/simd.debug.wat b/tests/compiler/simd.debug.wat index c7ea8d5980..c89671deda 100644 --- a/tests/compiler/simd.debug.wat +++ b/tests/compiler/simd.debug.wat @@ -1,6 +1,6 @@ (module - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) @@ -46,22 +46,22 @@ (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/u64.MAX_VALUE i64 (i64.const -1)) (global $~lib/rt/__rtti_base i32 (i32.const 560)) - (global $~lib/memory/__data_end i32 (i32.const 584)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33352)) - (global $~lib/memory/__heap_base i32 (i32.const 33352)) + (global $~lib/memory/__data_end i32 (i32.const 588)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33356)) + (global $~lib/memory/__heap_base i32 (i32.const 33356)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 560) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "reexport" (func $simd/reexport)) @@ -145,7 +145,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -215,7 +215,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -232,7 +232,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -283,7 +283,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -329,7 +329,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1594,7 +1594,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2188,7 +2188,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2262,7 +2262,7 @@ if i32.const 0 i32.const 144 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -6583,7 +6583,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 4 - i32.const 3 + i32.const 4 i32.const 32 call $~lib/rt/__newArray local.tee $arr @@ -6777,6 +6777,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -6785,6 +6788,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -6798,6 +6804,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -6815,6 +6824,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -6826,11 +6838,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid + end + return end return end @@ -6888,7 +6903,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer diff --git a/tests/compiler/simd.release.wat b/tests/compiler/simd.release.wat index 28ed74a268..2a6839271d 100644 --- a/tests/compiler/simd.release.wat +++ b/tests/compiler/simd.release.wat @@ -30,25 +30,25 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $simd/vec (mut v128) (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34376)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34380)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1052) "\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 1048) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1484) ",") - (data (i32.const 1496) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1496) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1532) ",") - (data (i32.const 1544) "\01\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s") - (data (i32.const 1584) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t") + (data (i32.const 1544) "\02\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s") + (data (i32.const 1584) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t") (export "reexport" (func $simd/reexport)) (export "test_vars_i8x16_partial" (func $simd/test_vars_i8x16_partial)) (export "test_vars_i8x16_full" (func $simd/test_vars_i8x16_full)) @@ -92,7 +92,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -125,7 +125,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -145,14 +145,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34376 + i32.const 34380 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -166,7 +166,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -188,7 +188,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -836,7 +836,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.const 34376 + i32.const 34380 i32.lt_u if return @@ -966,7 +966,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34376 + i32.const 34380 i32.lt_u if local.get $0 @@ -1060,13 +1060,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34376 + i32.const 34380 i32.lt_u if local.get $0 @@ -1856,7 +1856,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1608 + i32.const 1612 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1866,7 +1866,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34376 + i32.const 34380 i32.sub i32.const 1 i32.shr_u @@ -1900,14 +1900,14 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1608 + i32.const 1612 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 i32.store $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.const 1056 @@ -1916,7 +1916,7 @@ local.get $1 local.get $3 i32.store $0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $2 local.get $3 @@ -1928,7 +1928,7 @@ if i32.const 0 i32.const 1168 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2330,11 +2330,14 @@ block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end diff --git a/tests/compiler/static-this.debug.wat b/tests/compiler/static-this.debug.wat index 756e41d59e..83bfb374f0 100644 --- a/tests/compiler/static-this.debug.wat +++ b/tests/compiler/static-this.debug.wat @@ -8,7 +8,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/static-this.release.wat b/tests/compiler/static-this.release.wat index 2dc719fe1d..2ff0178aaa 100644 --- a/tests/compiler/static-this.release.wat +++ b/tests/compiler/static-this.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/std/array-access.debug.wat b/tests/compiler/std/array-access.debug.wat index 4e2912860a..0eda98d24d 100644 --- a/tests/compiler/std/array-access.debug.wat +++ b/tests/compiler/std/array-access.debug.wat @@ -15,10 +15,10 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33052)) (global $~lib/memory/__heap_base i32 (i32.const 33052)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 124) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 124) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/array-access.release.wat b/tests/compiler/std/array-access.release.wat index b13d3e74ac..de754b6996 100644 --- a/tests/compiler/std/array-access.release.wat +++ b/tests/compiler/std/array-access.release.wat @@ -6,13 +6,13 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34076)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1048) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1100) ",") - (data (i32.const 1112) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1148) "|") - (data (i32.const 1160) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 1160) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (data (i32.const 1276) "\1c") - (data (i32.const 1288) "\01") + (data (i32.const 1288) "\02") (table $0 1 1 funcref) (export "memory" (memory $0)) (export "i32ArrayArrayElementAccess" (func $export:std/array-access/i32ArrayArrayElementAccess)) diff --git a/tests/compiler/std/array-literal.debug.wat b/tests/compiler/std/array-literal.debug.wat index 953ec47898..dc51d0736e 100644 --- a/tests/compiler/std/array-literal.debug.wat +++ b/tests/compiler/std/array-literal.debug.wat @@ -33,27 +33,27 @@ (global $std/array-literal/dynamicArrayRef (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 768)) - (global $~lib/memory/__data_end i32 (i32.const 808)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33576)) - (global $~lib/memory/__heap_base i32 (i32.const 33576)) + (global $~lib/memory/__data_end i32 (i32.const 812)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33580)) + (global $~lib/memory/__heap_base i32 (i32.const 33580)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\00\01\02\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \01\00\00 \01\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00p\01\00\00p\01\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 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\00\01\02\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00") + (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00 \01\00\00 \01\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00p\01\00\00p\01\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 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 560) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 592) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 672) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A\00\00") + (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 768) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -199,7 +199,7 @@ if i32.const 0 i32.const 512 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -269,7 +269,7 @@ if i32.const 0 i32.const 512 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -286,7 +286,7 @@ if i32.const 0 i32.const 512 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -337,7 +337,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -383,7 +383,7 @@ if (result i32) i32.const 0 i32.const 512 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1648,7 +1648,7 @@ if i32.const 0 i32.const 512 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2242,7 +2242,7 @@ if i32.const 448 i32.const 512 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2316,7 +2316,7 @@ if i32.const 0 i32.const 512 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2564,6 +2564,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2572,6 +2575,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2585,6 +2591,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2602,6 +2611,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2656,6 +2668,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2710,6 +2725,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2725,11 +2743,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid + end + return end return end @@ -2997,7 +3018,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 0 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $6 @@ -3109,7 +3130,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $8 @@ -3219,7 +3240,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 6 + i32.const 7 i32.const 0 call $~lib/rt/__newArray local.tee $10 @@ -3267,7 +3288,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $12 @@ -3325,7 +3346,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 6 + i32.const 7 i32.const 0 call $~lib/rt/__newArray local.tee $14 @@ -3374,7 +3395,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -3407,6 +3428,34 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $std/array-literal/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3422,11 +3471,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3450,7 +3504,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index af0c9bf709..fadd3b93e2 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -24,34 +24,35 @@ (global $std/array-literal/dynamicArrayI32 (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRef (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34600)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34604)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1052) "\03\00\00\00\00\01\02") + (data (i32.const 1048) "\01\00\00\00\03\00\00\00\00\01\02") (data (i32.const 1068) ",") - (data (i32.const 1080) "\03\00\00\00\10\00\00\00 \04\00\00 \04\00\00\03\00\00\00\03") + (data (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\03\00\00\00\03") (data (i32.const 1116) "<") - (data (i32.const 1128) "\01\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") + (data (i32.const 1128) "\02\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") (data (i32.const 1180) "<") - (data (i32.const 1192) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1192) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1244) ",") - (data (i32.const 1256) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1256) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1292) "\1c") - (data (i32.const 1308) "\0c\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 1304) "\01\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02") (data (i32.const 1324) ",") - (data (i32.const 1336) "\04\00\00\00\10\00\00\00 \05\00\00 \05\00\00\0c\00\00\00\03") + (data (i32.const 1336) "\05\00\00\00\10\00\00\00 \05\00\00 \05\00\00\0c\00\00\00\03") (data (i32.const 1372) "\1c") + (data (i32.const 1384) "\01") (data (i32.const 1404) ",") - (data (i32.const 1416) "\04\00\00\00\10\00\00\00p\05\00\00p\05") + (data (i32.const 1416) "\05\00\00\00\10\00\00\00p\05\00\00p\05") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1464) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1516) "<") - (data (i32.const 1528) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1644) ",") - (data (i32.const 1656) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1656) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1724) "<") - (data (i32.const 1736) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1792) "\t\00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A") + (data (i32.const 1736) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1792) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) @@ -155,7 +156,7 @@ if i32.const 0 i32.const 1536 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -188,7 +189,7 @@ if i32.const 0 i32.const 1536 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -208,14 +209,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34600 + i32.const 34604 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1536 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -229,7 +230,7 @@ if i32.const 0 i32.const 1536 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -251,7 +252,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -977,7 +978,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34600 + i32.const 34604 i32.lt_u if local.get $0 @@ -1071,13 +1072,13 @@ if i32.const 0 i32.const 1536 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34600 + i32.const 34604 i32.lt_u if local.get $0 @@ -1100,7 +1101,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34600 + i32.const 34604 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1300,7 +1301,7 @@ if i32.const 1472 i32.const 1536 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1611,7 +1612,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) - (func $~lib/array/Array#__visit (type $i32_=>_none) (param $0 i32) + (func $~lib/array/Array~visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1660,11 +1661,14 @@ block $std/array-literal/Ref block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid + end + return end return end @@ -1673,13 +1677,13 @@ return end local.get $0 - call $~lib/array/Array#__visit + call $~lib/array/Array~visit return end return end local.get $0 - call $~lib/array/Array#__visit + call $~lib/array/Array~visit return end unreachable @@ -1703,7 +1707,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1832 + i32.const 1836 i32.lt_s if i32.const 34624 @@ -1857,7 +1861,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34600 + i32.const 34604 i32.sub i32.const 1 i32.shr_u @@ -1889,7 +1893,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=4 @@ -1990,7 +1994,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 4 + i32.const 5 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=12 @@ -2089,7 +2093,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 6 + i32.const 7 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=20 @@ -2130,7 +2134,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 8 + i32.const 9 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=28 @@ -2181,7 +2185,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 6 + i32.const 7 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=36 @@ -2196,7 +2200,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 - i32.const 34600 + i32.const 34604 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -2243,7 +2247,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1832 + i32.const 1836 i32.lt_s if i32.const 34624 @@ -2262,7 +2266,7 @@ local.get $1 i32.shl local.tee $1 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -2296,36 +2300,68 @@ ) (func $std/array-literal/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1832 - i32.lt_s - if - i32.const 34624 - i32.const 34672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1836 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1836 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34624 + i32.const 34672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $std/array-literal/RefWithCtor#constructor (type $none_=>_i32) (result i32) (local $0 i32) @@ -2334,7 +2370,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1832 + i32.const 1836 i32.lt_s if i32.const 34624 @@ -2350,7 +2386,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2386,7 +2422,7 @@ if i32.const 0 i32.const 1536 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index 8d52514dca..eb2a677d73 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -74,313 +74,313 @@ (global $~lib/builtins/i64.MIN_VALUE i64 (i64.const -9223372036854775808)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) (global $~lib/rt/__rtti_base i32 (i32.const 14912)) - (global $~lib/memory/__data_end i32 (i32.const 15100)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 47868)) - (global $~lib/memory/__heap_base i32 (i32.const 47868)) + (global $~lib/memory/__data_end i32 (i32.const 15104)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 47872)) + (global $~lib/memory/__heap_base i32 (i32.const 47872)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00") - (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\02\03\04\05\00\00\00\00\00\00\00") - (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") - (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") - (data (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") - (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\ff\ff\ff\ff\ff\00\00\00\00\00\00\00") - (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 972) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1116) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") - (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") - (data (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1356) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") - (data (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") - (data (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\00\00\00\00\00\00") - (data (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\00\00\00\00\00") - (data (i32.const 1596) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") - (data (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1724) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1852) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1900) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1948) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1996) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2044) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2092) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2140) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2188) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2236) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2284) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2332) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2380) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2428) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2476) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2524) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2572) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2668) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2716) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2812) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2860) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 2908) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2956) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00") - (data (i32.const 2988) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") - (data (i32.const 3020) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00") - (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\01\02\03\00\00\00\00\00\00\00\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07\00\00\00\00") - (data (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3324) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3372) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") - (data (i32.const 3484) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") - (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 3644) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 3692) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3724) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3804) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 3852) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3964) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") - (data (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4156) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4204) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4284) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 4444) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4492) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4524) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4572) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4652) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4700) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4828) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4876) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4908) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 4956) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 5004) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5036) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 5084) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 5132) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5164) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 5260) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5292) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5372) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5500) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5804) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5836) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5868) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5900) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5932) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5964) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5996) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 6540) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 6604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00") + (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\02\03\04\05\00\00\00\00\00\00\00") + (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") + (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\ff\ff\ff\ff\ff\00\00\00\00\00\00\00") + (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 972) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1116) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") + (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") + (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") + (data (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1356) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") + (data (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") + (data (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\00\00\00\00\00\00") + (data (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\00\00\00\00\00") + (data (i32.const 1596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") + (data (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1724) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1852) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1900) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1948) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1996) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2044) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2092) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2140) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2188) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2236) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2284) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2332) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2380) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2428) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2476) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2524) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2572) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2668) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2716) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2812) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2860) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 2908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00") + (data (i32.const 2988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") + (data (i32.const 3020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00") + (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") + (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") + (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\01\02\03\00\00\00\00\00\00\00\00") + (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07\00\00\00\00") + (data (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") + (data (i32.const 3484) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") + (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 3644) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 3692) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3724) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3804) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 3852) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3964) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") + (data (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") + (data (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4156) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4204) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 4444) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4572) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4700) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4828) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4908) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 4956) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 5004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5036) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 5084) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 5132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5164) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 5260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5292) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5372) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5500) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5804) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5836) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5868) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5900) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5932) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5964) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5996) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6412) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 6540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 6604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 6636) "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\00") - (data (i32.const 7036) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8092) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 8188) "\1c\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8220) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8252) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8284) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8316) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8348) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8380) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8412) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8444) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8476) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8508) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8604) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8636) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8668) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8700) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8732) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8764) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8796) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8828) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8860) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8892) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8924) "\bc\00\00\00\00\00\00\00\00\00\00\00\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 9116) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf\00\00\00\00") - (data (i32.const 9148) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9180) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") - (data (i32.const 9212) "<\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9276) "<\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9340) "\\\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\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\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9436) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9468) "\\\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\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\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9564) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 9612) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9644) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 9692) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 9740) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9772) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 9820) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9852) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9884) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 9916) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9964) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10012) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10044) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10076) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 10108) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10140) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10172) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10204) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10236) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\1d\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10300) "\1c\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10396) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 10428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 10460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10492) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00p(\00\00\90(\00\00p(\00\00\b0(\00\00\d0(\00\00\f0(\00\00\00\00\00\00") - (data (i32.const 10540) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\f0(\00\00p(\00\00p(\00\00\b0(\00\00\90(\00\00\d0(\00\00\00\00\00\00") - (data (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00\"\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 10716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 10748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10780) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 10828) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 10860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003\00\00\00") - (data (i32.const 10892) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 10924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10956) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80\00\00\00\00") - (data (i32.const 10988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00_\00_\00\00\00\00\00\00\00\00\00") - (data (i32.const 11020) "L\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11100) "L\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 11212) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 11244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 11276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 8188) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8220) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8252) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8284) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8316) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8476) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8508) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8604) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8636) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8668) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8700) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8732) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8764) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8796) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8828) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8860) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8892) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8924) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\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 9116) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf\00\00\00\00") + (data (i32.const 9148) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") + (data (i32.const 9212) "<\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9276) "<\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9340) "\\\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9436) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9468) "\\\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9564) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 9612) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9644) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 9692) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 9740) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9772) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 9820) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 9916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10012) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 10108) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10140) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10204) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10236) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10300) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 10428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") + (data (i32.const 10460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00p(\00\00\90(\00\00p(\00\00\b0(\00\00\d0(\00\00\f0(\00\00\00\00\00\00") + (data (i32.const 10540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\f0(\00\00p(\00\00p(\00\00\b0(\00\00\90(\00\00\d0(\00\00\00\00\00\00") + (data (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data (i32.const 10716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data (i32.const 10748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10780) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 10828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 10860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00-\002\00-\003\00\00\00") + (data (i32.const 10892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 10924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80\00\00\00\00") + (data (i32.const 10988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00_\00_\00\00\00\00\00\00\00\00\00") + (data (i32.const 11020) "L\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11100) "L\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") + (data (i32.const 11212) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 11244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 11276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 11376) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 11432) "\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_\rXf\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[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12780) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12812) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12844) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 12876) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00,\002\00\00\00\00\00\00\00") - (data (i32.const 12956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13004) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\01\ff\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") - (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\80\81\80\00\00\00\00\00\00\00\00\00") - (data (i32.const 13100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008\00") - (data (i32.const 13148) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\01\00\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 13180) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13228) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\80\01\ff\00\00\00\00\00\00\00\00") - (data (i32.const 13260) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005\00\00\00\00\00\00\00") - (data (i32.const 13308) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff\00\00\00\00") - (data (i32.const 13340) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13404) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13452) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13532) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f\00\00\00\00") - (data (i32.const 13596) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13756) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\f0(\00\00p(\00\00p(\00\00\b0(\00\00\90(\00\00\d0(\00\00\00\00\00\00") - (data (i32.const 13804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00\00\00") - (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13916) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\c00\00\0006\00\00\00\00\00\00P6\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13964) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") - (data (i32.const 13996) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 14060) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\108\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") - (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") - (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00P8\00\00\00\00\00\00p8\00\00") - (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00f\00i\00v\00e\00\00\00\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00s\00i\00x\00\00\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\b08\00\00\d08\00\00\f08\00\00") - (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00s\00e\00v\00e\00n\00\00\00") - (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\0009\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14684) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\108\00\00P8\00\00\00\00\00\00p8\00\00\b08\00\00\d08\00\00\f08\00\0009\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14912) ".\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a\00\00\00\00\00\00\00\00\00\00\02A\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\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a\00\00\00\00\00\00\00\00\00\00B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A\00\00\00\00\00\00") + (data (i32.const 12348) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00P\00\00\000\00.\000\00,\00 \001\00.\000\00,\00 \00-\002\00.\000\00,\00 \00N\00a\00N\00,\00 \00-\00I\00n\00f\00i\00n\00i\00t\00y\00,\00 \00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\f0(\00\00\c00\00\00\00\00\00\00") + (data (i32.const 12524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12588) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12684) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00>\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 12876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00,\002\00\00\00\00\00\00\00") + (data (i32.const 12956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\01\ff\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") + (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\80\81\80\00\00\00\00\00\00\00\00\00") + (data (i32.const 13100) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008\00") + (data (i32.const 13148) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\00\ff\ff\00\00\00\00\00\00\00\00") + (data (i32.const 13180) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\80\01\ff\00\00\00\00\00\00\00\00") + (data (i32.const 13260) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005\00\00\00\00\00\00\00") + (data (i32.const 13308) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff\00\00\00\00") + (data (i32.const 13340) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13452) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13532) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f\00\00\00\00") + (data (i32.const 13596) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\f0(\00\00p(\00\00p(\00\00\b0(\00\00\90(\00\00\d0(\00\00\00\00\00\00") + (data (i32.const 13804) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00\00\00") + (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\c00\00\0006\00\00\00\00\00\00P6\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") + (data (i32.const 13996) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") + (data (i32.const 14060) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\02\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\04\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") + (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") + (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") + (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\108\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") + (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") + (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00P8\00\00\00\00\00\00p8\00\00") + (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") + (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00i\00v\00e\00\00\00\00\00") + (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00s\00i\00x\00\00\00\00\00\00\00") + (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\b08\00\00\d08\00\00\f08\00\00") + (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00e\00v\00e\00n\00\00\00") + (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\0009\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14684) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\108\00\00P8\00\00\00\00\00\00p8\00\00\b08\00\00\d08\00\00\f08\00\0009\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14912) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a\00\00\00\00\00\00\00\00\00\00\02A\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\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a\00\00\00\00\00\00\00\00\00\00B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A\00\00\00\00\00\00") (table $0 64 64 funcref) (elem $0 (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|35 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|39 $start:std/array~anonymous|40 $start:std/array~anonymous|41 $start:std/array~anonymous|42 $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 $~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|1 $std/array/assertStableSortedForComplexObjects~anonymous|0 $start:std/array~anonymous|48 $start:std/array~anonymous|49 $start:std/array~anonymous|50 $start:std/array~anonymous|51 $start:std/array~anonymous|52 $start:std/array~anonymous|53 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 $start:std/array~anonymous|54) (export "memory" (memory $0)) @@ -450,7 +450,7 @@ if i32.const 0 i32.const 192 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -520,7 +520,7 @@ if i32.const 0 i32.const 192 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -537,7 +537,7 @@ if i32.const 0 i32.const 192 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -588,7 +588,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -634,7 +634,7 @@ if (result i32) i32.const 0 i32.const 192 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1899,7 +1899,7 @@ if i32.const 0 i32.const 192 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2493,7 +2493,7 @@ if i32.const 128 i32.const 192 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2552,7 +2552,7 @@ if i32.const 0 i32.const 192 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -18582,6 +18582,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -18590,6 +18593,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) i32.const 0 drop @@ -18599,6 +18605,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18621,6 +18630,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18638,6 +18650,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18655,6 +18670,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18709,6 +18727,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18726,6 +18747,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18743,6 +18767,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18797,6 +18824,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -18812,6 +18842,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit @@ -18827,6 +18860,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit @@ -18881,6 +18917,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -18896,6 +18935,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#__visit @@ -18911,6 +18953,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit @@ -18926,6 +18971,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit @@ -18941,6 +18989,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit @@ -18956,6 +19007,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit @@ -19010,6 +19064,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -19025,6 +19082,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit @@ -19040,6 +19100,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit @@ -19055,6 +19118,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit @@ -19070,6 +19136,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit @@ -19085,6 +19154,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#__visit @@ -19139,6 +19211,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__visit @@ -19154,6 +19229,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit @@ -19208,6 +19286,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array>#__visit @@ -19223,6 +19304,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit @@ -19277,6 +19361,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String|null>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String|null>#__visit @@ -19292,6 +19379,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit @@ -19307,6 +19397,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit @@ -19324,6 +19417,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -19341,6 +19437,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -19358,6 +19457,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -19375,6 +19477,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -19392,6 +19497,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -19446,6 +19554,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__visit @@ -19500,6 +19611,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__visit @@ -19554,6 +19668,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit @@ -19608,6 +19725,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit @@ -19623,6 +19743,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#__visit @@ -19675,11 +19798,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $std/array/Ref $~lib/typedarray/Uint8Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> $~lib/array/Array<~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> $std/array/Dim $~lib/array/Array $~lib/function/Function<%28f32%2Cf32%29=>i32> $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32> $~lib/array/Array<~lib/array/Array> $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> $std/array/Proxy $~lib/array/Array> $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> $~lib/array/Array<~lib/string/String|null> $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array<~lib/array/Array>> $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $std/array/Ref $~lib/typedarray/Uint8Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> $~lib/array/Array<~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> $std/array/Dim $~lib/array/Array $~lib/function/Function<%28f32%2Cf32%29=>i32> $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32> $~lib/array/Array<~lib/array/Array> $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> $std/array/Proxy $~lib/array/Array> $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> $~lib/array/Array<~lib/string/String|null> $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array<~lib/array/Array>> $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> $invalid + end + return end return end @@ -19912,8 +20038,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 47888 - i32.const 47936 + i32.const 47904 + i32.const 47952 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -23197,7 +23323,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -23901,7 +24027,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 672 call $~lib/rt/__newArray local.tee $2 @@ -23915,7 +24041,7 @@ local.get $2 i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 704 call $~lib/rt/__newArray local.set $487 @@ -23943,7 +24069,7 @@ local.get $2 i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 736 call $~lib/rt/__newArray local.set $487 @@ -23971,7 +24097,7 @@ local.get $2 i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 768 call $~lib/rt/__newArray local.set $487 @@ -23999,7 +24125,7 @@ local.get $2 i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 800 call $~lib/rt/__newArray local.set $487 @@ -24027,7 +24153,7 @@ local.get $2 i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 832 call $~lib/rt/__newArray local.set $487 @@ -24055,7 +24181,7 @@ local.get $2 i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 864 call $~lib/rt/__newArray local.set $487 @@ -24077,7 +24203,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 896 call $~lib/rt/__newArray local.tee $17 @@ -24091,7 +24217,7 @@ local.get $17 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 944 call $~lib/rt/__newArray local.set $487 @@ -24119,7 +24245,7 @@ local.get $17 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 992 call $~lib/rt/__newArray local.set $487 @@ -24147,7 +24273,7 @@ local.get $17 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 1040 call $~lib/rt/__newArray local.set $487 @@ -24175,7 +24301,7 @@ local.get $17 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 1088 call $~lib/rt/__newArray local.set $487 @@ -24203,7 +24329,7 @@ local.get $17 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 1136 call $~lib/rt/__newArray local.set $487 @@ -24231,7 +24357,7 @@ local.get $17 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 1184 call $~lib/rt/__newArray local.set $487 @@ -24253,7 +24379,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1232 call $~lib/rt/__newArray local.tee $32 @@ -24267,7 +24393,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1280 call $~lib/rt/__newArray local.set $487 @@ -24295,7 +24421,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1328 call $~lib/rt/__newArray local.set $487 @@ -24323,7 +24449,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1376 call $~lib/rt/__newArray local.set $487 @@ -24351,7 +24477,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1424 call $~lib/rt/__newArray local.set $487 @@ -24379,7 +24505,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1472 call $~lib/rt/__newArray local.set $487 @@ -24407,7 +24533,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1520 call $~lib/rt/__newArray local.set $487 @@ -24435,7 +24561,7 @@ local.get $32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1568 call $~lib/rt/__newArray local.set $487 @@ -24863,7 +24989,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $48 @@ -24907,7 +25033,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1664 call $~lib/rt/__newArray local.tee $53 @@ -25037,7 +25163,7 @@ local.get $55 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1712 call $~lib/rt/__newArray local.set $487 @@ -25259,7 +25385,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1744 call $~lib/rt/__newArray local.tee $60 @@ -25317,7 +25443,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1776 call $~lib/rt/__newArray local.tee $63 @@ -25334,7 +25460,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1824 call $~lib/rt/__newArray local.set $487 @@ -25356,7 +25482,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1872 call $~lib/rt/__newArray local.tee $63 @@ -25373,7 +25499,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1920 call $~lib/rt/__newArray local.set $487 @@ -25395,7 +25521,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1968 call $~lib/rt/__newArray local.tee $63 @@ -25412,7 +25538,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2016 call $~lib/rt/__newArray local.set $487 @@ -25434,7 +25560,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2064 call $~lib/rt/__newArray local.tee $63 @@ -25451,7 +25577,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2112 call $~lib/rt/__newArray local.set $487 @@ -25473,7 +25599,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2160 call $~lib/rt/__newArray local.tee $63 @@ -25490,7 +25616,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2208 call $~lib/rt/__newArray local.set $487 @@ -25512,7 +25638,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2256 call $~lib/rt/__newArray local.tee $63 @@ -25529,7 +25655,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2304 call $~lib/rt/__newArray local.set $487 @@ -25551,7 +25677,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2352 call $~lib/rt/__newArray local.tee $63 @@ -25568,7 +25694,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2400 call $~lib/rt/__newArray local.set $487 @@ -25590,7 +25716,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2448 call $~lib/rt/__newArray local.tee $63 @@ -25607,7 +25733,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2496 call $~lib/rt/__newArray local.set $487 @@ -25629,7 +25755,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2544 call $~lib/rt/__newArray local.tee $63 @@ -25646,7 +25772,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2592 call $~lib/rt/__newArray local.set $487 @@ -25668,7 +25794,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2640 call $~lib/rt/__newArray local.tee $63 @@ -25685,7 +25811,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2688 call $~lib/rt/__newArray local.set $487 @@ -25707,7 +25833,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2736 call $~lib/rt/__newArray local.tee $63 @@ -25724,7 +25850,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2784 call $~lib/rt/__newArray local.set $487 @@ -25746,7 +25872,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2832 call $~lib/rt/__newArray local.tee $63 @@ -25763,7 +25889,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2880 call $~lib/rt/__newArray local.set $487 @@ -26291,7 +26417,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2928 call $~lib/rt/__newArray local.tee $113 @@ -26306,7 +26432,7 @@ local.get $110 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2976 call $~lib/rt/__newArray local.set $487 @@ -26335,7 +26461,7 @@ local.get $110 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3008 call $~lib/rt/__newArray local.set $487 @@ -26364,7 +26490,7 @@ local.get $110 i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3040 call $~lib/rt/__newArray local.set $487 @@ -26413,7 +26539,7 @@ local.get $110 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3088 call $~lib/rt/__newArray local.set $487 @@ -26442,7 +26568,7 @@ local.get $110 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3120 call $~lib/rt/__newArray local.set $487 @@ -26471,7 +26597,7 @@ local.get $110 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3152 call $~lib/rt/__newArray local.set $487 @@ -26654,7 +26780,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 0 - i32.const 6 + i32.const 7 i32.const 3184 call $~lib/rt/__newArray local.set $487 @@ -26706,7 +26832,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 0 - i32.const 6 + i32.const 7 i32.const 3216 call $~lib/rt/__newArray local.set $487 @@ -26758,7 +26884,7 @@ global.get $~lib/memory/__stack_pointer i32.const 17 i32.const 0 - i32.const 6 + i32.const 7 i32.const 3248 call $~lib/rt/__newArray local.set $487 @@ -26810,7 +26936,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 1 - i32.const 10 + i32.const 11 i32.const 3296 call $~lib/rt/__newArray local.set $487 @@ -26862,7 +26988,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 1 - i32.const 10 + i32.const 11 i32.const 3344 call $~lib/rt/__newArray local.set $487 @@ -26914,7 +27040,7 @@ global.get $~lib/memory/__stack_pointer i32.const 9 i32.const 1 - i32.const 10 + i32.const 11 i32.const 3392 call $~lib/rt/__newArray local.set $487 @@ -27185,7 +27311,7 @@ end i32.const 1 i32.const 2 - i32.const 8 + i32.const 9 i32.const 3440 call $~lib/rt/__newArray local.set $487 @@ -27209,7 +27335,7 @@ end i32.const 1 i32.const 3 - i32.const 11 + i32.const 12 i32.const 3472 call $~lib/rt/__newArray local.set $487 @@ -27234,7 +27360,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3504 call $~lib/rt/__newArray local.tee $168 @@ -27555,7 +27681,7 @@ end i32.const 1 i32.const 2 - i32.const 8 + i32.const 9 i32.const 3552 call $~lib/rt/__newArray local.set $487 @@ -27577,7 +27703,7 @@ end i32.const 1 i32.const 3 - i32.const 11 + i32.const 12 i32.const 3584 call $~lib/rt/__newArray local.set $487 @@ -27684,7 +27810,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3616 call $~lib/rt/__newArray local.tee $176 @@ -27700,7 +27826,7 @@ local.get $487 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3664 call $~lib/rt/__newArray local.set $487 @@ -27722,7 +27848,7 @@ local.get $176 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3712 call $~lib/rt/__newArray local.set $487 @@ -27744,7 +27870,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3744 call $~lib/rt/__newArray local.tee $176 @@ -27760,7 +27886,7 @@ local.get $487 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3792 call $~lib/rt/__newArray local.set $487 @@ -27782,7 +27908,7 @@ local.get $176 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3824 call $~lib/rt/__newArray local.set $487 @@ -27804,7 +27930,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3872 call $~lib/rt/__newArray local.tee $176 @@ -27820,7 +27946,7 @@ local.get $487 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3920 call $~lib/rt/__newArray local.set $487 @@ -27842,7 +27968,7 @@ local.get $176 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3952 call $~lib/rt/__newArray local.set $487 @@ -27864,7 +27990,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3984 call $~lib/rt/__newArray local.tee $176 @@ -27880,7 +28006,7 @@ local.get $487 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4032 call $~lib/rt/__newArray local.set $487 @@ -27902,7 +28028,7 @@ local.get $176 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4064 call $~lib/rt/__newArray local.set $487 @@ -27924,7 +28050,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4096 call $~lib/rt/__newArray local.tee $176 @@ -27940,7 +28066,7 @@ local.get $487 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4144 call $~lib/rt/__newArray local.set $487 @@ -27962,7 +28088,7 @@ local.get $176 i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4176 call $~lib/rt/__newArray local.set $487 @@ -27984,7 +28110,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4224 call $~lib/rt/__newArray local.tee $176 @@ -28000,7 +28126,7 @@ local.get $487 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4272 call $~lib/rt/__newArray local.set $487 @@ -28022,7 +28148,7 @@ local.get $176 i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4304 call $~lib/rt/__newArray local.set $487 @@ -28044,7 +28170,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4352 call $~lib/rt/__newArray local.tee $176 @@ -28060,7 +28186,7 @@ local.get $487 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4400 call $~lib/rt/__newArray local.set $487 @@ -28082,7 +28208,7 @@ local.get $176 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4432 call $~lib/rt/__newArray local.set $487 @@ -28104,7 +28230,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4464 call $~lib/rt/__newArray local.tee $176 @@ -28120,7 +28246,7 @@ local.get $487 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4512 call $~lib/rt/__newArray local.set $487 @@ -28142,7 +28268,7 @@ local.get $176 i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4544 call $~lib/rt/__newArray local.set $487 @@ -28164,7 +28290,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4592 call $~lib/rt/__newArray local.tee $176 @@ -28180,7 +28306,7 @@ local.get $487 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4640 call $~lib/rt/__newArray local.set $487 @@ -28202,7 +28328,7 @@ local.get $176 i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4672 call $~lib/rt/__newArray local.set $487 @@ -28224,7 +28350,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4720 call $~lib/rt/__newArray local.tee $176 @@ -28240,7 +28366,7 @@ local.get $487 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4768 call $~lib/rt/__newArray local.set $487 @@ -28262,7 +28388,7 @@ local.get $176 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4800 call $~lib/rt/__newArray local.set $487 @@ -28284,7 +28410,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4848 call $~lib/rt/__newArray local.tee $176 @@ -28300,7 +28426,7 @@ local.get $487 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4896 call $~lib/rt/__newArray local.set $487 @@ -28322,7 +28448,7 @@ local.get $176 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4928 call $~lib/rt/__newArray local.set $487 @@ -28344,7 +28470,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4976 call $~lib/rt/__newArray local.tee $176 @@ -28360,7 +28486,7 @@ local.get $487 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5024 call $~lib/rt/__newArray local.set $487 @@ -28382,7 +28508,7 @@ local.get $176 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5056 call $~lib/rt/__newArray local.set $487 @@ -28404,7 +28530,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5104 call $~lib/rt/__newArray local.tee $176 @@ -28420,7 +28546,7 @@ local.get $487 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5152 call $~lib/rt/__newArray local.set $487 @@ -28442,7 +28568,7 @@ local.get $176 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5184 call $~lib/rt/__newArray local.set $487 @@ -28464,7 +28590,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5232 call $~lib/rt/__newArray local.tee $176 @@ -28480,7 +28606,7 @@ local.get $487 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5280 call $~lib/rt/__newArray local.set $487 @@ -28502,7 +28628,7 @@ local.get $176 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5312 call $~lib/rt/__newArray local.set $487 @@ -28524,7 +28650,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 9 + i32.const 10 i32.const 5360 call $~lib/rt/__newArray local.tee $261 @@ -28566,7 +28692,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $263 @@ -28746,7 +28872,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 12 + i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $265 @@ -29171,7 +29297,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5776 call $~lib/rt/__newArray local.tee $273 @@ -30995,7 +31121,7 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 - i32.const 22 + i32.const 23 i32.const 0 call $~lib/rt/__newArray local.tee $283 @@ -31190,7 +31316,7 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 - i32.const 22 + i32.const 23 i32.const 0 call $~lib/rt/__newArray local.tee $297 @@ -31385,7 +31511,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 8 + i32.const 9 i32.const 9136 call $~lib/rt/__newArray local.tee $313 @@ -31399,7 +31525,7 @@ local.get $313 i32.const 3 i32.const 2 - i32.const 8 + i32.const 9 i32.const 9200 call $~lib/rt/__newArray local.set $487 @@ -31421,7 +31547,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 - i32.const 8 + i32.const 9 i32.const 9232 call $~lib/rt/__newArray local.tee $318 @@ -31435,7 +31561,7 @@ local.get $318 i32.const 8 i32.const 2 - i32.const 8 + i32.const 9 i32.const 9296 call $~lib/rt/__newArray local.set $487 @@ -31457,7 +31583,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 3 - i32.const 11 + i32.const 12 i32.const 9360 call $~lib/rt/__newArray local.tee $323 @@ -31471,7 +31597,7 @@ local.get $323 i32.const 8 i32.const 3 - i32.const 11 + i32.const 12 i32.const 9488 call $~lib/rt/__newArray local.set $487 @@ -31493,7 +31619,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9584 call $~lib/rt/__newArray local.tee $328 @@ -31507,7 +31633,7 @@ local.get $328 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9664 call $~lib/rt/__newArray local.set $487 @@ -31529,7 +31655,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 9712 call $~lib/rt/__newArray local.tee $333 @@ -31543,7 +31669,7 @@ local.get $333 i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 9792 call $~lib/rt/__newArray local.set $487 @@ -31565,7 +31691,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9840 call $~lib/rt/__newArray local.tee $338 @@ -31573,7 +31699,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9872 call $~lib/rt/__newArray local.tee $341 @@ -31581,7 +31707,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9904 call $~lib/rt/__newArray local.tee $344 @@ -31589,7 +31715,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9936 call $~lib/rt/__newArray local.tee $347 @@ -31597,7 +31723,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 9984 call $~lib/rt/__newArray local.tee $350 @@ -31634,7 +31760,7 @@ local.get $341 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10064 call $~lib/rt/__newArray local.set $487 @@ -31658,7 +31784,7 @@ local.get $344 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10096 call $~lib/rt/__newArray local.set $487 @@ -31826,7 +31952,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 - i32.const 33 + i32.const 34 i32.const 10512 call $~lib/rt/__newArray local.tee $366 @@ -31834,7 +31960,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 - i32.const 33 + i32.const 34 i32.const 10560 call $~lib/rt/__newArray local.tee $369 @@ -31869,7 +31995,7 @@ call $std/array/assertSorted<~lib/string/String>@varargs i32.const 2 i32.const 0 - i32.const 36 + i32.const 37 i32.const 10672 call $~lib/rt/__newArray local.set $487 @@ -31907,7 +32033,7 @@ end i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10848 call $~lib/rt/__newArray local.set $487 @@ -31945,7 +32071,7 @@ end i32.const 3 i32.const 2 - i32.const 7 + i32.const 8 i32.const 10912 call $~lib/rt/__newArray local.set $487 @@ -31983,7 +32109,7 @@ end i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10976 call $~lib/rt/__newArray local.set $487 @@ -32021,7 +32147,7 @@ end i32.const 6 i32.const 3 - i32.const 11 + i32.const 12 i32.const 11120 call $~lib/rt/__newArray local.set $487 @@ -32059,7 +32185,7 @@ end i32.const 3 i32.const 2 - i32.const 33 + i32.const 34 i32.const 12512 call $~lib/rt/__newArray local.set $487 @@ -32099,7 +32225,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 12 + i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $383 @@ -32161,7 +32287,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $386 @@ -32218,7 +32344,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 12800 call $~lib/rt/__newArray local.tee $391 @@ -32226,7 +32352,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 12832 call $~lib/rt/__newArray local.tee $394 @@ -32234,7 +32360,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 12864 call $~lib/rt/__newArray local.tee $397 @@ -32242,7 +32368,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 12896 call $~lib/rt/__newArray local.tee $400 @@ -32341,7 +32467,7 @@ end i32.const 3 i32.const 0 - i32.const 37 + i32.const 38 i32.const 13024 call $~lib/rt/__newArray local.set $487 @@ -32373,7 +32499,7 @@ end i32.const 3 i32.const 0 - i32.const 37 + i32.const 38 i32.const 13088 call $~lib/rt/__newArray local.set $487 @@ -32405,7 +32531,7 @@ end i32.const 3 i32.const 1 - i32.const 10 + i32.const 11 i32.const 13168 call $~lib/rt/__newArray local.set $487 @@ -32437,7 +32563,7 @@ end i32.const 2 i32.const 1 - i32.const 38 + i32.const 39 i32.const 13248 call $~lib/rt/__newArray local.set $487 @@ -32469,7 +32595,7 @@ end i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 13328 call $~lib/rt/__newArray local.set $487 @@ -32501,7 +32627,7 @@ end i32.const 3 i32.const 3 - i32.const 39 + i32.const 40 i32.const 13424 call $~lib/rt/__newArray local.set $487 @@ -32533,7 +32659,7 @@ end i32.const 5 i32.const 3 - i32.const 40 + i32.const 41 i32.const 13552 call $~lib/rt/__newArray local.set $487 @@ -32566,7 +32692,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 - i32.const 33 + i32.const 34 i32.const 13776 call $~lib/rt/__newArray local.tee $417 @@ -32596,7 +32722,7 @@ end i32.const 4 i32.const 2 - i32.const 33 + i32.const 34 i32.const 13936 call $~lib/rt/__newArray local.set $487 @@ -32630,7 +32756,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $420 @@ -32644,7 +32770,7 @@ i32.const 0 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14016 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32652,7 +32778,7 @@ i32.const 1 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14048 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32686,7 +32812,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 41 + i32.const 42 i32.const 0 call $~lib/rt/__newArray local.tee $427 @@ -32700,7 +32826,7 @@ i32.const 0 i32.const 2 i32.const 0 - i32.const 6 + i32.const 7 i32.const 14128 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32708,7 +32834,7 @@ i32.const 1 i32.const 2 i32.const 0 - i32.const 6 + i32.const 7 i32.const 14160 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32742,7 +32868,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 43 + i32.const 44 i32.const 0 call $~lib/rt/__newArray local.tee $434 @@ -32757,7 +32883,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 42 + i32.const 43 i32.const 0 call $~lib/rt/__newArray local.tee $436 @@ -32771,7 +32897,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 7 + i32.const 8 i32.const 14192 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32807,7 +32933,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $441 @@ -32821,7 +32947,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14224 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32829,7 +32955,7 @@ i32.const 1 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14256 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32837,7 +32963,7 @@ i32.const 2 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14288 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32845,7 +32971,7 @@ i32.const 3 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14320 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -32904,7 +33030,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 44 + i32.const 45 i32.const 0 call $~lib/rt/__newArray local.tee $455 @@ -32918,7 +33044,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14384 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset @@ -32926,7 +33052,7 @@ i32.const 1 i32.const 3 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14480 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset @@ -32934,7 +33060,7 @@ i32.const 2 i32.const 3 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14608 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset @@ -32942,7 +33068,7 @@ i32.const 3 i32.const 1 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14672 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset @@ -32957,7 +33083,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14704 call $~lib/rt/__newArray local.tee $469 @@ -33022,7 +33148,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $472 @@ -33036,7 +33162,7 @@ i32.const 0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14768 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -33044,7 +33170,7 @@ i32.const 1 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14800 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -33074,7 +33200,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $479 @@ -33088,7 +33214,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14832 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -33096,7 +33222,7 @@ i32.const 1 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14864 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset @@ -33222,7 +33348,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -33265,7 +33391,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -33308,7 +33434,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -33340,7 +33466,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -33372,7 +33498,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -33412,7 +33538,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -33451,7 +33577,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -33553,7 +33679,7 @@ global.get $~lib/memory/__stack_pointer local.get $outLen i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -33680,7 +33806,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $slice @@ -33784,7 +33910,7 @@ global.get $~lib/memory/__stack_pointer local.get $deleteCount i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $result @@ -33914,7 +34040,7 @@ global.get $~lib/memory/__stack_pointer local.get $deleteCount i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $result @@ -34100,7 +34226,7 @@ global.get $~lib/memory/__stack_pointer local.get $deleteCount i32.const 2 - i32.const 12 + i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $result @@ -34281,7 +34407,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -34321,7 +34447,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -34356,7 +34482,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -34408,7 +34534,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 15 + i32.const 16 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -34502,7 +34628,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -34590,7 +34716,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -34674,7 +34800,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $result @@ -34736,6 +34862,34 @@ global.set $~lib/memory/__stack_pointer local.get $9 ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $std/array/Dim#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -34751,11 +34905,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this i32.const 0 call $std/array/Dim#set:height @@ -35137,7 +35296,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 22 + i32.const 23 i32.const 0 call $~lib/rt/__newArray local.tee $slice @@ -35271,7 +35430,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 28 + i32.const 29 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -35314,7 +35473,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -35479,7 +35638,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 31 + i32.const 32 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -35522,7 +35681,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -35565,7 +35724,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 30 + i32.const 31 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -35702,7 +35861,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -35745,7 +35904,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -35800,7 +35959,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -35863,7 +36022,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -36066,7 +36225,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -36153,7 +36312,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -36344,7 +36503,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -36502,7 +36661,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -36538,7 +36697,7 @@ local.get $decimals|7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -36567,7 +36726,7 @@ local.get $decimals|11 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -36661,7 +36820,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -36825,7 +36984,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -36905,7 +37064,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -37116,7 +37275,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 offset=8 @@ -37291,7 +37450,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -37462,7 +37621,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -37633,7 +37792,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -37806,7 +37965,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -37832,7 +37991,7 @@ local.get $decimals|8 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -37870,7 +38029,7 @@ local.get $decimals|12 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -37897,7 +38056,7 @@ local.get $decimals|16 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -37990,7 +38149,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -38180,7 +38339,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -38210,7 +38369,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -38252,7 +38411,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -38283,7 +38442,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -38386,7 +38545,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -38557,7 +38716,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -38730,13 +38889,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $outBuffer i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $outArray i32.store $0 offset=4 @@ -38893,13 +39052,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $outBuffer i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 33 + i32.const 34 call $~lib/rt/itcms/__new local.tee $outArray i32.store $0 offset=4 diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index be83ed104d..dc9fd648fb 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -49,597 +49,611 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48892)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48896)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) ",") - (data (i32.const 1096) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1144) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1388) ",") - (data (i32.const 1400) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1468) "<") - (data (i32.const 1480) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1532) ",") - (data (i32.const 1544) "\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1544) "\02\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1580) "<") - (data (i32.const 1592) "\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 1592) "\02\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 1644) "\1c") - (data (i32.const 1656) "\01\00\00\00\06\00\00\00a\00b\00c") + (data (i32.const 1656) "\02\00\00\00\06\00\00\00a\00b\00c") (data (i32.const 1676) "\1c") - (data (i32.const 1692) "\05\00\00\00\01\02\03\04\05") + (data (i32.const 1688) "\01\00\00\00\05\00\00\00\01\02\03\04\05") (data (i32.const 1708) "\1c") - (data (i32.const 1724) "\05\00\00\00\01\01\01\04\05") + (data (i32.const 1720) "\01\00\00\00\05\00\00\00\01\01\01\04\05") (data (i32.const 1740) "\1c") - (data (i32.const 1756) "\05") + (data (i32.const 1752) "\01\00\00\00\05") (data (i32.const 1772) "\1c") - (data (i32.const 1788) "\05\00\00\00\01\01") + (data (i32.const 1784) "\01\00\00\00\05\00\00\00\01\01") (data (i32.const 1804) "\1c") - (data (i32.const 1820) "\05\00\00\00\01\01\00\02\02") + (data (i32.const 1816) "\01\00\00\00\05\00\00\00\01\01\00\02\02") (data (i32.const 1836) "\1c") - (data (i32.const 1852) "\05\00\00\00\01\01\00\02\02") + (data (i32.const 1848) "\01\00\00\00\05\00\00\00\01\01\00\02\02") (data (i32.const 1868) "\1c") - (data (i32.const 1884) "\05\00\00\00\ff\ff\ff\ff\ff") + (data (i32.const 1880) "\01\00\00\00\05\00\00\00\ff\ff\ff\ff\ff") (data (i32.const 1900) ",") - (data (i32.const 1916) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1912) "\01\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 1948) ",") - (data (i32.const 1964) "\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 1960) "\01\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 1996) ",") - (data (i32.const 2012) "\14") + (data (i32.const 2008) "\01\00\00\00\14") (data (i32.const 2044) ",") - (data (i32.const 2060) "\14\00\00\00\01\00\00\00\01") + (data (i32.const 2056) "\01\00\00\00\14\00\00\00\01\00\00\00\01") (data (i32.const 2092) ",") - (data (i32.const 2108) "\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 2104) "\01\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 2140) ",") - (data (i32.const 2156) "\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 2152) "\01\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 2188) ",") - (data (i32.const 2204) "\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 2200) "\01\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff") (data (i32.const 2236) ",") - (data (i32.const 2252) "\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@") + (data (i32.const 2248) "\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@") (data (i32.const 2284) ",") - (data (i32.const 2300) "\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@") + (data (i32.const 2296) "\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@") (data (i32.const 2332) ",") - (data (i32.const 2348) "\14") + (data (i32.const 2344) "\01\00\00\00\14") (data (i32.const 2380) ",") - (data (i32.const 2396) "\14\00\00\00\00\00\80?\00\00\80?") + (data (i32.const 2392) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?") (data (i32.const 2428) ",") - (data (i32.const 2444) "\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") + (data (i32.const 2440) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") (data (i32.const 2476) ",") - (data (i32.const 2492) "\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") + (data (i32.const 2488) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") (data (i32.const 2524) ",") - (data (i32.const 2540) "\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf") + (data (i32.const 2536) "\01\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf") (data (i32.const 2572) ",") - (data (i32.const 2588) "\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80") + (data (i32.const 2584) "\01\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80") (data (i32.const 2620) ",") - (data (i32.const 2632) "\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") + (data (i32.const 2632) "\02\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") (data (i32.const 2668) ",") - (data (i32.const 2684) "\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 2680) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") (data (i32.const 2716) "\1c") + (data (i32.const 2728) "\01") (data (i32.const 2748) "\1c") + (data (i32.const 2760) "\01") (data (i32.const 2780) ",") - (data (i32.const 2796) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2792) "\01\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 2828) ",") - (data (i32.const 2844) "\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2840) "\01\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 2876) ",") - (data (i32.const 2892) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2888) "\01\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 2924) ",") - (data (i32.const 2940) "\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") + (data (i32.const 2936) "\01\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 2972) ",") - (data (i32.const 2988) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2984) "\01\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 3020) ",") - (data (i32.const 3036) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 3032) "\01\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 3068) ",") - (data (i32.const 3084) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3080) "\01\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 3116) ",") - (data (i32.const 3132) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3128) "\01\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 3164) ",") - (data (i32.const 3180) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3176) "\01\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 3212) ",") - (data (i32.const 3228) "\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3224) "\01\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 3260) ",") - (data (i32.const 3276) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3272) "\01\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 3308) ",") - (data (i32.const 3324) "\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3320) "\01\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 3356) ",") - (data (i32.const 3372) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3368) "\01\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 3404) ",") - (data (i32.const 3420) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 3416) "\01\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 3452) ",") - (data (i32.const 3468) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3464) "\01\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 3500) ",") - (data (i32.const 3516) "\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3512) "\01\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 3548) ",") - (data (i32.const 3564) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3560) "\01\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 3596) ",") - (data (i32.const 3612) "\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3608) "\01\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 3644) ",") - (data (i32.const 3660) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3656) "\01\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 3692) ",") - (data (i32.const 3708) "\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3704) "\01\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 3740) ",") - (data (i32.const 3756) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3752) "\01\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 3788) ",") - (data (i32.const 3804) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 3800) "\01\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 3836) ",") - (data (i32.const 3852) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3848) "\01\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 3884) ",") - (data (i32.const 3900) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 3896) "\01\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 3932) ",") - (data (i32.const 3948) "\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") + (data (i32.const 3944) "\01\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") (data (i32.const 3980) "\1c") - (data (i32.const 3996) "\0c\00\00\00\07\00\00\00\t\00\00\00\0b") + (data (i32.const 3992) "\01\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b") (data (i32.const 4012) "\1c") - (data (i32.const 4028) "\08\00\00\00\07\00\00\00\t") + (data (i32.const 4024) "\01\00\00\00\08\00\00\00\07\00\00\00\t") (data (i32.const 4044) ",") - (data (i32.const 4060) "\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") + (data (i32.const 4056) "\01\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") (data (i32.const 4092) "\1c") - (data (i32.const 4108) "\08\00\00\00\t\00\00\00\0b") + (data (i32.const 4104) "\01\00\00\00\08\00\00\00\t\00\00\00\0b") (data (i32.const 4124) "\1c") - (data (i32.const 4140) "\08\00\00\00\07\00\00\00\t") + (data (i32.const 4136) "\01\00\00\00\08\00\00\00\07\00\00\00\t") (data (i32.const 4156) "\1c") - (data (i32.const 4172) "\08\00\00\00\07\00\00\00\t") + (data (i32.const 4168) "\01\00\00\00\08\00\00\00\07\00\00\00\t") (data (i32.const 4188) "\1c") - (data (i32.const 4204) "\04\00\00\00\00\01\02\03") + (data (i32.const 4200) "\01\00\00\00\04\00\00\00\00\01\02\03") (data (i32.const 4220) "\1c") - (data (i32.const 4236) "\08\00\00\00\00\01\02\03\04\05\06\07") + (data (i32.const 4232) "\01\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07") (data (i32.const 4252) ",") - (data (i32.const 4268) "\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10") + (data (i32.const 4264) "\01\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10") (data (i32.const 4300) ",") - (data (i32.const 4316) "\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06") + (data (i32.const 4312) "\01\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06") (data (i32.const 4348) ",") - (data (i32.const 4364) "\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07") + (data (i32.const 4360) "\01\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07") (data (i32.const 4396) ",") - (data (i32.const 4412) "\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08") + (data (i32.const 4408) "\01\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08") (data (i32.const 4444) "\1c") - (data (i32.const 4460) "\04\00\00\00\00\00\c0\7f") + (data (i32.const 4456) "\01\00\00\00\04\00\00\00\00\00\c0\7f") (data (i32.const 4476) "\1c") - (data (i32.const 4492) "\08") + (data (i32.const 4488) "\01\00\00\00\08") (data (i32.const 4502) "\f8\7f") (data (i32.const 4508) ",") - (data (i32.const 4524) "\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") + (data (i32.const 4520) "\01\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") (data (i32.const 4556) "\1c") - (data (i32.const 4572) "\04\00\00\00\00\00\c0\7f") + (data (i32.const 4568) "\01\00\00\00\04\00\00\00\00\00\c0\7f") (data (i32.const 4588) "\1c") - (data (i32.const 4604) "\08") + (data (i32.const 4600) "\01\00\00\00\08") (data (i32.const 4614) "\f8\7f") (data (i32.const 4620) ",") - (data (i32.const 4636) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 4632) "\01\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 4668) ",") - (data (i32.const 4684) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 4680) "\01\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 4716) "\1c") + (data (i32.const 4728) "\01") (data (i32.const 4748) ",") - (data (i32.const 4764) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 4760) "\01\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 4796) "\1c") + (data (i32.const 4808) "\01") (data (i32.const 4828) ",") - (data (i32.const 4844) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 4840) "\01\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 4876) ",") - (data (i32.const 4892) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 4888) "\01\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 4924) "\1c") - (data (i32.const 4940) "\0c\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 4936) "\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 4956) "\1c") - (data (i32.const 4972) "\08\00\00\00\01\00\00\00\02") + (data (i32.const 4968) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 4988) ",") - (data (i32.const 5004) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5000) "\01\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 5036) "\1c") - (data (i32.const 5052) "\08\00\00\00\03\00\00\00\04") + (data (i32.const 5048) "\01\00\00\00\08\00\00\00\03\00\00\00\04") (data (i32.const 5068) "\1c") - (data (i32.const 5084) "\0c\00\00\00\01\00\00\00\02\00\00\00\05") + (data (i32.const 5080) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05") (data (i32.const 5100) ",") - (data (i32.const 5116) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5112) "\01\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 5148) "\1c") - (data (i32.const 5164) "\04\00\00\00\01") + (data (i32.const 5160) "\01\00\00\00\04\00\00\00\01") (data (i32.const 5180) ",") - (data (i32.const 5196) "\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5192) "\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 5228) ",") - (data (i32.const 5244) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5240) "\01\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 5276) "\1c") - (data (i32.const 5292) "\04\00\00\00\05") + (data (i32.const 5288) "\01\00\00\00\04\00\00\00\05") (data (i32.const 5308) ",") - (data (i32.const 5324) "\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 5320) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") (data (i32.const 5356) ",") - (data (i32.const 5372) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5368) "\01\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 5404) "\1c") - (data (i32.const 5420) "\08\00\00\00\04\00\00\00\05") + (data (i32.const 5416) "\01\00\00\00\08\00\00\00\04\00\00\00\05") (data (i32.const 5436) "\1c") - (data (i32.const 5452) "\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 5448) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 5468) ",") - (data (i32.const 5484) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5480) "\01\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 5516) "\1c") - (data (i32.const 5532) "\04\00\00\00\04") + (data (i32.const 5528) "\01\00\00\00\04\00\00\00\04") (data (i32.const 5548) ",") - (data (i32.const 5564) "\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data (i32.const 5560) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") (data (i32.const 5596) ",") - (data (i32.const 5612) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5608) "\01\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 5644) "\1c") - (data (i32.const 5660) "\04\00\00\00\01") + (data (i32.const 5656) "\01\00\00\00\04\00\00\00\01") (data (i32.const 5676) ",") - (data (i32.const 5692) "\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5688) "\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 5724) ",") - (data (i32.const 5740) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5736) "\01\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 5772) "\1c") + (data (i32.const 5784) "\01") (data (i32.const 5804) ",") - (data (i32.const 5820) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5816) "\01\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 5852) ",") - (data (i32.const 5868) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5864) "\01\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 5900) "\1c") + (data (i32.const 5912) "\01") (data (i32.const 5932) ",") - (data (i32.const 5948) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5944) "\01\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 5980) ",") - (data (i32.const 5996) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 5992) "\01\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 6028) "\1c") + (data (i32.const 6040) "\01") (data (i32.const 6060) ",") - (data (i32.const 6076) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 6072) "\01\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 6108) ",") - (data (i32.const 6124) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 6120) "\01\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 6156) "\1c") + (data (i32.const 6168) "\01") (data (i32.const 6188) ",") - (data (i32.const 6204) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 6200) "\01\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 6236) ",") - (data (i32.const 6252) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 6248) "\01\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 6284) "\1c") + (data (i32.const 6296) "\01") (data (i32.const 6316) ",") - (data (i32.const 6332) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 6328) "\01\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 6364) "\1c") + (data (i32.const 6376) "\01") (data (i32.const 6396) "|") - (data (i32.const 6408) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 6408) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (data (i32.const 6524) "<") - (data (i32.const 6536) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 6536) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (data (i32.const 6588) "\1c") - (data (i32.const 6600) "\r\00\00\00\08\00\00\00\01") + (data (i32.const 6600) "\0e\00\00\00\08\00\00\00\01") (data (i32.const 6620) "\1c") - (data (i32.const 6632) "\r\00\00\00\08\00\00\00\02") + (data (i32.const 6632) "\0e\00\00\00\08\00\00\00\02") (data (i32.const 6652) "\1c") - (data (i32.const 6664) "\r\00\00\00\08\00\00\00\03") + (data (i32.const 6664) "\0e\00\00\00\08\00\00\00\03") (data (i32.const 6684) "\1c") - (data (i32.const 6696) "\r\00\00\00\08\00\00\00\04") + (data (i32.const 6696) "\0e\00\00\00\08\00\00\00\04") (data (i32.const 6716) "\1c") - (data (i32.const 6728) "\r\00\00\00\08\00\00\00\05") + (data (i32.const 6728) "\0e\00\00\00\08\00\00\00\05") (data (i32.const 6748) "\1c") - (data (i32.const 6760) "\r\00\00\00\08\00\00\00\06") + (data (i32.const 6760) "\0e\00\00\00\08\00\00\00\06") (data (i32.const 6780) ",") - (data (i32.const 6796) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 6792) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 6828) "\1c") - (data (i32.const 6840) "\r\00\00\00\08\00\00\00\07") + (data (i32.const 6840) "\0e\00\00\00\08\00\00\00\07") (data (i32.const 6860) "\1c") - (data (i32.const 6872) "\r\00\00\00\08\00\00\00\08") + (data (i32.const 6872) "\0e\00\00\00\08\00\00\00\08") (data (i32.const 6892) "\1c") - (data (i32.const 6904) "\r\00\00\00\08\00\00\00\t") + (data (i32.const 6904) "\0e\00\00\00\08\00\00\00\t") (data (i32.const 6924) "\1c") - (data (i32.const 6936) "\r\00\00\00\08\00\00\00\n") + (data (i32.const 6936) "\0e\00\00\00\08\00\00\00\n") (data (i32.const 6956) "\1c") - (data (i32.const 6968) "\r\00\00\00\08\00\00\00\0b") + (data (i32.const 6968) "\0e\00\00\00\08\00\00\00\0b") (data (i32.const 6988) "\1c") - (data (i32.const 7000) "\r\00\00\00\08\00\00\00\0c") + (data (i32.const 7000) "\0e\00\00\00\08\00\00\00\0c") (data (i32.const 7020) "\1c") - (data (i32.const 7032) "\r\00\00\00\08\00\00\00\r") + (data (i32.const 7032) "\0e\00\00\00\08\00\00\00\r") (data (i32.const 7052) "\1c") - (data (i32.const 7064) "\r\00\00\00\08\00\00\00\0e") + (data (i32.const 7064) "\0e\00\00\00\08\00\00\00\0e") (data (i32.const 7084) "\1c") - (data (i32.const 7096) "\r\00\00\00\08\00\00\00\0f") + (data (i32.const 7096) "\0e\00\00\00\08\00\00\00\0f") (data (i32.const 7116) "\1c") - (data (i32.const 7128) "\r\00\00\00\08\00\00\00\10") + (data (i32.const 7128) "\0e\00\00\00\08\00\00\00\10") (data (i32.const 7148) "\1c") - (data (i32.const 7160) "\r\00\00\00\08\00\00\00\11") + (data (i32.const 7160) "\0e\00\00\00\08\00\00\00\11") (data (i32.const 7180) "\1c") - (data (i32.const 7192) "\r\00\00\00\08\00\00\00\12") + (data (i32.const 7192) "\0e\00\00\00\08\00\00\00\12") (data (i32.const 7212) "\1c") - (data (i32.const 7224) "\r\00\00\00\08\00\00\00\13") + (data (i32.const 7224) "\0e\00\00\00\08\00\00\00\13") (data (i32.const 7244) "\1c") - (data (i32.const 7256) "\r\00\00\00\08\00\00\00\14") + (data (i32.const 7256) "\0e\00\00\00\08\00\00\00\14") (data (i32.const 7276) "\1c") - (data (i32.const 7288) "\0e\00\00\00\08\00\00\00\15") + (data (i32.const 7288) "\0f\00\00\00\08\00\00\00\15") (data (i32.const 7308) "\1c") - (data (i32.const 7320) "\0e\00\00\00\08\00\00\00\16") + (data (i32.const 7320) "\0f\00\00\00\08\00\00\00\16") (data (i32.const 7340) "\1c") - (data (i32.const 7352) "\0e\00\00\00\08\00\00\00\17") + (data (i32.const 7352) "\0f\00\00\00\08\00\00\00\17") (data (i32.const 7372) "\1c") - (data (i32.const 7384) "\0e\00\00\00\08\00\00\00\18") + (data (i32.const 7384) "\0f\00\00\00\08\00\00\00\18") (data (i32.const 7404) "\1c") - (data (i32.const 7416) "\0e\00\00\00\08\00\00\00\19") + (data (i32.const 7416) "\0f\00\00\00\08\00\00\00\19") (data (i32.const 7436) "|") - (data (i32.const 7448) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 7448) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 7564) "<") - (data (i32.const 7576) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 7576) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 7628) "\1c") - (data (i32.const 7640) "\01\00\00\00\02\00\00\000") + (data (i32.const 7640) "\02\00\00\00\02\00\00\000") (data (i32.const 7660) "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 8060) "\1c\04") - (data (i32.const 8072) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 8072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 9116) "\\") - (data (i32.const 9128) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 9128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 9212) "\1c") - (data (i32.const 9224) "\10\00\00\00\08\00\00\00\1a") + (data (i32.const 9224) "\11\00\00\00\08\00\00\00\1a") (data (i32.const 9244) "\1c") - (data (i32.const 9256) "\11\00\00\00\08\00\00\00\1b") + (data (i32.const 9256) "\12\00\00\00\08\00\00\00\1b") (data (i32.const 9276) "\1c") - (data (i32.const 9288) "\12\00\00\00\08\00\00\00\1c") + (data (i32.const 9288) "\13\00\00\00\08\00\00\00\1c") (data (i32.const 9308) "\1c") - (data (i32.const 9320) "\12\00\00\00\08\00\00\00\1d") + (data (i32.const 9320) "\13\00\00\00\08\00\00\00\1d") (data (i32.const 9340) "\1c") - (data (i32.const 9352) "\12\00\00\00\08\00\00\00\1e") + (data (i32.const 9352) "\13\00\00\00\08\00\00\00\1e") (data (i32.const 9372) "\1c") - (data (i32.const 9384) "\r\00\00\00\08\00\00\00\1f") + (data (i32.const 9384) "\0e\00\00\00\08\00\00\00\1f") (data (i32.const 9404) "\1c") - (data (i32.const 9416) "\r\00\00\00\08\00\00\00 ") + (data (i32.const 9416) "\0e\00\00\00\08\00\00\00 ") (data (i32.const 9436) "\1c") - (data (i32.const 9448) "\r\00\00\00\08\00\00\00!") + (data (i32.const 9448) "\0e\00\00\00\08\00\00\00!") (data (i32.const 9468) "\1c") - (data (i32.const 9480) "\r\00\00\00\08\00\00\00\"") + (data (i32.const 9480) "\0e\00\00\00\08\00\00\00\"") (data (i32.const 9500) "\1c") - (data (i32.const 9512) "\13\00\00\00\08\00\00\00#") + (data (i32.const 9512) "\14\00\00\00\08\00\00\00#") (data (i32.const 9532) "\1c") - (data (i32.const 9544) "\13\00\00\00\08\00\00\00$") + (data (i32.const 9544) "\14\00\00\00\08\00\00\00$") (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\14\00\00\00\08\00\00\00%") + (data (i32.const 9576) "\15\00\00\00\08\00\00\00%") (data (i32.const 9596) "\1c") - (data (i32.const 9608) "\14\00\00\00\08\00\00\00&") + (data (i32.const 9608) "\15\00\00\00\08\00\00\00&") (data (i32.const 9628) "\1c") - (data (i32.const 9640) "\13\00\00\00\08\00\00\00\'") + (data (i32.const 9640) "\14\00\00\00\08\00\00\00\'") (data (i32.const 9660) "\1c") - (data (i32.const 9672) "\13\00\00\00\08\00\00\00(") + (data (i32.const 9672) "\14\00\00\00\08\00\00\00(") (data (i32.const 9692) "\1c") - (data (i32.const 9704) "\13\00\00\00\08\00\00\00)") + (data (i32.const 9704) "\14\00\00\00\08\00\00\00)") (data (i32.const 9724) "\1c") - (data (i32.const 9736) "\13\00\00\00\08\00\00\00*") + (data (i32.const 9736) "\14\00\00\00\08\00\00\00*") (data (i32.const 9756) "\1c") - (data (i32.const 9768) "\13\00\00\00\08\00\00\00+") + (data (i32.const 9768) "\14\00\00\00\08\00\00\00+") (data (i32.const 9788) "\1c") - (data (i32.const 9800) "\14\00\00\00\08\00\00\00,") + (data (i32.const 9800) "\15\00\00\00\08\00\00\00,") (data (i32.const 9820) "\1c") - (data (i32.const 9832) "\14\00\00\00\08\00\00\00-") + (data (i32.const 9832) "\15\00\00\00\08\00\00\00-") (data (i32.const 9852) "\1c") - (data (i32.const 9864) "\13\00\00\00\08\00\00\00.") + (data (i32.const 9864) "\14\00\00\00\08\00\00\00.") (data (i32.const 9884) "\1c") - (data (i32.const 9896) "\13\00\00\00\08\00\00\00/") + (data (i32.const 9896) "\14\00\00\00\08\00\00\00/") (data (i32.const 9916) "\1c") - (data (i32.const 9928) "\13\00\00\00\08\00\00\000") + (data (i32.const 9928) "\14\00\00\00\08\00\00\000") (data (i32.const 9948) "\bc") - (data (i32.const 9960) "\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 9960) "\02\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 10140) "\1c") - (data (i32.const 10156) "\0c\00\00\00\00\00\00@\00\00\80\bf") + (data (i32.const 10152) "\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf") (data (i32.const 10172) "\1c") - (data (i32.const 10184) "\17\00\00\00\08\00\00\001") + (data (i32.const 10184) "\18\00\00\00\08\00\00\001") (data (i32.const 10204) "\1c") - (data (i32.const 10220) "\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") + (data (i32.const 10216) "\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") (data (i32.const 10236) "<") - (data (i32.const 10252) " \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 10248) "\01\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 10300) "<") - (data (i32.const 10316) " \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 10312) "\01\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 10364) "\\") - (data (i32.const 10380) "@") + (data (i32.const 10376) "\01\00\00\00@") (data (i32.const 10390) "\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 10430) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") (data (i32.const 10460) "\1c") - (data (i32.const 10472) "\18\00\00\00\08\00\00\002") + (data (i32.const 10472) "\19\00\00\00\08\00\00\002") (data (i32.const 10492) "\\") - (data (i32.const 10508) "@") + (data (i32.const 10504) "\01\00\00\00@") (data (i32.const 10518) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") (data (i32.const 10550) "\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 10588) ",") - (data (i32.const 10604) "\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 10600) "\01\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 10636) "\1c") - (data (i32.const 10648) "\19\00\00\00\08\00\00\003") + (data (i32.const 10648) "\1a\00\00\00\08\00\00\003") (data (i32.const 10668) ",") - (data (i32.const 10684) "\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 10680) "\01\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 10716) ",") - (data (i32.const 10732) "\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 10728) "\01\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 10764) "\1c") - (data (i32.const 10776) "\1a\00\00\00\08\00\00\004") + (data (i32.const 10776) "\1b\00\00\00\08\00\00\004") (data (i32.const 10796) ",") - (data (i32.const 10812) "\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 10808) "\01\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 10844) "\1c") + (data (i32.const 10856) "\01") (data (i32.const 10876) "\1c") - (data (i32.const 10892) "\04\00\00\00\01") + (data (i32.const 10888) "\01\00\00\00\04\00\00\00\01") (data (i32.const 10908) "\1c") - (data (i32.const 10924) "\08\00\00\00\02\00\00\00\01") + (data (i32.const 10920) "\01\00\00\00\08\00\00\00\02\00\00\00\01") (data (i32.const 10940) ",") - (data (i32.const 10956) "\10\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 10952) "\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") (data (i32.const 10988) ",") - (data (i32.const 11004) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 11000) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 11036) "\1c") - (data (i32.const 11048) "\19\00\00\00\08\00\00\005") + (data (i32.const 11048) "\1a\00\00\00\08\00\00\005") (data (i32.const 11068) "\1c") - (data (i32.const 11084) "\04\00\00\00\01") + (data (i32.const 11080) "\01\00\00\00\04\00\00\00\01") (data (i32.const 11100) "\1c") - (data (i32.const 11116) "\08\00\00\00\01\00\00\00\02") + (data (i32.const 11112) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 11132) "\1c") - (data (i32.const 11144) "\1b\00\00\00\08\00\00\006") + (data (i32.const 11144) "\1c\00\00\00\08\00\00\006") (data (i32.const 11164) "\1c") - (data (i32.const 11176) "\19\00\00\00\08\00\00\007") + (data (i32.const 11176) "\1a\00\00\00\08\00\00\007") (data (i32.const 11196) "\1c") - (data (i32.const 11208) "\19\00\00\00\08\00\00\008") + (data (i32.const 11208) "\1a\00\00\00\08\00\00\008") (data (i32.const 11228) "\1c") - (data (i32.const 11240) "\19\00\00\00\08\00\00\009") + (data (i32.const 11240) "\1a\00\00\00\08\00\00\009") (data (i32.const 11260) "\1c") - (data (i32.const 11272) "\19\00\00\00\08\00\00\00:") + (data (i32.const 11272) "\1a\00\00\00\08\00\00\00:") (data (i32.const 11292) "\1c") - (data (i32.const 11304) "\1d\00\00\00\08\00\00\00;") + (data (i32.const 11304) "\1e\00\00\00\08\00\00\00;") (data (i32.const 11324) "\1c") - (data (i32.const 11336) " \00\00\00\08\00\00\00<") + (data (i32.const 11336) "!\00\00\00\08\00\00\00<") (data (i32.const 11356) "\1c") - (data (i32.const 11368) "\01\00\00\00\02\00\00\00a") + (data (i32.const 11368) "\02\00\00\00\02\00\00\00a") (data (i32.const 11388) "\1c") - (data (i32.const 11400) "\01\00\00\00\02\00\00\00b") + (data (i32.const 11400) "\02\00\00\00\02\00\00\00b") (data (i32.const 11420) "\1c") - (data (i32.const 11432) "\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 11432) "\02\00\00\00\04\00\00\00a\00b") (data (i32.const 11452) "\1c") - (data (i32.const 11464) "\01\00\00\00\04\00\00\00b\00a") + (data (i32.const 11464) "\02\00\00\00\04\00\00\00b\00a") (data (i32.const 11484) "\1c") - (data (i32.const 11496) "\01") + (data (i32.const 11496) "\02") (data (i32.const 11516) ",") - (data (i32.const 11532) "\1c\00\00\00p,\00\00\90,\00\00p,\00\00\b0,\00\00\d0,\00\00\f0,") + (data (i32.const 11528) "\01\00\00\00\1c\00\00\00p,\00\00\90,\00\00p,\00\00\b0,\00\00\d0,\00\00\f0,") (data (i32.const 11564) ",") - (data (i32.const 11580) "\1c\00\00\00\f0,\00\00p,\00\00p,\00\00\b0,\00\00\90,\00\00\d0,") + (data (i32.const 11576) "\01\00\00\00\1c\00\00\00\f0,\00\00p,\00\00p,\00\00\b0,\00\00\90,\00\00\d0,") (data (i32.const 11612) "\1c") - (data (i32.const 11624) "\"\00\00\00\08\00\00\00=") + (data (i32.const 11624) "#\00\00\00\08\00\00\00=") (data (i32.const 11644) "\1c") - (data (i32.const 11656) "#\00\00\00\08\00\00\00>") + (data (i32.const 11656) "$\00\00\00\08\00\00\00>") (data (i32.const 11676) "\1c") - (data (i32.const 11692) "\02\00\00\00\01") + (data (i32.const 11688) "\01\00\00\00\02\00\00\00\01") (data (i32.const 11708) "\1c") - (data (i32.const 11720) "\01\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 11720) "\02\00\00\00\08\00\00\00t\00r\00u\00e") (data (i32.const 11740) "\1c") - (data (i32.const 11752) "\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 11752) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") (data (i32.const 11772) "\1c") - (data (i32.const 11784) "\01\00\00\00\02\00\00\00,") + (data (i32.const 11784) "\02\00\00\00\02\00\00\00,") (data (i32.const 11804) ",") - (data (i32.const 11816) "\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 11816) "\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") (data (i32.const 11852) "\1c") - (data (i32.const 11868) "\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 11864) "\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") (data (i32.const 11884) "\1c") - (data (i32.const 11896) "\01\00\00\00\n\00\00\001\00-\002\00-\003") + (data (i32.const 11896) "\02\00\00\00\n\00\00\001\00-\002\00-\003") (data (i32.const 11916) "\1c") - (data (i32.const 11932) "\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 11928) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 11948) "\1c") - (data (i32.const 11960) "\01\00\00\00\02\00\00\00-") + (data (i32.const 11960) "\02\00\00\00\02\00\00\00-") (data (i32.const 11980) "\1c") - (data (i32.const 11996) "\08\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 11992) "\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") (data (i32.const 12012) "\1c") - (data (i32.const 12024) "\01\00\00\00\04\00\00\00_\00_") + (data (i32.const 12024) "\02\00\00\00\04\00\00\00_\00_") (data (i32.const 12044) "L") - (data (i32.const 12056) "\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 12056) "\02\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 12124) "L") - (data (i32.const 12140) "0") + (data (i32.const 12136) "\01\00\00\000") (data (i32.const 12158) "\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 12204) "\1c") - (data (i32.const 12216) "\01\00\00\00\04\00\00\00,\00 ") + (data (i32.const 12216) "\02\00\00\00\04\00\00\00,\00 ") (data (i32.const 12236) "\1c") - (data (i32.const 12248) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 12248) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 12268) "\1c") - (data (i32.const 12280) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 12280) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 12300) ",") - (data (i32.const 12312) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 12312) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 12348) ",") - (data (i32.const 12360) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 12360) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 12456) "\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_\rXf\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[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") + (data (i32.const 13720) "\02\00\00\00>\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") (data (i32.const 13804) "\1c") + (data (i32.const 13816) "\01") (data (i32.const 13836) "\1c") - (data (i32.const 13852) "\04\00\00\00\01") + (data (i32.const 13848) "\01\00\00\00\04\00\00\00\01") (data (i32.const 13868) "\1c") - (data (i32.const 13884) "\08\00\00\00\01\00\00\00\02") + (data (i32.const 13880) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 13900) ",") - (data (i32.const 13916) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 13912) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 13948) "\1c") - (data (i32.const 13960) "\01\00\00\00\06\00\00\001\00,\002") + (data (i32.const 13960) "\02\00\00\00\06\00\00\001\00,\002") (data (i32.const 13980) ",") - (data (i32.const 13992) "\01\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") + (data (i32.const 13992) "\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") (data (i32.const 14028) "\1c") - (data (i32.const 14044) "\03\00\00\00\01\ff") + (data (i32.const 14040) "\01\00\00\00\03\00\00\00\01\ff") (data (i32.const 14060) "\1c") - (data (i32.const 14072) "\01\00\00\00\0c\00\00\001\00,\00-\001\00,\000") + (data (i32.const 14072) "\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000") (data (i32.const 14092) "\1c") - (data (i32.const 14108) "\03\00\00\00\80\81\80") + (data (i32.const 14104) "\01\00\00\00\03\00\00\00\80\81\80") (data (i32.const 14124) ",") - (data (i32.const 14136) "\01\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008") + (data (i32.const 14136) "\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008") (data (i32.const 14172) "\1c") - (data (i32.const 14188) "\06\00\00\00\01\00\ff\ff") + (data (i32.const 14184) "\01\00\00\00\06\00\00\00\01\00\ff\ff") (data (i32.const 14204) ",") - (data (i32.const 14216) "\01\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") + (data (i32.const 14216) "\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") (data (i32.const 14252) "\1c") - (data (i32.const 14268) "\04\00\00\00\00\80\01\ff") + (data (i32.const 14264) "\01\00\00\00\04\00\00\00\00\80\01\ff") (data (i32.const 14284) ",") - (data (i32.const 14296) "\01\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005") + (data (i32.const 14296) "\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005") (data (i32.const 14332) "\1c") - (data (i32.const 14348) "\08\00\00\00\00\00\00\80\80\ff\ff\ff") + (data (i32.const 14344) "\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff") (data (i32.const 14364) "<") - (data (i32.const 14376) "\01\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008") + (data (i32.const 14376) "\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008") (data (i32.const 14428) ",") - (data (i32.const 14444) "\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 14440) "\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") (data (i32.const 14476) "L") - (data (i32.const 14488) "\01\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") + (data (i32.const 14488) "\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") (data (i32.const 14556) "<") - (data (i32.const 14572) "(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") + (data (i32.const 14568) "\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") (data (i32.const 14620) "\9c") - (data (i32.const 14632) "\01\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") + (data (i32.const 14632) "\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") (data (i32.const 14780) ",") - (data (i32.const 14796) "\1c\00\00\00\f0,\00\00p,\00\00p,\00\00\b0,\00\00\90,\00\00\d0,") + (data (i32.const 14792) "\01\00\00\00\1c\00\00\00\f0,\00\00p,\00\00p,\00\00\b0,\00\00\90,\00\00\d0,") (data (i32.const 14828) ",") - (data (i32.const 14840) "\01\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") + (data (i32.const 14840) "\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") (data (i32.const 14876) "\1c") - (data (i32.const 14888) "\01\00\00\00\02\00\00\002") + (data (i32.const 14888) "\02\00\00\00\02\00\00\002") (data (i32.const 14908) "\1c") - (data (i32.const 14920) "\01\00\00\00\02\00\00\004") + (data (i32.const 14920) "\02\00\00\00\02\00\00\004") (data (i32.const 14940) ",") - (data (i32.const 14956) "\10\00\00\00\c04\00\000:\00\00\00\00\00\00P:") + (data (i32.const 14952) "\01\00\00\00\10\00\00\00\c04\00\000:\00\00\00\00\00\00P:") (data (i32.const 14988) "\1c") - (data (i32.const 15000) "\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004") + (data (i32.const 15000) "\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004") (data (i32.const 15020) "\1c") - (data (i32.const 15036) "\08\00\00\00\01\00\00\00\02") + (data (i32.const 15032) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 15052) "\1c") - (data (i32.const 15068) "\08\00\00\00\03\00\00\00\04") + (data (i32.const 15064) "\01\00\00\00\08\00\00\00\03\00\00\00\04") (data (i32.const 15084) ",") - (data (i32.const 15096) "\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") + (data (i32.const 15096) "\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") (data (i32.const 15132) "\1c") - (data (i32.const 15148) "\02\00\00\00\01\02") + (data (i32.const 15144) "\01\00\00\00\02\00\00\00\01\02") (data (i32.const 15164) "\1c") - (data (i32.const 15180) "\02\00\00\00\03\04") + (data (i32.const 15176) "\01\00\00\00\02\00\00\00\03\04") (data (i32.const 15196) "\1c") - (data (i32.const 15212) "\04\00\00\00\01") + (data (i32.const 15208) "\01\00\00\00\04\00\00\00\01") (data (i32.const 15228) "\1c") - (data (i32.const 15244) "\04") + (data (i32.const 15240) "\01\00\00\00\04") (data (i32.const 15260) "\1c") - (data (i32.const 15276) "\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 15272) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 15292) "\1c") - (data (i32.const 15308) "\0c\00\00\00\04\00\00\00\05\00\00\00\06") + (data (i32.const 15304) "\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06") (data (i32.const 15324) "\1c") - (data (i32.const 15340) "\0c\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 15336) "\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 15356) "\1c") - (data (i32.const 15368) "\01\00\00\00\06\00\00\00o\00n\00e") + (data (i32.const 15368) "\02\00\00\00\06\00\00\00o\00n\00e") (data (i32.const 15388) "\1c") - (data (i32.const 15404) "\04\00\00\00\10<") + (data (i32.const 15400) "\01\00\00\00\04\00\00\00\10<") (data (i32.const 15420) "\1c") - (data (i32.const 15432) "\01\00\00\00\06\00\00\00t\00w\00o") + (data (i32.const 15432) "\02\00\00\00\06\00\00\00t\00w\00o") (data (i32.const 15452) "\1c") - (data (i32.const 15464) "\01\00\00\00\n\00\00\00t\00h\00r\00e\00e") + (data (i32.const 15464) "\02\00\00\00\n\00\00\00t\00h\00r\00e\00e") (data (i32.const 15484) "\1c") - (data (i32.const 15500) "\0c\00\00\00P<\00\00\00\00\00\00p<") + (data (i32.const 15496) "\01\00\00\00\0c\00\00\00P<\00\00\00\00\00\00p<") (data (i32.const 15516) "\1c") - (data (i32.const 15528) "\01\00\00\00\08\00\00\00f\00o\00u\00r") + (data (i32.const 15528) "\02\00\00\00\08\00\00\00f\00o\00u\00r") (data (i32.const 15548) "\1c") - (data (i32.const 15560) "\01\00\00\00\08\00\00\00f\00i\00v\00e") + (data (i32.const 15560) "\02\00\00\00\08\00\00\00f\00i\00v\00e") (data (i32.const 15580) "\1c") - (data (i32.const 15592) "\01\00\00\00\06\00\00\00s\00i\00x") + (data (i32.const 15592) "\02\00\00\00\06\00\00\00s\00i\00x") (data (i32.const 15612) "\1c") - (data (i32.const 15628) "\0c\00\00\00\b0<\00\00\d0<\00\00\f0<") + (data (i32.const 15624) "\01\00\00\00\0c\00\00\00\b0<\00\00\d0<\00\00\f0<") (data (i32.const 15644) "\1c") - (data (i32.const 15656) "\01\00\00\00\n\00\00\00s\00e\00v\00e\00n") + (data (i32.const 15656) "\02\00\00\00\n\00\00\00s\00e\00v\00e\00n") (data (i32.const 15676) "\1c") - (data (i32.const 15692) "\04\00\00\000=") + (data (i32.const 15688) "\01\00\00\00\04\00\00\000=") (data (i32.const 15708) "<") - (data (i32.const 15724) " \00\00\00\10<\00\00P<\00\00\00\00\00\00p<\00\00\b0<\00\00\d0<\00\00\f0<\00\000=") + (data (i32.const 15720) "\01\00\00\00 \00\00\00\10<\00\00P<\00\00\00\00\00\00p<\00\00\b0<\00\00\d0<\00\00\f0<\00\000=") (data (i32.const 15772) "\1c") + (data (i32.const 15784) "\01") (data (i32.const 15804) "\1c") + (data (i32.const 15816) "\01") (data (i32.const 15836) "\1c") - (data (i32.const 15852) "\04\00\00\00\01") + (data (i32.const 15848) "\01\00\00\00\04\00\00\00\01") (data (i32.const 15868) "\1c") - (data (i32.const 15884) "\04\00\00\00\02") + (data (i32.const 15880) "\01\00\00\00\04\00\00\00\02") (data (i32.const 15900) "\1c") - (data (i32.const 15912) "-\00\00\00\08\00\00\00?") - (data (i32.const 15936) ".\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a") - (data (i32.const 16000) "\02A") - (data (i32.const 16024) " \00\00\00\02A") - (data (i32.const 16052) "\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a") - (data (i32.const 16084) "B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A") + (data (i32.const 15912) ".\00\00\00\08\00\00\00?") + (data (i32.const 15936) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a") + (data (i32.const 16004) "\02A") + (data (i32.const 16028) " \00\00\00\02A") + (data (i32.const 16056) "\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a") + (data (i32.const 16088) "B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A") (table $0 64 64 funcref) (elem $0 (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|20 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|34 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|34 $start:std/array~anonymous|40 $start:std/array~anonymous|34 $start:std/array~anonymous|34 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|34 $start:std/array~anonymous|40 $~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 $std/array/assertStableSortedForComplexObjects~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|49 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|49 $start:std/array~anonymous|52 $std/array/assertStableSortedForComplexObjects~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $start:std/array~anonymous|54) (export "memory" (memory $0)) @@ -701,7 +715,7 @@ if i32.const 0 i32.const 1216 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -734,7 +748,7 @@ if i32.const 0 i32.const 1216 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -754,14 +768,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 48892 + i32.const 48896 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1216 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -775,7 +789,7 @@ if i32.const 0 i32.const 1216 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -797,7 +811,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -1445,7 +1459,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.const 48892 + i32.const 48896 i32.lt_u if return @@ -1575,7 +1589,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 48892 + i32.const 48896 i32.lt_u if local.get $0 @@ -1669,13 +1683,13 @@ if i32.const 0 i32.const 1216 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 48892 + i32.const 48896 i32.lt_u if local.get $0 @@ -2042,7 +2056,7 @@ if i32.const 1152 i32.const 1216 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -7175,11 +7189,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -7365,11 +7379,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -7524,11 +7538,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8245,11 +8259,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8287,7 +8301,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -8415,11 +8429,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8474,7 +8488,7 @@ local.tee $7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -8644,11 +8658,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8703,7 +8717,7 @@ local.tee $7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -9913,7 +9927,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -9946,7 +9960,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10004,7 +10018,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -10038,7 +10052,7 @@ local.tee $7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -10126,8 +10140,8 @@ local.get $0 return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -10150,11 +10164,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -10793,7 +10807,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10827,7 +10841,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10899,7 +10913,7 @@ local.tee $3 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -10962,7 +10976,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -10999,7 +11013,7 @@ local.tee $5 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -11087,8 +11101,8 @@ local.get $0 return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11321,20 +11335,23 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner4 - block $folding-inner3 - block $folding-inner2 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 block $invalid block $std/array/Proxy block $std/array/Dim block $std/array/Ref block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner4 $folding-inner4 $std/array/Ref $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner2 $folding-inner4 $folding-inner4 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $std/array/Dim $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner2 $folding-inner3 $std/array/Proxy $folding-inner2 $folding-inner3 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner4 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner3 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $std/array/Ref $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $std/array/Dim $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $std/array/Proxy $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $invalid + end + return end return end @@ -11356,17 +11373,17 @@ i32.const 2 i32.shl i32.add - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 - local.get $3 + local.get $2 i32.lt_u if local.get $1 i32.load $0 - local.tee $2 + local.tee $3 if - local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 @@ -11376,7 +11393,7 @@ br $while-continue|0 end end - br $folding-inner4 + br $folding-inner3 end local.get $0 i32.load $0 offset=4 @@ -11414,11 +11431,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11499,11 +11516,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11534,11 +11551,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11735,7 +11752,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11757,7 +11774,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11834,8 +11851,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11857,7 +11874,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11869,7 +11886,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11878,7 +11895,7 @@ i64.store $0 local.get $1 i32.const 16 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 @@ -11896,7 +11913,7 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 1600 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=4 @@ -11941,7 +11958,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11989,7 +12006,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12013,7 +12030,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -12071,8 +12088,8 @@ local.get $8 return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12085,11 +12102,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12125,7 +12142,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12146,7 +12163,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12196,7 +12213,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -12284,8 +12301,8 @@ local.get $0 return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12298,11 +12315,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12341,7 +12358,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12362,7 +12379,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12412,7 +12429,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -12500,8 +12517,8 @@ local.get $0 return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12514,11 +12531,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12554,7 +12571,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12575,7 +12592,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12718,8 +12735,8 @@ local.get $0 return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12745,7 +12762,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12755,7 +12772,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 48892 + i32.const 48896 i32.sub i32.const 1 i32.shr_u @@ -12798,7 +12815,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12807,7 +12824,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -12817,7 +12834,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12828,7 +12845,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -12844,7 +12861,7 @@ i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 1 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -12898,7 +12915,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1696 call $~lib/rt/__newArray local.tee $0 @@ -12935,7 +12952,7 @@ end i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1728 call $~lib/rt/__newArray local.set $1 @@ -12981,7 +12998,7 @@ end i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1760 call $~lib/rt/__newArray local.set $1 @@ -13029,7 +13046,7 @@ end i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1792 call $~lib/rt/__newArray local.set $1 @@ -13071,7 +13088,7 @@ end i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1824 call $~lib/rt/__newArray local.set $1 @@ -13122,7 +13139,7 @@ end i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1856 call $~lib/rt/__newArray local.set $1 @@ -13168,7 +13185,7 @@ end i32.const 5 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1888 call $~lib/rt/__newArray local.set $1 @@ -13190,7 +13207,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 1920 call $~lib/rt/__newArray local.tee $0 @@ -13202,7 +13219,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 1968 call $~lib/rt/__newArray local.set $1 @@ -13228,7 +13245,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 2016 call $~lib/rt/__newArray local.set $1 @@ -13254,7 +13271,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 2064 call $~lib/rt/__newArray local.set $1 @@ -13280,7 +13297,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 2112 call $~lib/rt/__newArray local.set $1 @@ -13306,7 +13323,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 2160 call $~lib/rt/__newArray local.set $1 @@ -13332,7 +13349,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 2208 call $~lib/rt/__newArray local.set $1 @@ -13354,7 +13371,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2256 call $~lib/rt/__newArray local.tee $0 @@ -13366,7 +13383,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2304 call $~lib/rt/__newArray local.set $1 @@ -13392,7 +13409,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2352 call $~lib/rt/__newArray local.set $1 @@ -13418,7 +13435,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2400 call $~lib/rt/__newArray local.set $1 @@ -13444,7 +13461,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2448 call $~lib/rt/__newArray local.set $1 @@ -13470,7 +13487,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2496 call $~lib/rt/__newArray local.set $1 @@ -13496,7 +13513,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2544 call $~lib/rt/__newArray local.set $1 @@ -13522,7 +13539,7 @@ call $~lib/array/Array#fill i32.const 5 i32.const 2 - i32.const 8 + i32.const 9 i32.const 2592 call $~lib/rt/__newArray local.set $1 @@ -13896,7 +13913,7 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -13938,7 +13955,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2688 call $~lib/rt/__newArray local.tee $0 @@ -14056,7 +14073,7 @@ end i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2736 call $~lib/rt/__newArray local.set $6 @@ -14262,7 +14279,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2768 call $~lib/rt/__newArray local.tee $0 @@ -14313,7 +14330,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2800 call $~lib/rt/__newArray local.tee $0 @@ -14329,7 +14346,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2848 call $~lib/rt/__newArray local.set $1 @@ -14352,7 +14369,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2896 call $~lib/rt/__newArray local.tee $0 @@ -14368,7 +14385,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2944 call $~lib/rt/__newArray local.set $1 @@ -14391,7 +14408,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 2992 call $~lib/rt/__newArray local.tee $0 @@ -14407,7 +14424,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3040 call $~lib/rt/__newArray local.set $1 @@ -14430,7 +14447,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3088 call $~lib/rt/__newArray local.tee $0 @@ -14446,7 +14463,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3136 call $~lib/rt/__newArray local.set $1 @@ -14469,7 +14486,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3184 call $~lib/rt/__newArray local.tee $0 @@ -14485,7 +14502,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3232 call $~lib/rt/__newArray local.set $1 @@ -14508,7 +14525,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3280 call $~lib/rt/__newArray local.tee $0 @@ -14524,7 +14541,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3328 call $~lib/rt/__newArray local.set $1 @@ -14547,7 +14564,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3376 call $~lib/rt/__newArray local.tee $0 @@ -14563,7 +14580,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3424 call $~lib/rt/__newArray local.set $1 @@ -14586,7 +14603,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3472 call $~lib/rt/__newArray local.tee $0 @@ -14602,7 +14619,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3520 call $~lib/rt/__newArray local.set $1 @@ -14625,7 +14642,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3568 call $~lib/rt/__newArray local.tee $0 @@ -14641,7 +14658,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3616 call $~lib/rt/__newArray local.set $1 @@ -14664,7 +14681,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3664 call $~lib/rt/__newArray local.tee $0 @@ -14680,7 +14697,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3712 call $~lib/rt/__newArray local.set $1 @@ -14703,7 +14720,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3760 call $~lib/rt/__newArray local.tee $0 @@ -14719,7 +14736,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3808 call $~lib/rt/__newArray local.set $1 @@ -14742,7 +14759,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3856 call $~lib/rt/__newArray local.tee $0 @@ -14758,7 +14775,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3904 call $~lib/rt/__newArray local.set $1 @@ -15268,7 +15285,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 3952 call $~lib/rt/__newArray local.tee $0 @@ -15282,7 +15299,7 @@ i32.store $0 offset=56 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4000 call $~lib/rt/__newArray local.set $6 @@ -15311,7 +15328,7 @@ i32.store $0 offset=56 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4032 call $~lib/rt/__newArray local.set $6 @@ -15340,7 +15357,7 @@ i32.store $0 offset=56 i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4064 call $~lib/rt/__newArray local.set $6 @@ -15389,7 +15406,7 @@ i32.store $0 offset=56 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4112 call $~lib/rt/__newArray local.set $6 @@ -15418,7 +15435,7 @@ i32.store $0 offset=56 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4144 call $~lib/rt/__newArray local.set $6 @@ -15447,7 +15464,7 @@ i32.store $0 offset=56 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4176 call $~lib/rt/__newArray local.set $6 @@ -15660,7 +15677,7 @@ local.set $0 i32.const 4 i32.const 0 - i32.const 6 + i32.const 7 i32.const 4208 call $~lib/rt/__newArray local.set $1 @@ -15711,7 +15728,7 @@ local.set $0 i32.const 8 i32.const 0 - i32.const 6 + i32.const 7 i32.const 4240 call $~lib/rt/__newArray local.set $1 @@ -15762,7 +15779,7 @@ local.set $0 i32.const 17 i32.const 0 - i32.const 6 + i32.const 7 i32.const 4272 call $~lib/rt/__newArray local.set $1 @@ -15813,7 +15830,7 @@ local.set $0 i32.const 7 i32.const 1 - i32.const 10 + i32.const 11 i32.const 4320 call $~lib/rt/__newArray local.set $1 @@ -15864,7 +15881,7 @@ local.set $0 i32.const 8 i32.const 1 - i32.const 10 + i32.const 11 i32.const 4368 call $~lib/rt/__newArray local.set $1 @@ -15915,7 +15932,7 @@ local.set $0 i32.const 9 i32.const 1 - i32.const 10 + i32.const 11 i32.const 4416 call $~lib/rt/__newArray local.set $1 @@ -16573,7 +16590,7 @@ end i32.const 1 i32.const 2 - i32.const 8 + i32.const 9 i32.const 4464 call $~lib/rt/__newArray local.set $2 @@ -16635,7 +16652,7 @@ end i32.const 1 i32.const 3 - i32.const 11 + i32.const 12 i32.const 4496 call $~lib/rt/__newArray local.set $2 @@ -16698,7 +16715,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4528 call $~lib/rt/__newArray local.tee $1 @@ -17621,7 +17638,7 @@ block $__inlined_func$~lib/array/Array#includes (result i32) i32.const 1 i32.const 2 - i32.const 8 + i32.const 9 i32.const 4576 call $~lib/rt/__newArray local.set $0 @@ -17682,7 +17699,7 @@ block $__inlined_func$~lib/array/Array#includes (result i32) i32.const 1 i32.const 3 - i32.const 11 + i32.const 12 i32.const 4608 call $~lib/rt/__newArray local.set $0 @@ -17818,7 +17835,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4640 call $~lib/rt/__newArray local.tee $0 @@ -17833,7 +17850,7 @@ i32.store $0 i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4688 call $~lib/rt/__newArray local.set $2 @@ -17855,7 +17872,7 @@ end i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4736 call $~lib/rt/__newArray local.set $1 @@ -17878,7 +17895,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4768 call $~lib/rt/__newArray local.tee $0 @@ -17893,7 +17910,7 @@ i32.store $0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4816 call $~lib/rt/__newArray local.set $2 @@ -17915,7 +17932,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4848 call $~lib/rt/__newArray local.set $1 @@ -17938,7 +17955,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4896 call $~lib/rt/__newArray local.tee $0 @@ -17953,7 +17970,7 @@ i32.store $0 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4944 call $~lib/rt/__newArray local.set $2 @@ -17975,7 +17992,7 @@ end i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 4976 call $~lib/rt/__newArray local.set $1 @@ -17998,7 +18015,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5008 call $~lib/rt/__newArray local.tee $0 @@ -18013,7 +18030,7 @@ i32.store $0 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5056 call $~lib/rt/__newArray local.set $2 @@ -18035,7 +18052,7 @@ end i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5088 call $~lib/rt/__newArray local.set $1 @@ -18058,7 +18075,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5120 call $~lib/rt/__newArray local.tee $0 @@ -18073,7 +18090,7 @@ i32.store $0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5168 call $~lib/rt/__newArray local.set $2 @@ -18095,7 +18112,7 @@ end i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5200 call $~lib/rt/__newArray local.set $1 @@ -18118,7 +18135,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5248 call $~lib/rt/__newArray local.tee $0 @@ -18133,7 +18150,7 @@ i32.store $0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5296 call $~lib/rt/__newArray local.set $2 @@ -18155,7 +18172,7 @@ end i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5328 call $~lib/rt/__newArray local.set $1 @@ -18178,7 +18195,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5376 call $~lib/rt/__newArray local.tee $0 @@ -18193,7 +18210,7 @@ i32.store $0 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5424 call $~lib/rt/__newArray local.set $2 @@ -18215,7 +18232,7 @@ end i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5456 call $~lib/rt/__newArray local.set $1 @@ -18238,7 +18255,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5488 call $~lib/rt/__newArray local.tee $0 @@ -18253,7 +18270,7 @@ i32.store $0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5536 call $~lib/rt/__newArray local.set $2 @@ -18275,7 +18292,7 @@ end i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5568 call $~lib/rt/__newArray local.set $1 @@ -18298,7 +18315,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5616 call $~lib/rt/__newArray local.tee $0 @@ -18313,7 +18330,7 @@ i32.store $0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5664 call $~lib/rt/__newArray local.set $2 @@ -18335,7 +18352,7 @@ end i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5696 call $~lib/rt/__newArray local.set $1 @@ -18358,7 +18375,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5744 call $~lib/rt/__newArray local.tee $0 @@ -18373,7 +18390,7 @@ i32.store $0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5792 call $~lib/rt/__newArray local.set $2 @@ -18395,7 +18412,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5824 call $~lib/rt/__newArray local.set $1 @@ -18418,7 +18435,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5872 call $~lib/rt/__newArray local.tee $0 @@ -18433,7 +18450,7 @@ i32.store $0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5920 call $~lib/rt/__newArray local.set $2 @@ -18455,7 +18472,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 5952 call $~lib/rt/__newArray local.set $1 @@ -18478,7 +18495,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6000 call $~lib/rt/__newArray local.tee $0 @@ -18493,7 +18510,7 @@ i32.store $0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6048 call $~lib/rt/__newArray local.set $2 @@ -18515,7 +18532,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6080 call $~lib/rt/__newArray local.set $1 @@ -18538,7 +18555,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6128 call $~lib/rt/__newArray local.tee $0 @@ -18553,7 +18570,7 @@ i32.store $0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6176 call $~lib/rt/__newArray local.set $2 @@ -18575,7 +18592,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6208 call $~lib/rt/__newArray local.set $1 @@ -18598,7 +18615,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6256 call $~lib/rt/__newArray local.tee $0 @@ -18613,7 +18630,7 @@ i32.store $0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6304 call $~lib/rt/__newArray local.set $2 @@ -18635,7 +18652,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6336 call $~lib/rt/__newArray local.set $1 @@ -18658,7 +18675,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 9 + i32.const 10 i32.const 6384 call $~lib/rt/__newArray local.tee $0 @@ -18693,7 +18710,7 @@ local.tee $0 i32.const 5 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -18859,7 +18876,7 @@ local.tee $0 i32.const 3 i32.const 2 - i32.const 12 + i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -18892,7 +18909,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -18926,7 +18943,7 @@ select local.tee $2 i32.const 2 - i32.const 12 + i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $8 @@ -19575,7 +19592,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 6800 call $~lib/rt/__newArray local.tee $0 @@ -21011,7 +21028,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21023,7 +21040,7 @@ i32.load $0 offset=12 local.tee $6 i32.const 2 - i32.const 15 + i32.const 16 i32.const 0 call $~lib/rt/__newArray local.tee $7 @@ -21105,7 +21122,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21117,7 +21134,7 @@ i32.load $0 offset=12 local.tee $6 i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $7 @@ -22584,7 +22601,7 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 - i32.const 22 + i32.const 23 i32.const 0 call $~lib/rt/__newArray local.tee $0 @@ -22766,7 +22783,7 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 - i32.const 22 + i32.const 23 i32.const 0 call $~lib/rt/__newArray local.tee $0 @@ -22948,7 +22965,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 - i32.const 8 + i32.const 9 i32.const 10160 call $~lib/rt/__newArray local.tee $0 @@ -22959,7 +22976,7 @@ call $~lib/array/Array#sort@varargs i32.const 3 i32.const 2 - i32.const 8 + i32.const 9 i32.const 10224 call $~lib/rt/__newArray local.set $1 @@ -22981,7 +22998,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 - i32.const 8 + i32.const 9 i32.const 10256 call $~lib/rt/__newArray local.tee $0 @@ -22992,7 +23009,7 @@ call $~lib/array/Array#sort@varargs i32.const 8 i32.const 2 - i32.const 8 + i32.const 9 i32.const 10320 call $~lib/rt/__newArray local.set $1 @@ -23014,7 +23031,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 3 - i32.const 11 + i32.const 12 i32.const 10384 call $~lib/rt/__newArray local.tee $2 @@ -23028,7 +23045,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23061,7 +23078,7 @@ block $__inlined_func$std/array/isArraysEqual (result i32) i32.const 8 i32.const 3 - i32.const 11 + i32.const 12 i32.const 10512 call $~lib/rt/__newArray local.set $1 @@ -23158,7 +23175,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10608 call $~lib/rt/__newArray local.tee $0 @@ -23172,7 +23189,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23204,7 +23221,7 @@ global.set $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10688 call $~lib/rt/__newArray local.set $1 @@ -23227,7 +23244,7 @@ global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 10736 call $~lib/rt/__newArray local.tee $0 @@ -23241,7 +23258,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23273,7 +23290,7 @@ global.set $~lib/memory/__stack_pointer i32.const 5 i32.const 2 - i32.const 7 + i32.const 8 i32.const 10816 call $~lib/rt/__newArray local.set $1 @@ -23295,7 +23312,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10864 call $~lib/rt/__newArray local.tee $1 @@ -23303,7 +23320,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10896 call $~lib/rt/__newArray local.tee $2 @@ -23311,7 +23328,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10928 call $~lib/rt/__newArray local.tee $6 @@ -23319,7 +23336,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 10960 call $~lib/rt/__newArray local.tee $7 @@ -23327,7 +23344,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 11008 call $~lib/rt/__newArray local.tee $8 @@ -23363,7 +23380,7 @@ call $std/array/assertSortedDefault i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 11088 call $~lib/rt/__newArray local.set $1 @@ -23387,7 +23404,7 @@ call $std/array/assertSortedDefault i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 11120 call $~lib/rt/__newArray local.set $1 @@ -23491,7 +23508,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23508,7 +23525,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23536,7 +23553,7 @@ select local.tee $6 i32.const 2 - i32.const 22 + i32.const 23 i32.const 0 call $~lib/rt/__newArray local.tee $7 @@ -23717,7 +23734,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23729,7 +23746,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23738,7 +23755,7 @@ i64.store $0 local.get $2 i32.const 16 - i32.const 28 + i32.const 29 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -23756,7 +23773,7 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -23837,7 +23854,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23849,7 +23866,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23858,7 +23875,7 @@ i64.store $0 local.get $6 i32.const 16 - i32.const 31 + i32.const 32 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -23876,7 +23893,7 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 2048 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=4 @@ -23916,7 +23933,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23925,7 +23942,7 @@ i32.store $0 local.get $2 i32.const 4 - i32.const 30 + i32.const 31 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -23968,7 +23985,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 - i32.const 33 + i32.const 34 i32.const 11536 call $~lib/rt/__newArray local.tee $6 @@ -23976,7 +23993,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 - i32.const 33 + i32.const 34 i32.const 11584 call $~lib/rt/__newArray local.tee $7 @@ -23990,7 +24007,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24017,7 +24034,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24038,7 +24055,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24123,7 +24140,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24222,7 +24239,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24253,7 +24270,7 @@ global.set $~lib/memory/__stack_pointer i32.const 2 i32.const 0 - i32.const 36 + i32.const 37 i32.const 11696 call $~lib/rt/__newArray local.set $0 @@ -24276,7 +24293,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24328,7 +24345,7 @@ local.tee $9 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -24456,7 +24473,7 @@ end i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 11872 call $~lib/rt/__newArray local.set $0 @@ -24491,7 +24508,7 @@ end i32.const 3 i32.const 2 - i32.const 7 + i32.const 8 i32.const 11936 call $~lib/rt/__newArray local.set $0 @@ -24526,7 +24543,7 @@ end i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 12000 call $~lib/rt/__newArray local.set $0 @@ -24561,7 +24578,7 @@ end i32.const 6 i32.const 3 - i32.const 11 + i32.const 12 i32.const 12144 call $~lib/rt/__newArray local.set $0 @@ -24595,7 +24612,7 @@ end i32.const 3 i32.const 2 - i32.const 33 + i32.const 34 i32.const 13536 call $~lib/rt/__newArray local.set $0 @@ -24635,7 +24652,7 @@ local.tee $0 i32.const 3 i32.const 2 - i32.const 12 + i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -24689,7 +24706,7 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -24738,7 +24755,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 13824 call $~lib/rt/__newArray local.tee $0 @@ -24746,7 +24763,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 13856 call $~lib/rt/__newArray local.tee $1 @@ -24754,7 +24771,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 13888 call $~lib/rt/__newArray local.tee $2 @@ -24762,7 +24779,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 13920 call $~lib/rt/__newArray local.tee $6 @@ -24856,7 +24873,7 @@ end i32.const 3 i32.const 0 - i32.const 37 + i32.const 38 i32.const 14048 call $~lib/rt/__newArray local.set $0 @@ -24886,7 +24903,7 @@ end i32.const 3 i32.const 0 - i32.const 37 + i32.const 38 i32.const 14112 call $~lib/rt/__newArray local.set $0 @@ -24916,7 +24933,7 @@ end i32.const 3 i32.const 1 - i32.const 10 + i32.const 11 i32.const 14192 call $~lib/rt/__newArray local.set $0 @@ -24929,7 +24946,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24952,7 +24969,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25002,7 +25019,7 @@ local.tee $9 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -25111,7 +25128,7 @@ end i32.const 2 i32.const 1 - i32.const 38 + i32.const 39 i32.const 14272 call $~lib/rt/__newArray local.set $0 @@ -25124,7 +25141,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25147,7 +25164,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25197,7 +25214,7 @@ local.tee $9 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -25306,7 +25323,7 @@ end i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 14352 call $~lib/rt/__newArray local.set $0 @@ -25336,7 +25353,7 @@ end i32.const 3 i32.const 3 - i32.const 39 + i32.const 40 i32.const 14448 call $~lib/rt/__newArray local.set $0 @@ -25349,7 +25366,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25386,7 +25403,7 @@ end i32.const 5 i32.const 3 - i32.const 40 + i32.const 41 i32.const 14576 call $~lib/rt/__newArray local.set $0 @@ -25399,7 +25416,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25422,7 +25439,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25456,7 +25473,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25544,7 +25561,7 @@ i32.shl local.get $1 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -25611,7 +25628,7 @@ i32.shl local.get $1 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -25654,7 +25671,7 @@ local.tee $9 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -25764,7 +25781,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14800 call $~lib/rt/__newArray local.tee $0 @@ -25792,7 +25809,7 @@ end i32.const 4 i32.const 2 - i32.const 33 + i32.const 34 i32.const 14960 call $~lib/rt/__newArray local.set $0 @@ -25824,7 +25841,7 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -25837,7 +25854,7 @@ i32.const 0 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15040 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -25845,7 +25862,7 @@ i32.const 1 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15072 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -25857,7 +25874,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25880,7 +25897,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26042,7 +26059,7 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 41 + i32.const 42 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -26055,7 +26072,7 @@ i32.const 0 i32.const 2 i32.const 0 - i32.const 6 + i32.const 7 i32.const 15152 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26063,7 +26080,7 @@ i32.const 1 i32.const 2 i32.const 0 - i32.const 6 + i32.const 7 i32.const 15184 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26075,7 +26092,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26098,7 +26115,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26260,7 +26277,7 @@ local.tee $0 i32.const 1 i32.const 2 - i32.const 43 + i32.const 44 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -26272,7 +26289,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 42 + i32.const 43 i32.const 0 call $~lib/rt/__newArray local.tee $2 @@ -26285,7 +26302,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 7 + i32.const 8 i32.const 15216 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26301,7 +26318,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26324,7 +26341,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26486,7 +26503,7 @@ local.tee $0 i32.const 4 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -26499,7 +26516,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15248 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26507,7 +26524,7 @@ i32.const 1 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15280 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26515,7 +26532,7 @@ i32.const 2 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15312 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26523,7 +26540,7 @@ i32.const 3 i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15344 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26578,7 +26595,7 @@ local.tee $0 i32.const 4 i32.const 2 - i32.const 44 + i32.const 45 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -26591,7 +26608,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 33 + i32.const 34 i32.const 15408 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26599,7 +26616,7 @@ i32.const 1 i32.const 3 i32.const 2 - i32.const 33 + i32.const 34 i32.const 15504 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26607,7 +26624,7 @@ i32.const 2 i32.const 3 i32.const 2 - i32.const 33 + i32.const 34 i32.const 15632 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26615,7 +26632,7 @@ i32.const 3 i32.const 1 i32.const 2 - i32.const 33 + i32.const 34 i32.const 15696 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26629,7 +26646,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26678,13 +26695,13 @@ i32.const 2 i32.shl local.tee $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $9 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 33 + i32.const 34 call $~lib/rt/itcms/__new local.tee $10 i32.store $0 offset=4 @@ -26784,7 +26801,7 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 - i32.const 33 + i32.const 34 i32.const 15728 call $~lib/rt/__newArray local.tee $1 @@ -26846,7 +26863,7 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -26859,7 +26876,7 @@ i32.const 0 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15792 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26867,7 +26884,7 @@ i32.const 1 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15824 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26894,7 +26911,7 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -26907,7 +26924,7 @@ i32.const 0 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15856 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26915,7 +26932,7 @@ i32.const 1 i32.const 1 i32.const 2 - i32.const 3 + i32.const 4 i32.const 15888 call $~lib/rt/__newArray call $~lib/array/Array#__uset @@ -26932,7 +26949,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26947,7 +26964,7 @@ i32.load $0 offset=12 local.tee $6 i32.const 2 - i32.const 28 + i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $7 @@ -27093,7 +27110,7 @@ global.set $std/array/inputStabArr i32.const 0 global.set $std/array/outputStabArr - i32.const 48892 + i32.const 48896 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -27134,8 +27151,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27150,11 +27167,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27166,7 +27183,7 @@ i64.store $0 local.get $1 i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -27203,7 +27220,7 @@ i32.const 2 i32.shl local.tee $1 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 @@ -27239,11 +27256,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27255,7 +27272,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -27276,11 +27293,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27294,7 +27311,7 @@ local.get $1 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.set $1 local.get $3 @@ -27342,11 +27359,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27384,11 +27401,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27418,7 +27435,7 @@ global.get $~lib/memory/__stack_pointer local.get $4 i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $4 @@ -27455,11 +27472,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27525,7 +27542,7 @@ select local.tee $2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -27558,11 +27575,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27613,7 +27630,7 @@ select local.tee $5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $1 @@ -27674,11 +27691,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27729,7 +27746,7 @@ select local.tee $3 i32.const 2 - i32.const 9 + i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $6 @@ -27785,11 +27802,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27843,11 +27860,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27894,11 +27911,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27980,7 +27997,7 @@ i32.shl local.get $0 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -28013,11 +28030,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28032,7 +28049,7 @@ i32.load $0 offset=12 local.tee $3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $4 @@ -28095,11 +28112,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28112,7 +28129,7 @@ local.get $3 i32.const 0 i32.const 2 - i32.const 3 + i32.const 4 i32.const 0 call $~lib/rt/__newArray local.tee $4 @@ -28168,42 +28185,74 @@ ) (func $std/array/Dim#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16124 - i32.lt_s - if - i32.const 48912 - i32.const 48960 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16128 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 8 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16128 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 8 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 48928 + i32.const 48976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/array/Array#sort@varargs (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -28212,11 +28261,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28258,11 +28307,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28311,11 +28360,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28365,11 +28414,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28444,7 +28493,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -28468,11 +28517,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28541,7 +28590,7 @@ local.tee $2 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -28566,11 +28615,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28665,7 +28714,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=8 @@ -28775,11 +28824,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16124 + i32.const 16128 i32.lt_s if - i32.const 48912 - i32.const 48960 + i32.const 48928 + i32.const 48976 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28829,13 +28878,13 @@ i32.const 2 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -28928,7 +28977,7 @@ if i32.const 0 i32.const 1216 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index f63521e5bf..bed1d35231 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -27,24 +27,24 @@ (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 688)) - (global $~lib/memory/__data_end i32 (i32.const 756)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33524)) - (global $~lib/memory/__heap_base i32 (i32.const 33524)) + (global $~lib/memory/__data_end i32 (i32.const 760)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33528)) + (global $~lib/memory/__heap_base i32 (i32.const 33528)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 688) "\10\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 688) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -114,7 +114,7 @@ if i32.const 0 i32.const 208 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -184,7 +184,7 @@ if i32.const 0 i32.const 208 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -201,7 +201,7 @@ if i32.const 0 i32.const 208 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -252,7 +252,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -298,7 +298,7 @@ if (result i32) i32.const 0 i32.const 208 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1563,7 +1563,7 @@ if i32.const 0 i32.const 208 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2157,7 +2157,7 @@ if i32.const 144 i32.const 208 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2370,7 +2370,7 @@ if i32.const 0 i32.const 208 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2658,6 +2658,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2666,6 +2669,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2679,6 +2685,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2741,6 +2750,9 @@ (func $~lib/dataview/DataView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2767,11 +2779,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/dataview/DataView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/dataview/DataView $invalid + end + return end return end @@ -3181,7 +3196,7 @@ i32.store $0 offset=8 i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 608 call $~lib/rt/__newArray local.set $5 @@ -3289,7 +3304,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -3394,7 +3409,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -3428,7 +3443,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3460,7 +3475,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -3500,7 +3515,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3539,7 +3554,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -3587,7 +3602,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3623,7 +3638,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 30e876e3af..4fbc6b480a 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -18,29 +18,29 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34548)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34552)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) "<") - (data (i32.const 1096) "\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 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1160) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1212) "<") - (data (i32.const 1224) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1340) "<") - (data (i32.const 1352) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1404) ",") - (data (i32.const 1416) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1484) "<") - (data (i32.const 1496) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1548) "<") - (data (i32.const 1560) "\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") (data (i32.const 1612) "\1c") - (data (i32.const 1628) "\08\00\00\00\01\00\00\00\02") + (data (i32.const 1624) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 1644) "<") - (data (i32.const 1656) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 1712) "\10\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a") + (data (i32.const 1656) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 1712) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -72,7 +72,7 @@ if i32.const 0 i32.const 1232 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -105,7 +105,7 @@ if i32.const 0 i32.const 1232 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -125,14 +125,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34548 + i32.const 34552 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1232 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -146,7 +146,7 @@ if i32.const 0 i32.const 1232 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -168,7 +168,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -894,7 +894,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34548 + i32.const 34552 i32.lt_u if local.get $0 @@ -988,13 +988,13 @@ if i32.const 0 i32.const 1232 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34548 + i32.const 34552 i32.lt_u if local.get $0 @@ -1017,7 +1017,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34548 + i32.const 34552 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1217,7 +1217,7 @@ if i32.const 1168 i32.const 1232 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1512,31 +1512,34 @@ local.get $1 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner2 - block $folding-inner1 - block $invalid + block $folding-inner0 + block $invalid + block $~lib/array/Array block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/array/Array $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end - return + unreachable end local.get $0 i32.load $0 @@ -1559,7 +1562,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1570,7 +1573,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34548 + i32.const 34552 i32.sub i32.const 1 i32.shr_u @@ -1604,7 +1607,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1613,7 +1616,7 @@ i32.store $0 local.get $1 i32.const 8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -1831,7 +1834,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1840,7 +1843,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -1862,7 +1865,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1870,7 +1873,7 @@ i32.const 0 i32.store $0 i32.const 8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.const 1632 @@ -1880,7 +1883,7 @@ local.get $2 i32.store $0 i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 local.get $2 @@ -1912,7 +1915,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1921,7 +1924,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1953,7 +1956,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1962,7 +1965,7 @@ i32.store $0 local.get $2 i32.const 12 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -2015,7 +2018,7 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=12 - i32.const 34548 + i32.const 34552 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -2070,7 +2073,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s if i32.const 34576 @@ -2141,7 +2144,7 @@ i32.gt_s select local.tee $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -2164,7 +2167,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1780 + i32.const 1784 i32.lt_s if i32.const 34576 @@ -2182,7 +2185,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2213,7 +2216,7 @@ local.get $1 i32.shl local.tee $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=4 @@ -2263,7 +2266,7 @@ if i32.const 0 i32.const 1232 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/console.debug.wat b/tests/compiler/std/console.debug.wat index 4f11af1b58..d14431e00c 100644 --- a/tests/compiler/std/console.debug.wat +++ b/tests/compiler/std/console.debug.wat @@ -17,20 +17,20 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33356)) (global $~lib/memory/__heap_base i32 (i32.const 33356)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00p\00h\00e\00w\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g\00\00\00\00\00\00\00") - (data (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o\00\00\00\00\00\00\00\00\00") - (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l\00") - (data (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00p\00h\00e\00w\00\00\00\00\00") + (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g\00\00\00\00\00\00\00") + (data (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o\00\00\00\00\00\00\00\00\00") + (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l\00") + (data (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/console.release.wat b/tests/compiler/std/console.release.wat index 0c4b1b1c73..f4329fb554 100644 --- a/tests/compiler/std/console.release.wat +++ b/tests/compiler/std/console.release.wat @@ -16,33 +16,33 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34380)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s") + (data (i32.const 1048) "\02\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\08\00\00\00p\00h\00e\00w") + (data (i32.const 1080) "\02\00\00\00\08\00\00\00p\00h\00e\00w") (data (i32.const 1100) ",") - (data (i32.const 1112) "\01\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g") + (data (i32.const 1112) "\02\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g") (data (i32.const 1148) ",") - (data (i32.const 1160) "\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g") + (data (i32.const 1160) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g") (data (i32.const 1196) ",") - (data (i32.const 1208) "\01\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o") + (data (i32.const 1208) "\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o") (data (i32.const 1244) ",") - (data (i32.const 1256) "\01\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n") + (data (i32.const 1256) "\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r") + (data (i32.const 1304) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l") + (data (i32.const 1352) "\02\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l") (data (i32.const 1388) ",") - (data (i32.const 1400) "\01\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l") + (data (i32.const 1400) "\02\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l") + (data (i32.const 1448) "\02\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l") (data (i32.const 1484) "\1c") - (data (i32.const 1496) "\01\00\00\00\02\00\00\001") + (data (i32.const 1496) "\02\00\00\00\02\00\00\001") (data (i32.const 1516) "\1c") - (data (i32.const 1528) "\01\00\00\00\04\00\00\001\002") + (data (i32.const 1528) "\02\00\00\00\04\00\00\001\002") (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\01\00\00\00\06\00\00\001\002\003") + (data (i32.const 1560) "\02\00\00\00\06\00\00\001\002\003") (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\01\00\00\00\08\00\00\001\002\003\004") + (data (i32.const 1592) "\02\00\00\00\08\00\00\001\002\003\004") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 9971b011ec..29acf3df84 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -33,24 +33,24 @@ (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 720)) - (global $~lib/memory/__data_end i32 (i32.const 744)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33512)) - (global $~lib/memory/__heap_base i32 (i32.const 33512)) + (global $~lib/memory/__data_end i32 (i32.const 748)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33516)) + (global $~lib/memory/__heap_base i32 (i32.const 33516)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 720) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00A\00\00\00\00\00\00\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 720) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -120,7 +120,7 @@ if i32.const 0 i32.const 208 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -190,7 +190,7 @@ if i32.const 0 i32.const 208 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -207,7 +207,7 @@ if i32.const 0 i32.const 208 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -258,7 +258,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -304,7 +304,7 @@ if (result i32) i32.const 0 i32.const 208 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1569,7 +1569,7 @@ if i32.const 0 i32.const 208 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2163,7 +2163,7 @@ if i32.const 144 i32.const 208 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2222,7 +2222,7 @@ if i32.const 0 i32.const 208 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -3344,6 +3344,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3352,6 +3355,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3360,6 +3366,9 @@ (func $~lib/dataview/DataView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3375,11 +3384,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $~lib/dataview/DataView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $~lib/dataview/DataView $invalid + end + return end return end @@ -5158,7 +5170,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5190,7 +5202,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -5230,7 +5242,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5266,7 +5278,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index f18d332783..28d33049e9 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -24,29 +24,29 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34536)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34540)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) "<") - (data (i32.const 1096) "\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 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1160) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1212) "<") - (data (i32.const 1224) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1340) "<") - (data (i32.const 1352) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1404) ",") - (data (i32.const 1416) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1484) "<") - (data (i32.const 1496) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1548) "<") - (data (i32.const 1560) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1612) "<") - (data (i32.const 1624) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 1624) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") (data (i32.const 1676) "<") - (data (i32.const 1688) "\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 1744) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00A") + (data (i32.const 1688) "\02\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 1744) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -78,7 +78,7 @@ if i32.const 0 i32.const 1232 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -111,7 +111,7 @@ if i32.const 0 i32.const 1232 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -131,14 +131,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34536 + i32.const 34540 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1232 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -152,7 +152,7 @@ if i32.const 0 i32.const 1232 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -174,7 +174,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -900,7 +900,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34536 + i32.const 34540 i32.lt_u if local.get $0 @@ -994,13 +994,13 @@ if i32.const 0 i32.const 1232 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34536 + i32.const 34540 i32.lt_u if local.get $0 @@ -1023,7 +1023,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34536 + i32.const 34540 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1223,7 +1223,7 @@ if i32.const 1168 i32.const 1232 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1528,7 +1528,7 @@ if i32.const 0 i32.const 1232 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2299,11 +2299,14 @@ block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -2333,7 +2336,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1768 + i32.const 1772 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2346,7 +2349,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34536 + i32.const 34540 i32.sub i32.const 1 i32.shr_u @@ -2380,7 +2383,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1768 + i32.const 1772 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2389,7 +2392,7 @@ i32.store $0 local.get $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2399,7 +2402,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1768 + i32.const 1772 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2410,7 +2413,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2426,7 +2429,7 @@ i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -4043,7 +4046,7 @@ call $~lib/builtins/abort unreachable end - i32.const 34536 + i32.const 34540 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -4098,7 +4101,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1768 + i32.const 1772 i32.lt_s if i32.const 34560 @@ -4114,7 +4117,7 @@ i32.store $0 local.get $3 i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index 802acf102c..d56020cbcf 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -43,121 +43,121 @@ (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 6768)) - (global $~lib/memory/__data_end i32 (i32.const 6800)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 39568)) - (global $~lib/memory/__heap_base i32 (i32.const 39568)) + (global $~lib/memory/__data_end i32 (i32.const 6804)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 39572)) + (global $~lib/memory/__heap_base i32 (i32.const 39572)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e\00\00\00\00\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00") - (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e\00\00\00\00\00") + (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00") + (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 556) "\00\03\02\05\00\03\05\01\04\06\02\04") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 764) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 764) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 860) "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\00") - (data (i32.const 1260) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2316) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) "L\00\00\00\03\00\00\00\00\00\00\00\04\00\00\008\00\00\00\00\00\00\00P\02\00\00\00\00\00\00P\02\00\00\00\00\00\00\a0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\e0\t\00\00\00\00\00\00\00\n\00\00\00\00\00\00") - (data (i32.const 2652) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2732) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") - (data (i32.const 2812) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2972) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3052) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 3132) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3212) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 3292) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z\00\00\00\00\00\00\00") - (data (i32.const 3372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00u\00n\00 \00\00\00\00\00") - (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00o\00n\00 \00\00\00\00\00") - (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00u\00e\00 \00\00\00\00\00") - (data (i32.const 3468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00W\00e\00d\00 \00\00\00\00\00") - (data (i32.const 3500) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00h\00u\00 \00\00\00\00\00") - (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00r\00i\00 \00\00\00\00\00") - (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00a\00t\00 \00\00\00\00\00") - (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00@\r\00\00`\r\00\00\80\r\00\00\a0\r\00\00\c0\r\00\00\e0\r\00\00\00\0e\00\00") - (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00a\00n\00 \00\00\00\00\00") - (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00e\00b\00 \00\00\00\00\00") - (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00a\00r\00 \00\00\00\00\00") - (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00p\00r\00 \00\00\00\00\00") - (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00M\00a\00y\00 \00\00\00\00\00") - (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00u\00n\00 \00\00\00\00\00") - (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00J\00u\00l\00 \00\00\00\00\00") - (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00u\00g\00 \00\00\00\00\00") - (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00S\00e\00p\00 \00\00\00\00\00") - (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00O\00c\00t\00 \00\00\00\00\00") - (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00N\00o\00v\00 \00\00\00\00\00") - (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00D\00e\00c\00 \00\00\00\00\00") - (data (i32.const 4028) "L\00\00\00\00\00\00\00\00\00\00\00\04\00\00\000\00\00\00P\0e\00\00p\0e\00\00\90\0e\00\00\b0\0e\00\00\d0\0e\00\00\f0\0e\00\00\10\0f\00\000\0f\00\00P\0f\00\00p\0f\00\00\90\0f\00\00\b0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4108) ",\00\00\00\03\00\00\00\00\00\00\00\04\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\00\00\00\00\00\00\00\00") - (data (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00 \00-\00\00\00\00\00\00\00\00\00") - (data (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4284) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4412) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4460) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4508) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00u\00n\00,\00 \00\00\00") - (data (i32.const 4588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00M\00o\00n\00,\00 \00\00\00") - (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00T\00u\00e\00,\00 \00\00\00") - (data (i32.const 4652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00W\00e\00d\00,\00 \00\00\00") - (data (i32.const 4684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00T\00h\00u\00,\00 \00\00\00") - (data (i32.const 4716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00F\00r\00i\00,\00 \00\00\00") - (data (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00S\00a\00t\00,\00 \00\00\00") - (data (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\1c\00\00\00\e0\11\00\00\00\12\00\00 \12\00\00@\12\00\00`\12\00\00\80\12\00\00\a0\12\00\00") - (data (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00a\00n\00 \00\00\00") - (data (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00F\00e\00b\00 \00\00\00") - (data (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00M\00a\00r\00 \00\00\00") - (data (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00A\00p\00r\00 \00\00\00") - (data (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00M\00a\00y\00 \00\00\00") - (data (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00u\00n\00 \00\00\00") - (data (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00J\00u\00l\00 \00\00\00") - (data (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00A\00u\00g\00 \00\00\00") - (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00S\00e\00p\00 \00\00\00") - (data (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00O\00c\00t\00 \00\00\00") - (data (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00N\00o\00v\00 \00\00\00") - (data (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00D\00e\00c\00 \00\00\00") - (data (i32.const 5212) "L\00\00\00\00\00\00\00\00\00\00\00\04\00\00\000\00\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13\00\00\d0\13\00\00\f0\13\00\00\10\14\00\000\14\00\00P\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00 \00G\00M\00T\00\00\00\00\00") - (data (i32.const 5324) "L\00\00\00\03\00\00\00\00\00\00\00\04\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\00p\10\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5404) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00\00\00") - (data (i32.const 5484) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T\00\00\00") - (data (i32.const 5564) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00") - (data (i32.const 5644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 5740) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 5788) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004\00\00\00\00\00\00\00\00\00") - (data (i32.const 6012) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00\00\00\00\00\00\00") - (data (i32.const 6076) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\000\00\00\00\00\00") - (data (i32.const 6268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") - (data (i32.const 6300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\009\007\006\00\00\00\00\00") - (data (i32.const 6332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\009\007\006\00-\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6444) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 6524) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 6604) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") - (data (i32.const 6684) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z\00\00\00\00\00\00\00") - (data (i32.const 6768) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t\00\00") + (data (i32.const 1260) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2316) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2572) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\008\00\00\00\00\00\00\00P\02\00\00\00\00\00\00P\02\00\00\00\00\00\00\a0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\e0\t\00\00\00\00\00\00\00\n\00\00\00\00\00\00") + (data (i32.const 2652) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2732) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") + (data (i32.const 2812) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2972) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3052) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 3132) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3212) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 3292) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z\00\00\00\00\00\00\00") + (data (i32.const 3372) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00u\00n\00 \00\00\00\00\00") + (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00o\00n\00 \00\00\00\00\00") + (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00u\00e\00 \00\00\00\00\00") + (data (i32.const 3468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00W\00e\00d\00 \00\00\00\00\00") + (data (i32.const 3500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00h\00u\00 \00\00\00\00\00") + (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00r\00i\00 \00\00\00\00\00") + (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00a\00t\00 \00\00\00\00\00") + (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\1c\00\00\00@\r\00\00`\r\00\00\80\r\00\00\a0\r\00\00\c0\r\00\00\e0\r\00\00\00\0e\00\00") + (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00a\00n\00 \00\00\00\00\00") + (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00e\00b\00 \00\00\00\00\00") + (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00a\00r\00 \00\00\00\00\00") + (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00p\00r\00 \00\00\00\00\00") + (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00a\00y\00 \00\00\00\00\00") + (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00u\00n\00 \00\00\00\00\00") + (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00u\00l\00 \00\00\00\00\00") + (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00u\00g\00 \00\00\00\00\00") + (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00e\00p\00 \00\00\00\00\00") + (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00O\00c\00t\00 \00\00\00\00\00") + (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00N\00o\00v\00 \00\00\00\00\00") + (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00D\00e\00c\00 \00\00\00\00\00") + (data (i32.const 4028) "L\00\00\00\00\00\00\00\00\00\00\00\05\00\00\000\00\00\00P\0e\00\00p\0e\00\00\90\0e\00\00\b0\0e\00\00\d0\0e\00\00\f0\0e\00\00\10\0f\00\000\0f\00\00P\0f\00\00p\0f\00\00\90\0f\00\00\b0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4108) ",\00\00\00\03\00\00\00\00\00\00\00\05\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\00\00\00\00\00\00\00\00") + (data (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00-\00\00\00\00\00\00\00\00\00") + (data (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4412) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00S\00u\00n\00,\00 \00\00\00") + (data (i32.const 4588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00M\00o\00n\00,\00 \00\00\00") + (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00T\00u\00e\00,\00 \00\00\00") + (data (i32.const 4652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00W\00e\00d\00,\00 \00\00\00") + (data (i32.const 4684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00T\00h\00u\00,\00 \00\00\00") + (data (i32.const 4716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00F\00r\00i\00,\00 \00\00\00") + (data (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00S\00a\00t\00,\00 \00\00\00") + (data (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\1c\00\00\00\e0\11\00\00\00\12\00\00 \12\00\00@\12\00\00`\12\00\00\80\12\00\00\a0\12\00\00") + (data (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00a\00n\00 \00\00\00") + (data (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00F\00e\00b\00 \00\00\00") + (data (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00M\00a\00r\00 \00\00\00") + (data (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00A\00p\00r\00 \00\00\00") + (data (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00M\00a\00y\00 \00\00\00") + (data (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00u\00n\00 \00\00\00") + (data (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00u\00l\00 \00\00\00") + (data (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00A\00u\00g\00 \00\00\00") + (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00S\00e\00p\00 \00\00\00") + (data (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00O\00c\00t\00 \00\00\00") + (data (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00N\00o\00v\00 \00\00\00") + (data (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00D\00e\00c\00 \00\00\00") + (data (i32.const 5212) "L\00\00\00\00\00\00\00\00\00\00\00\05\00\00\000\00\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13\00\00\d0\13\00\00\f0\13\00\00\10\14\00\000\14\00\00P\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00 \00G\00M\00T\00\00\00\00\00") + (data (i32.const 5324) "L\00\00\00\03\00\00\00\00\00\00\00\05\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\00p\10\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5404) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00\00\00") + (data (i32.const 5484) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T\00\00\00") + (data (i32.const 5564) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00") + (data (i32.const 5644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 5692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 5740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 5788) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004\00\00\00\00\00\00\00\00\00") + (data (i32.const 6012) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00\00\00\00\00\00\00") + (data (i32.const 6076) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6156) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\000\00\00\00\00\00") + (data (i32.const 6268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") + (data (i32.const 6300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\009\007\006\00\00\00\00\00") + (data (i32.const 6332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\009\007\006\00-\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6444) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 6524) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data (i32.const 6604) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") + (data (i32.const 6684) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z\00\00\00\00\00\00\00") + (data (i32.const 6768) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -485,7 +485,7 @@ if i32.const 0 i32.const 240 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -555,7 +555,7 @@ if i32.const 0 i32.const 240 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -572,7 +572,7 @@ if i32.const 0 i32.const 240 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -623,7 +623,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -669,7 +669,7 @@ if (result i32) i32.const 0 i32.const 240 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1934,7 +1934,7 @@ if i32.const 0 i32.const 240 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2528,7 +2528,7 @@ if i32.const 176 i32.const 240 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3493,7 +3493,7 @@ if i32.const 0 i32.const 240 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -4483,6 +4483,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -4491,6 +4494,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) @@ -4532,6 +4538,9 @@ end ) (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__visit @@ -4586,6 +4595,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -4603,6 +4615,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -4616,11 +4631,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + end + return end return end @@ -4957,14 +4975,14 @@ memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 28 - i32.const 4 + i32.const 5 i32.const 3616 call $~lib/rt/__newBuffer local.tee $weeks i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 48 - i32.const 4 + i32.const 5 i32.const 4048 call $~lib/rt/__newBuffer local.tee $months @@ -5230,14 +5248,14 @@ memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 28 - i32.const 4 + i32.const 5 i32.const 4800 call $~lib/rt/__newBuffer local.tee $weeks i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 48 - i32.const 4 + i32.const 5 i32.const 5232 call $~lib/rt/__newBuffer local.tee $months @@ -5465,7 +5483,7 @@ if i32.const 0 i32.const 2 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newArray local.set $24 @@ -5483,7 +5501,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -5527,7 +5545,7 @@ if i32.const 0 i32.const 2 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newArray local.set $24 @@ -5550,7 +5568,7 @@ global.get $~lib/memory/__stack_pointer local.get $length i32.const 2 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newArray local.tee $result @@ -5569,7 +5587,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $charStr i32.store $0 offset=12 @@ -5614,7 +5632,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newArray local.tee $result|14 @@ -5636,7 +5654,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newArray local.tee $result|15 @@ -5670,7 +5688,7 @@ local.get $len i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 offset=24 @@ -5750,7 +5768,7 @@ local.get $len|22 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out|23 i32.store $0 offset=32 @@ -9403,7 +9421,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -9526,7 +9544,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -9566,7 +9584,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -9601,7 +9619,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -9686,7 +9704,7 @@ local.set $prependSize global.get $~lib/memory/__stack_pointer local.get $targetSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -9782,7 +9800,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -9918,7 +9936,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 offset=8 @@ -10144,7 +10162,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -10181,7 +10199,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index b5ce98c29d..42862bfe65 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -27,217 +27,217 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 40592)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 40596)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e") + (data (i32.const 1048) "\02\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e") (data (i32.const 1084) ",") - (data (i32.const 1096) "\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s") + (data (i32.const 1096) "\02\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s") (data (i32.const 1132) ",") - (data (i32.const 1144) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") (data (i32.const 1180) "<") - (data (i32.const 1192) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1192) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1244) "<") - (data (i32.const 1256) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1384) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1448) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1516) "<") - (data (i32.const 1528) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1581) "\03\02\05\00\03\05\01\04\06\02\04") (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\01\00\00\00\02\00\00\00-") + (data (i32.const 1608) "\02\00\00\00\02\00\00\00-") (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\02\00\00\00+") + (data (i32.const 1640) "\02\00\00\00\02\00\00\00+") (data (i32.const 1660) "|") - (data (i32.const 1672) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1672) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1788) "<") - (data (i32.const 1800) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1800) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\01\00\00\00\02\00\00\000") + (data (i32.const 1864) "\02\00\00\00\02\00\00\000") (data (i32.const 1884) "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 2284) "\1c\04") - (data (i32.const 2296) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2296) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3340) "\\") - (data (i32.const 3352) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3352) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3436) "\1c") - (data (i32.const 3448) "\01") + (data (i32.const 3448) "\02") (data (i32.const 3468) "\1c") - (data (i32.const 3480) "\01\00\00\00\02\00\00\00T") + (data (i32.const 3480) "\02\00\00\00\02\00\00\00T") (data (i32.const 3500) "\1c") - (data (i32.const 3512) "\01\00\00\00\02\00\00\00:") + (data (i32.const 3512) "\02\00\00\00\02\00\00\00:") (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\01\00\00\00\02\00\00\00.") + (data (i32.const 3544) "\02\00\00\00\02\00\00\00.") (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\01\00\00\00\02\00\00\00Z") - (data (i32.const 3596) "L\00\00\00\03\00\00\00\00\00\00\00\04\00\00\008\00\00\00\00\00\00\00P\06\00\00\00\00\00\00P\06\00\00\00\00\00\00\a0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\e0\r\00\00\00\00\00\00\00\0e") + (data (i32.const 3576) "\02\00\00\00\02\00\00\00Z") + (data (i32.const 3596) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\008\00\00\00\00\00\00\00P\06\00\00\00\00\00\00P\06\00\00\00\00\00\00\a0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\e0\r\00\00\00\00\00\00\00\0e") (data (i32.const 3676) "L") - (data (i32.const 3688) "\01\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 3688) "\02\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") (data (i32.const 3756) "L") - (data (i32.const 3768) "\01\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data (i32.const 3768) "\02\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") (data (i32.const 3836) "L") - (data (i32.const 3848) "\01\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z") + (data (i32.const 3848) "\02\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z") (data (i32.const 3916) "L") - (data (i32.const 3928) "\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z") + (data (i32.const 3928) "\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z") (data (i32.const 3996) "L") - (data (i32.const 4008) "\01\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z") + (data (i32.const 4008) "\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z") (data (i32.const 4076) "L") - (data (i32.const 4088) "\01\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z") + (data (i32.const 4088) "\02\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z") (data (i32.const 4156) "L") - (data (i32.const 4168) "\01\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data (i32.const 4168) "\02\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") (data (i32.const 4236) "L") - (data (i32.const 4248) "\01\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 4248) "\02\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") (data (i32.const 4316) "L") - (data (i32.const 4328) "\01\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z") + (data (i32.const 4328) "\02\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z") (data (i32.const 4396) "\1c") - (data (i32.const 4408) "\01\00\00\00\08\00\00\00S\00u\00n\00 ") + (data (i32.const 4408) "\02\00\00\00\08\00\00\00S\00u\00n\00 ") (data (i32.const 4428) "\1c") - (data (i32.const 4440) "\01\00\00\00\08\00\00\00M\00o\00n\00 ") + (data (i32.const 4440) "\02\00\00\00\08\00\00\00M\00o\00n\00 ") (data (i32.const 4460) "\1c") - (data (i32.const 4472) "\01\00\00\00\08\00\00\00T\00u\00e\00 ") + (data (i32.const 4472) "\02\00\00\00\08\00\00\00T\00u\00e\00 ") (data (i32.const 4492) "\1c") - (data (i32.const 4504) "\01\00\00\00\08\00\00\00W\00e\00d\00 ") + (data (i32.const 4504) "\02\00\00\00\08\00\00\00W\00e\00d\00 ") (data (i32.const 4524) "\1c") - (data (i32.const 4536) "\01\00\00\00\08\00\00\00T\00h\00u\00 ") + (data (i32.const 4536) "\02\00\00\00\08\00\00\00T\00h\00u\00 ") (data (i32.const 4556) "\1c") - (data (i32.const 4568) "\01\00\00\00\08\00\00\00F\00r\00i\00 ") + (data (i32.const 4568) "\02\00\00\00\08\00\00\00F\00r\00i\00 ") (data (i32.const 4588) "\1c") - (data (i32.const 4600) "\01\00\00\00\08\00\00\00S\00a\00t\00 ") + (data (i32.const 4600) "\02\00\00\00\08\00\00\00S\00a\00t\00 ") (data (i32.const 4620) ",") - (data (i32.const 4632) "\04\00\00\00\1c\00\00\00@\11\00\00`\11\00\00\80\11\00\00\a0\11\00\00\c0\11\00\00\e0\11\00\00\00\12") + (data (i32.const 4632) "\05\00\00\00\1c\00\00\00@\11\00\00`\11\00\00\80\11\00\00\a0\11\00\00\c0\11\00\00\e0\11\00\00\00\12") (data (i32.const 4668) "\1c") - (data (i32.const 4680) "\01\00\00\00\08\00\00\00J\00a\00n\00 ") + (data (i32.const 4680) "\02\00\00\00\08\00\00\00J\00a\00n\00 ") (data (i32.const 4700) "\1c") - (data (i32.const 4712) "\01\00\00\00\08\00\00\00F\00e\00b\00 ") + (data (i32.const 4712) "\02\00\00\00\08\00\00\00F\00e\00b\00 ") (data (i32.const 4732) "\1c") - (data (i32.const 4744) "\01\00\00\00\08\00\00\00M\00a\00r\00 ") + (data (i32.const 4744) "\02\00\00\00\08\00\00\00M\00a\00r\00 ") (data (i32.const 4764) "\1c") - (data (i32.const 4776) "\01\00\00\00\08\00\00\00A\00p\00r\00 ") + (data (i32.const 4776) "\02\00\00\00\08\00\00\00A\00p\00r\00 ") (data (i32.const 4796) "\1c") - (data (i32.const 4808) "\01\00\00\00\08\00\00\00M\00a\00y\00 ") + (data (i32.const 4808) "\02\00\00\00\08\00\00\00M\00a\00y\00 ") (data (i32.const 4828) "\1c") - (data (i32.const 4840) "\01\00\00\00\08\00\00\00J\00u\00n\00 ") + (data (i32.const 4840) "\02\00\00\00\08\00\00\00J\00u\00n\00 ") (data (i32.const 4860) "\1c") - (data (i32.const 4872) "\01\00\00\00\08\00\00\00J\00u\00l\00 ") + (data (i32.const 4872) "\02\00\00\00\08\00\00\00J\00u\00l\00 ") (data (i32.const 4892) "\1c") - (data (i32.const 4904) "\01\00\00\00\08\00\00\00A\00u\00g\00 ") + (data (i32.const 4904) "\02\00\00\00\08\00\00\00A\00u\00g\00 ") (data (i32.const 4924) "\1c") - (data (i32.const 4936) "\01\00\00\00\08\00\00\00S\00e\00p\00 ") + (data (i32.const 4936) "\02\00\00\00\08\00\00\00S\00e\00p\00 ") (data (i32.const 4956) "\1c") - (data (i32.const 4968) "\01\00\00\00\08\00\00\00O\00c\00t\00 ") + (data (i32.const 4968) "\02\00\00\00\08\00\00\00O\00c\00t\00 ") (data (i32.const 4988) "\1c") - (data (i32.const 5000) "\01\00\00\00\08\00\00\00N\00o\00v\00 ") + (data (i32.const 5000) "\02\00\00\00\08\00\00\00N\00o\00v\00 ") (data (i32.const 5020) "\1c") - (data (i32.const 5032) "\01\00\00\00\08\00\00\00D\00e\00c\00 ") + (data (i32.const 5032) "\02\00\00\00\08\00\00\00D\00e\00c\00 ") (data (i32.const 5052) "L") - (data (i32.const 5064) "\04\00\00\000\00\00\00P\12\00\00p\12\00\00\90\12\00\00\b0\12\00\00\d0\12\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13") - (data (i32.const 5132) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14") + (data (i32.const 5064) "\05\00\00\000\00\00\00P\12\00\00p\12\00\00\90\12\00\00\b0\12\00\00\d0\12\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13") + (data (i32.const 5132) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14") (data (i32.const 5180) "\1c") - (data (i32.const 5192) "\01\00\00\00\04\00\00\00 \00-") + (data (i32.const 5192) "\02\00\00\00\04\00\00\00 \00-") (data (i32.const 5212) "\1c") - (data (i32.const 5224) "\01\00\00\00\02\00\00\00 ") + (data (i32.const 5224) "\02\00\00\00\02\00\00\00 ") (data (i32.const 5244) "<") - (data (i32.const 5256) "\01\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000") + (data (i32.const 5256) "\02\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000") (data (i32.const 5308) "<") - (data (i32.const 5320) "\01\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000") + (data (i32.const 5320) "\02\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000") (data (i32.const 5372) "<") - (data (i32.const 5384) "\01\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001") - (data (i32.const 5436) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r") + (data (i32.const 5384) "\02\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001") + (data (i32.const 5436) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r") (data (i32.const 5484) ",") - (data (i32.const 5496) "\01\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000") + (data (i32.const 5496) "\02\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000") (data (i32.const 5532) ",") - (data (i32.const 5544) "\01\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009") + (data (i32.const 5544) "\02\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009") (data (i32.const 5580) "\1c") - (data (i32.const 5592) "\01\00\00\00\n\00\00\00S\00u\00n\00,\00 ") + (data (i32.const 5592) "\02\00\00\00\n\00\00\00S\00u\00n\00,\00 ") (data (i32.const 5612) "\1c") - (data (i32.const 5624) "\01\00\00\00\n\00\00\00M\00o\00n\00,\00 ") + (data (i32.const 5624) "\02\00\00\00\n\00\00\00M\00o\00n\00,\00 ") (data (i32.const 5644) "\1c") - (data (i32.const 5656) "\01\00\00\00\n\00\00\00T\00u\00e\00,\00 ") + (data (i32.const 5656) "\02\00\00\00\n\00\00\00T\00u\00e\00,\00 ") (data (i32.const 5676) "\1c") - (data (i32.const 5688) "\01\00\00\00\n\00\00\00W\00e\00d\00,\00 ") + (data (i32.const 5688) "\02\00\00\00\n\00\00\00W\00e\00d\00,\00 ") (data (i32.const 5708) "\1c") - (data (i32.const 5720) "\01\00\00\00\n\00\00\00T\00h\00u\00,\00 ") + (data (i32.const 5720) "\02\00\00\00\n\00\00\00T\00h\00u\00,\00 ") (data (i32.const 5740) "\1c") - (data (i32.const 5752) "\01\00\00\00\n\00\00\00F\00r\00i\00,\00 ") + (data (i32.const 5752) "\02\00\00\00\n\00\00\00F\00r\00i\00,\00 ") (data (i32.const 5772) "\1c") - (data (i32.const 5784) "\01\00\00\00\n\00\00\00S\00a\00t\00,\00 ") + (data (i32.const 5784) "\02\00\00\00\n\00\00\00S\00a\00t\00,\00 ") (data (i32.const 5804) ",") - (data (i32.const 5816) "\04\00\00\00\1c\00\00\00\e0\15\00\00\00\16\00\00 \16\00\00@\16\00\00`\16\00\00\80\16\00\00\a0\16") + (data (i32.const 5816) "\05\00\00\00\1c\00\00\00\e0\15\00\00\00\16\00\00 \16\00\00@\16\00\00`\16\00\00\80\16\00\00\a0\16") (data (i32.const 5852) "\1c") - (data (i32.const 5864) "\01\00\00\00\n\00\00\00 \00J\00a\00n\00 ") + (data (i32.const 5864) "\02\00\00\00\n\00\00\00 \00J\00a\00n\00 ") (data (i32.const 5884) "\1c") - (data (i32.const 5896) "\01\00\00\00\n\00\00\00 \00F\00e\00b\00 ") + (data (i32.const 5896) "\02\00\00\00\n\00\00\00 \00F\00e\00b\00 ") (data (i32.const 5916) "\1c") - (data (i32.const 5928) "\01\00\00\00\n\00\00\00 \00M\00a\00r\00 ") + (data (i32.const 5928) "\02\00\00\00\n\00\00\00 \00M\00a\00r\00 ") (data (i32.const 5948) "\1c") - (data (i32.const 5960) "\01\00\00\00\n\00\00\00 \00A\00p\00r\00 ") + (data (i32.const 5960) "\02\00\00\00\n\00\00\00 \00A\00p\00r\00 ") (data (i32.const 5980) "\1c") - (data (i32.const 5992) "\01\00\00\00\n\00\00\00 \00M\00a\00y\00 ") + (data (i32.const 5992) "\02\00\00\00\n\00\00\00 \00M\00a\00y\00 ") (data (i32.const 6012) "\1c") - (data (i32.const 6024) "\01\00\00\00\n\00\00\00 \00J\00u\00n\00 ") + (data (i32.const 6024) "\02\00\00\00\n\00\00\00 \00J\00u\00n\00 ") (data (i32.const 6044) "\1c") - (data (i32.const 6056) "\01\00\00\00\n\00\00\00 \00J\00u\00l\00 ") + (data (i32.const 6056) "\02\00\00\00\n\00\00\00 \00J\00u\00l\00 ") (data (i32.const 6076) "\1c") - (data (i32.const 6088) "\01\00\00\00\n\00\00\00 \00A\00u\00g\00 ") + (data (i32.const 6088) "\02\00\00\00\n\00\00\00 \00A\00u\00g\00 ") (data (i32.const 6108) "\1c") - (data (i32.const 6120) "\01\00\00\00\n\00\00\00 \00S\00e\00p\00 ") + (data (i32.const 6120) "\02\00\00\00\n\00\00\00 \00S\00e\00p\00 ") (data (i32.const 6140) "\1c") - (data (i32.const 6152) "\01\00\00\00\n\00\00\00 \00O\00c\00t\00 ") + (data (i32.const 6152) "\02\00\00\00\n\00\00\00 \00O\00c\00t\00 ") (data (i32.const 6172) "\1c") - (data (i32.const 6184) "\01\00\00\00\n\00\00\00 \00N\00o\00v\00 ") + (data (i32.const 6184) "\02\00\00\00\n\00\00\00 \00N\00o\00v\00 ") (data (i32.const 6204) "\1c") - (data (i32.const 6216) "\01\00\00\00\n\00\00\00 \00D\00e\00c\00 ") + (data (i32.const 6216) "\02\00\00\00\n\00\00\00 \00D\00e\00c\00 ") (data (i32.const 6236) "L") - (data (i32.const 6248) "\04\00\00\000\00\00\00\f0\16\00\00\10\17\00\000\17\00\00P\17\00\00p\17\00\00\90\17\00\00\b0\17\00\00\d0\17\00\00\f0\17\00\00\10\18\00\000\18\00\00P\18") + (data (i32.const 6248) "\05\00\00\000\00\00\00\f0\16\00\00\10\17\00\000\17\00\00P\17\00\00p\17\00\00\90\17\00\00\b0\17\00\00\d0\17\00\00\f0\17\00\00\10\18\00\000\18\00\00P\18") (data (i32.const 6316) "\1c") - (data (i32.const 6328) "\01\00\00\00\08\00\00\00 \00G\00M\00T") - (data (i32.const 6348) "L\00\00\00\03\00\00\00\00\00\00\00\04\00\00\000") + (data (i32.const 6328) "\02\00\00\00\08\00\00\00 \00G\00M\00T") + (data (i32.const 6348) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\000") (data (i32.const 6388) "p\14\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\18") (data (i32.const 6428) "L") - (data (i32.const 6440) "\01\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") + (data (i32.const 6440) "\02\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") (data (i32.const 6508) "L") - (data (i32.const 6520) "\01\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T") + (data (i32.const 6520) "\02\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T") (data (i32.const 6588) "L") - (data (i32.const 6600) "\01\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") + (data (i32.const 6600) "\02\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") (data (i32.const 6668) ",") - (data (i32.const 6680) "\01\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002") + (data (i32.const 6680) "\02\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002") (data (i32.const 6716) ",") - (data (i32.const 6728) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 6728) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 6764) ",") - (data (i32.const 6776) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 6776) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 6812) "|") - (data (i32.const 6824) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 6824) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (data (i32.const 6940) ",") - (data (i32.const 6952) "\01\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002") + (data (i32.const 6952) "\02\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002") (data (i32.const 6988) ",") - (data (i32.const 7000) "\01\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004") + (data (i32.const 7000) "\02\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004") (data (i32.const 7036) "<") - (data (i32.const 7048) "\01\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006") + (data (i32.const 7048) "\02\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006") (data (i32.const 7100) "L") - (data (i32.const 7112) "\01\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006") + (data (i32.const 7112) "\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006") (data (i32.const 7180) "L") - (data (i32.const 7192) "\01\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z") + (data (i32.const 7192) "\02\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z") (data (i32.const 7260) "\1c") - (data (i32.const 7272) "\01\00\00\00\08\00\00\000\000\000\000") + (data (i32.const 7272) "\02\00\00\00\08\00\00\000\000\000\000") (data (i32.const 7292) "\1c") - (data (i32.const 7304) "\01\00\00\00\08\00\00\000\000\000\001") + (data (i32.const 7304) "\02\00\00\00\08\00\00\000\000\000\001") (data (i32.const 7324) "\1c") - (data (i32.const 7336) "\01\00\00\00\08\00\00\001\009\007\006") + (data (i32.const 7336) "\02\00\00\00\08\00\00\001\009\007\006") (data (i32.const 7356) ",") - (data (i32.const 7368) "\01\00\00\00\0e\00\00\001\009\007\006\00-\000\002") + (data (i32.const 7368) "\02\00\00\00\0e\00\00\001\009\007\006\00-\000\002") (data (i32.const 7404) "<") - (data (i32.const 7416) "\01\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004") + (data (i32.const 7416) "\02\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004") (data (i32.const 7468) "L") - (data (i32.const 7480) "\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 7480) "\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") (data (i32.const 7548) "L") - (data (i32.const 7560) "\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data (i32.const 7560) "\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") (data (i32.const 7628) "L") - (data (i32.const 7640) "\01\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data (i32.const 7640) "\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") (data (i32.const 7708) "L") - (data (i32.const 7720) "\01\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z") - (data (i32.const 7792) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t") + (data (i32.const 7720) "\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z") + (data (i32.const 7792) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/date/epochMillis (type $i32_i32_i32_i32_i32_i32_i32_=>_i64) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i64) @@ -446,7 +446,7 @@ if i32.const 0 i32.const 1264 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -479,7 +479,7 @@ if i32.const 0 i32.const 1264 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -499,14 +499,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 40592 + i32.const 40596 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1264 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -520,7 +520,7 @@ if i32.const 0 i32.const 1264 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -542,7 +542,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -1127,10 +1127,10 @@ if unreachable end - i32.const 40592 + i32.const 40608 i32.const 0 i32.store $0 - i32.const 42160 + i32.const 42176 i32.const 0 i32.store $0 loop $for-loop|0 @@ -1141,7 +1141,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 40592 + i32.const 40608 i32.add i32.const 0 i32.store $0 offset=4 @@ -1159,7 +1159,7 @@ i32.add i32.const 2 i32.shl - i32.const 40592 + i32.const 40608 i32.add i32.const 0 i32.store $0 offset=96 @@ -1177,13 +1177,13 @@ br $for-loop|0 end end - i32.const 40592 - i32.const 42164 + i32.const 40608 + i32.const 42180 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 40592 + i32.const 40608 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -1268,7 +1268,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 40592 + i32.const 40596 i32.lt_u if local.get $0 @@ -1362,13 +1362,13 @@ if i32.const 0 i32.const 1264 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 40592 + i32.const 40596 i32.lt_u if local.get $0 @@ -1391,7 +1391,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 40592 + i32.const 40596 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1591,7 +1591,7 @@ if i32.const 1200 i32.const 1264 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2185,7 +2185,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -2273,7 +2273,7 @@ i32.shl local.get $3 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -3029,11 +3029,14 @@ block $~lib/date/Date block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $folding-inner0 $invalid + end + return end return end @@ -3078,7 +3081,7 @@ i32.shl i32.add local.set $2 - loop $while-continue|01 + loop $while-continue|03 local.get $1 local.get $2 i32.lt_u @@ -3094,7 +3097,7 @@ i32.const 4 i32.add local.set $1 - br $while-continue|01 + br $while-continue|03 end end br $folding-inner0 @@ -3131,7 +3134,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3151,7 +3154,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3186,7 +3189,7 @@ end global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -3279,7 +3282,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3326,7 +3329,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3359,7 +3362,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -3566,7 +3569,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -3582,7 +3585,7 @@ i32.const 36 memory.fill $0 i32.const 28 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $2 i32.const 4640 @@ -3594,7 +3597,7 @@ global.get $~lib/memory/__stack_pointer local.set $1 i32.const 48 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.const 5072 @@ -3775,7 +3778,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -3904,7 +3907,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -3920,7 +3923,7 @@ i32.const 48 memory.fill $0 i32.const 28 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.const 5824 @@ -3932,7 +3935,7 @@ global.get $~lib/memory/__stack_pointer local.set $2 i32.const 48 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $4 i32.const 6256 @@ -4199,7 +4202,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -4297,7 +4300,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 offset=12 @@ -4358,7 +4361,7 @@ i32.const 1 i32.shl local.tee $9 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=24 @@ -4415,7 +4418,7 @@ i32.const 1 i32.shl local.tee $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=32 @@ -4475,7 +4478,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -4711,7 +4714,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -4918,7 +4921,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 40592 + i32.const 40596 i32.sub i32.const 1 i32.shr_u @@ -8004,7 +8007,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -8020,7 +8023,7 @@ i32.store $0 local.get $1 i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -8078,7 +8081,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -8175,7 +8178,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 offset=8 @@ -8281,7 +8284,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -8372,7 +8375,7 @@ end global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -8397,7 +8400,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -8416,12 +8419,12 @@ i32.const 2 i32.shl local.tee $1 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $2 local.get $3 @@ -8454,7 +8457,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 7828 i32.lt_s if i32.const 40624 @@ -8531,7 +8534,7 @@ if i32.const 0 i32.const 1264 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/hash.debug.wat b/tests/compiler/std/hash.debug.wat index 1c75bd6c61..f54c7c9b6b 100644 --- a/tests/compiler/std/hash.debug.wat +++ b/tests/compiler/std/hash.debug.wat @@ -12,16 +12,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33148)) (global $~lib/memory/__heap_base i32 (i32.const 33148)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f\00") - (data (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") + (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f\00") + (data (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/hash.release.wat b/tests/compiler/std/hash.release.wat index 46e0361ee9..28cddc6e67 100644 --- a/tests/compiler/std/hash.release.wat +++ b/tests/compiler/std/hash.release.wat @@ -6,25 +6,25 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34172)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1080) "\02\00\00\00\02\00\00\00a") (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 1112) "\02\00\00\00\04\00\00\00a\00b") (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\01\00\00\00\06\00\00\00a\00b\00c") + (data (i32.const 1144) "\02\00\00\00\06\00\00\00a\00b\00c") (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\01\00\00\00\08\00\00\00a\00b\00c\00d") + (data (i32.const 1176) "\02\00\00\00\08\00\00\00a\00b\00c\00d") (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\01\00\00\00\n\00\00\00a\00b\00c\00d\00e") + (data (i32.const 1208) "\02\00\00\00\n\00\00\00a\00b\00c\00d\00e") (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\01\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f") + (data (i32.const 1240) "\02\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f") (data (i32.const 1260) ",") - (data (i32.const 1272) "\01\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g") + (data (i32.const 1272) "\02\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g") (data (i32.const 1308) ",") - (data (i32.const 1320) "\01\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h") + (data (i32.const 1320) "\02\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h") (data (i32.const 1356) ",") - (data (i32.const 1368) "\01\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i") + (data (i32.const 1368) "\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i") (export "memory" (memory $0)) (start $~start) (func $~lib/util/hash/HASH<~lib/string/String|null> (type $i32_=>_none) (param $0 i32) diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index ed609ff682..7a19c79ab2 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -49,25 +49,25 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 736)) - (global $~lib/memory/__data_end i32 (i32.const 868)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33636)) - (global $~lib/memory/__heap_base i32 (i32.const 33636)) + (global $~lib/memory/__data_end i32 (i32.const 872)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33640)) + (global $~lib/memory/__heap_base i32 (i32.const 33640)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 736) " \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 736) "!\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -137,7 +137,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -207,7 +207,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -224,7 +224,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -275,7 +275,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -321,7 +321,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1586,7 +1586,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2180,7 +2180,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2239,7 +2239,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -15298,6 +15298,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -15306,6 +15309,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) local.get $this @@ -15322,6 +15328,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15339,6 +15348,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15356,6 +15368,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15376,6 +15391,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15396,6 +15414,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15416,6 +15437,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15433,6 +15457,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15453,6 +15480,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15473,6 +15503,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15490,6 +15523,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15510,6 +15546,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15530,6 +15569,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15547,6 +15589,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15567,6 +15612,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15587,6 +15635,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15604,6 +15655,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15624,6 +15678,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15644,6 +15701,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15661,6 +15721,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15681,6 +15744,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15701,6 +15767,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15718,6 +15787,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15738,6 +15810,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15758,6 +15833,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15775,6 +15853,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15795,6 +15876,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15815,6 +15899,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15832,6 +15919,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -15852,6 +15942,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -15890,11 +15983,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map $~lib/array/Array $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map $~lib/array/Array $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $invalid + end + return end return end @@ -16083,7 +16179,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16149,7 +16245,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16215,7 +16311,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16334,7 +16430,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16400,7 +16496,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16519,7 +16615,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16585,7 +16681,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16704,7 +16800,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16770,7 +16866,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -16942,7 +17038,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17008,7 +17104,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 19 + i32.const 20 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17127,7 +17223,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 20 + i32.const 21 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17193,7 +17289,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 22 + i32.const 23 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17312,7 +17408,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 23 + i32.const 24 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17378,7 +17474,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 25 + i32.const 26 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17497,7 +17593,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 26 + i32.const 27 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17563,7 +17659,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 28 + i32.const 29 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17682,7 +17778,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 29 + i32.const 30 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17748,7 +17844,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 31 + i32.const 32 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -17876,7 +17972,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -18031,7 +18127,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -18074,7 +18170,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -18203,7 +18299,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -18246,7 +18342,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -18735,7 +18831,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -18778,7 +18874,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -19229,7 +19325,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -19272,7 +19368,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -19723,7 +19819,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -19766,7 +19862,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -20381,7 +20477,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 18 + i32.const 19 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -20424,7 +20520,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -20875,7 +20971,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -20918,7 +21014,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -21369,7 +21465,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 24 + i32.const 25 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -21412,7 +21508,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -21863,7 +21959,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 27 + i32.const 28 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -21906,7 +22002,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -22357,7 +22453,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 30 + i32.const 31 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -22400,7 +22496,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index dcf1b2eadc..090e7219e2 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -27,31 +27,31 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34660)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34664)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1448) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1484) "<") - (data (i32.const 1496) "\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 1496) "\02\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 1548) ",") - (data (i32.const 1560) "\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s") (data (i32.const 1596) "<") - (data (i32.const 1608) "\01\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") + (data (i32.const 1608) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") (data (i32.const 1660) ",") - (data (i32.const 1672) "\01\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") + (data (i32.const 1672) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") (data (i32.const 1708) ",") - (data (i32.const 1720) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1760) " \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4") + (data (i32.const 1720) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1760) "!\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -85,7 +85,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -118,7 +118,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -138,14 +138,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34660 + i32.const 34664 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -159,7 +159,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -181,7 +181,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -907,7 +907,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34660 + i32.const 34664 i32.lt_u if local.get $0 @@ -1001,13 +1001,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34660 + i32.const 34664 i32.lt_u if local.get $0 @@ -1030,7 +1030,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34660 + i32.const 34664 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1230,7 +1230,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1537,7 +1537,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -1900,7 +1900,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -2202,7 +2202,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2215,7 +2215,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2224,7 +2224,7 @@ i64.store $0 local.get $2 i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -2705,7 +2705,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2723,7 +2723,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2732,7 +2732,7 @@ i64.store $0 local.get $2 i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -2767,7 +2767,7 @@ i32.le_u select local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -2859,7 +2859,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2868,7 +2868,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $13 i32.store $0 @@ -3121,7 +3121,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -3235,7 +3235,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -3979,7 +3979,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -4367,7 +4367,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -4380,7 +4380,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -4389,7 +4389,7 @@ i64.store $0 local.get $2 i32.const 24 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -4874,7 +4874,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -4892,7 +4892,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -4901,7 +4901,7 @@ i64.store $0 local.get $2 i32.const 16 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -4936,7 +4936,7 @@ i32.le_u select local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -5028,7 +5028,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -5037,7 +5037,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $13 i32.store $0 @@ -5288,7 +5288,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -5399,7 +5399,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -6147,7 +6147,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -6534,7 +6534,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -6547,7 +6547,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -6556,7 +6556,7 @@ i64.store $0 local.get $2 i32.const 24 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -7037,7 +7037,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -7055,7 +7055,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -7064,7 +7064,7 @@ i64.store $0 local.get $2 i32.const 16 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -7101,7 +7101,7 @@ i32.const 1 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -7195,7 +7195,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -7204,7 +7204,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $13 i32.store $0 @@ -7459,7 +7459,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -7573,7 +7573,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -8317,7 +8317,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -8705,7 +8705,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -8718,7 +8718,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -8727,7 +8727,7 @@ i64.store $0 local.get $2 i32.const 24 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -9212,7 +9212,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -9230,7 +9230,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -9239,7 +9239,7 @@ i64.store $0 local.get $2 i32.const 16 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -9276,7 +9276,7 @@ i32.const 1 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -9370,7 +9370,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -9379,7 +9379,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $13 i32.store $0 @@ -9632,7 +9632,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -9743,7 +9743,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -10699,7 +10699,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11127,7 +11127,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11917,7 +11917,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -12297,7 +12297,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12310,7 +12310,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12319,7 +12319,7 @@ i64.store $0 local.get $2 i32.const 24 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -12788,7 +12788,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12806,7 +12806,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12815,7 +12815,7 @@ i64.store $0 local.get $2 i32.const 16 - i32.const 18 + i32.const 19 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -12852,7 +12852,7 @@ i32.const 2 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -12946,7 +12946,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12955,7 +12955,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 19 + i32.const 20 call $~lib/rt/itcms/__new local.tee $13 i32.store $0 @@ -13204,7 +13204,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -13315,7 +13315,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -14044,7 +14044,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -14460,7 +14460,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -14473,7 +14473,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -14482,7 +14482,7 @@ i64.store $0 local.get $3 i32.const 24 - i32.const 20 + i32.const 21 call $~lib/rt/itcms/__new local.tee $10 i32.store $0 @@ -15004,7 +15004,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -15022,7 +15022,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -15031,7 +15031,7 @@ i64.store $0 local.get $6 i32.const 16 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $11 i32.store $0 @@ -15068,7 +15068,7 @@ i32.const 3 i32.shl local.tee $6 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=4 @@ -15162,7 +15162,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -15171,7 +15171,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 22 + i32.const 23 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -15443,7 +15443,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -15566,7 +15566,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -16369,7 +16369,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -16785,7 +16785,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -16798,7 +16798,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -16807,7 +16807,7 @@ i64.store $0 local.get $3 i32.const 24 - i32.const 23 + i32.const 24 call $~lib/rt/itcms/__new local.tee $10 i32.store $0 @@ -17329,7 +17329,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -17347,7 +17347,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -17356,7 +17356,7 @@ i64.store $0 local.get $6 i32.const 16 - i32.const 24 + i32.const 25 call $~lib/rt/itcms/__new local.tee $11 i32.store $0 @@ -17393,7 +17393,7 @@ i32.const 3 i32.shl local.tee $6 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=4 @@ -17487,7 +17487,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -17496,7 +17496,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 25 + i32.const 26 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -17768,7 +17768,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -17891,7 +17891,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -18694,7 +18694,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -19077,7 +19077,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -19090,7 +19090,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -19099,7 +19099,7 @@ i64.store $0 local.get $4 i32.const 24 - i32.const 26 + i32.const 27 call $~lib/rt/itcms/__new local.tee $9 i32.store $0 @@ -19577,7 +19577,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -19595,7 +19595,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -19604,7 +19604,7 @@ i64.store $0 local.get $8 i32.const 16 - i32.const 27 + i32.const 28 call $~lib/rt/itcms/__new local.tee $10 i32.store $0 @@ -19641,7 +19641,7 @@ i32.const 2 i32.shl local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $11 i32.store $0 offset=4 @@ -19733,7 +19733,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -19742,7 +19742,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 28 + i32.const 29 call $~lib/rt/itcms/__new local.tee $11 i32.store $0 @@ -19992,7 +19992,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -20104,7 +20104,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -20842,7 +20842,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -21267,7 +21267,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21280,7 +21280,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21289,7 +21289,7 @@ i64.store $0 local.get $4 i32.const 24 - i32.const 29 + i32.const 30 call $~lib/rt/itcms/__new local.tee $11 i32.store $0 @@ -21819,7 +21819,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21837,7 +21837,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21846,7 +21846,7 @@ i64.store $0 local.get $7 i32.const 16 - i32.const 30 + i32.const 31 call $~lib/rt/itcms/__new local.tee $12 i32.store $0 @@ -21883,7 +21883,7 @@ i32.const 3 i32.shl local.tee $7 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -21977,7 +21977,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21986,7 +21986,7 @@ i64.store $0 local.get $1 i32.const 24 - i32.const 31 + i32.const 32 call $~lib/rt/itcms/__new local.tee $13 i32.store $0 @@ -22262,7 +22262,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -22387,7 +22387,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23196,11 +23196,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $invalid + end + return end return end @@ -23245,7 +23248,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34660 + i32.const 34664 i32.sub i32.const 1 i32.shr_u @@ -23326,7 +23329,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23342,7 +23345,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -23401,7 +23404,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23468,7 +23471,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23534,7 +23537,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23560,7 +23563,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -23579,7 +23582,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23757,7 +23760,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23773,7 +23776,7 @@ i64.store $0 local.get $1 i32.const 16 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -23810,7 +23813,7 @@ i32.const 2 i32.shl local.tee $1 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 @@ -23849,7 +23852,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -23934,7 +23937,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -24109,7 +24112,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -24288,7 +24291,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -24466,7 +24469,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -24645,7 +24648,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -24820,7 +24823,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -25009,7 +25012,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -25094,7 +25097,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -25281,7 +25284,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -25458,7 +25461,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1892 + i32.const 1896 i32.lt_s if i32.const 34688 @@ -25663,7 +25666,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.debug.wat b/tests/compiler/std/math.debug.wat index 2951e37cc2..bb80ce340d 100644 --- a/tests/compiler/std/math.debug.wat +++ b/tests/compiler/std/math.debug.wat @@ -113,7 +113,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 46112)) (global $~lib/memory/__heap_base i32 (i32.const 46112)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00\00\00\00\00\00\00") (data (i32.const 64) "\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\r\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\r\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\r\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \r\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\r\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\r\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\r\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") (data (i32.const 2112) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\re\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") (data (i32.const 4160) "\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\r\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\r\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index 1c2fda3bf4..385c9ce001 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -73,7 +73,7 @@ (global $~lib/math/NativeMath.sincos_cos (mut f64) (f64.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") (data (i32.const 1088) "\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\r\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\r\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\r\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \r\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\r\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\r\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\r\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") (data (i32.const 3136) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\re\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") (data (i32.const 5184) "\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\r\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\r\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") diff --git a/tests/compiler/std/mod.debug.wat b/tests/compiler/std/mod.debug.wat index 865c813a78..cd3f566d3b 100644 --- a/tests/compiler/std/mod.debug.wat +++ b/tests/compiler/std/mod.debug.wat @@ -14,7 +14,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "mod" (func $std/mod/mod)) diff --git a/tests/compiler/std/mod.release.wat b/tests/compiler/std/mod.release.wat index fe18364e77..9978738272 100644 --- a/tests/compiler/std/mod.release.wat +++ b/tests/compiler/std/mod.release.wat @@ -8,7 +8,7 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s") (export "mod" (func $std/mod/mod)) (export "memory" (memory $0)) (start $~start) diff --git a/tests/compiler/std/new.debug.wat b/tests/compiler/std/new.debug.wat index 470a174c4a..4ce69cacf9 100644 --- a/tests/compiler/std/new.debug.wat +++ b/tests/compiler/std/new.debug.wat @@ -28,19 +28,19 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $std/new/aClass (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 436)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33204)) - (global $~lib/memory/__heap_base i32 (i32.const 33204)) + (global $~lib/memory/__data_end i32 (i32.const 440)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) + (global $~lib/memory/__heap_base i32 (i32.const 33208)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -124,7 +124,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -194,7 +194,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -211,7 +211,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -262,7 +262,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -308,7 +308,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1573,7 +1573,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2167,7 +2167,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2252,6 +2252,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2260,17 +2263,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $std/new/AClass block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/new/AClass $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/new/AClass $invalid + end + return end return end @@ -2316,7 +2325,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index e58d428566..ccb2c1fc30 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -18,19 +18,19 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $std/new/aClass (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34228)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -66,7 +66,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -756,7 +756,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34228 + i32.const 34232 i32.lt_u if local.get $0 @@ -850,13 +850,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34228 + i32.const 34232 i32.lt_u if local.get $0 @@ -879,7 +879,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34228 + i32.const 34232 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1185,7 +1185,7 @@ i32.store $0 end local.get $0 - i32.const 3 + i32.const 4 i32.store $0 offset=12 local.get $0 i32.const 8 @@ -1236,11 +1236,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/new/AClass $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/new/AClass $invalid + end + return end return end @@ -1264,7 +1267,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34228 + i32.const 34232 i32.sub i32.const 1 i32.shr_u @@ -1298,7 +1301,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1460 + i32.const 1464 i32.lt_s if i32.const 34256 @@ -1363,7 +1366,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1383,14 +1386,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34228 + i32.const 34232 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1404,7 +1407,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1426,7 +1429,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/std/object-errors.json b/tests/compiler/std/object-errors.json new file mode 100644 index 0000000000..43657ac8af --- /dev/null +++ b/tests/compiler/std/object-errors.json @@ -0,0 +1,11 @@ +{ + "stderr": [ + "TS2335: 'super' can only be referenced in a derived class.", + "super(); // TS2335", + "TS2339: Property 'is' does not exist on type 'std/object-errors/ImplicitWithSuper'.", + "ImplicitWithSuper.is(1, 1); // TS2339", + "TS2377: Constructors for derived classes must contain a 'super' call.", + "constructor() {} // TS2377", + "EOF" + ] +} diff --git a/tests/compiler/std/object-errors.ts b/tests/compiler/std/object-errors.ts new file mode 100644 index 0000000000..7a412ec880 --- /dev/null +++ b/tests/compiler/std/object-errors.ts @@ -0,0 +1,14 @@ +class ImplicitWithSuper { + constructor() { + super(); // TS2335: 'super' can only be referenced in a derived class. + } +} +new ImplicitWithSuper(); +ImplicitWithSuper.is(1, 1); // TS2339: Property 'is' does not exist on type 'std/object-errors/ImplicitWithSuper'. + +class ExplicitWithoutSuper extends Object { + constructor() {} // TS2377: Constructors for derived classes must contain a 'super' call. +} +new ExplicitWithoutSuper(); + +ERROR("EOF"); diff --git a/tests/compiler/std/object.debug.wat b/tests/compiler/std/object.debug.wat index 192963c37a..fe17988670 100644 --- a/tests/compiler/std/object.debug.wat +++ b/tests/compiler/std/object.debug.wat @@ -1,25 +1,29 @@ (module + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $f64_f64_=>_i32 (func_subtype (param f64 f64) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $f32_f32_=>_i32 (func_subtype (param f32 f32) (result i32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/memory/__data_end i32 (i32.const 188)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32956)) - (global $~lib/memory/__heap_base i32 (i32.const 32956)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) + (global $~lib/memory/__heap_base i32 (i32.const 316)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s\00\00\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s\00\00\00") + (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -260,32 +264,219 @@ local.get $y call $~lib/string/String.__eq ) - (func $~start (type $none_=>_none) - call $start:std/object + (func $~lib/rt/stub/maybeGrowMemory (type $i32_=>_none) (param $newOffset i32) + (local $pagesBefore i32) + (local $maxOffset i32) + (local $pagesNeeded i32) + (local $4 i32) + (local $5 i32) + (local $pagesWanted i32) + memory.size $0 + local.set $pagesBefore + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $maxOffset + local.get $newOffset + local.get $maxOffset + i32.gt_u + if + local.get $newOffset + local.get $maxOffset + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $4 + local.get $pagesNeeded + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow $0 + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow $0 + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $newOffset + global.set $~lib/rt/stub/offset ) - (func $~stack_check (type $none_=>_none) - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + (func $~lib/rt/common/BLOCK#set:mmInfo (type $i32_i32_=>_none) (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store $0 + ) + (func $~lib/rt/stub/__alloc (type $i32_=>_i32) (param $size i32) (result i32) + (local $block i32) + (local $ptr i32) + (local $size|3 i32) + (local $payloadSize i32) + local.get $size + i32.const 1073741820 + i32.gt_u if - i32.const 32976 - i32.const 33024 - i32.const 1 - i32.const 1 + i32.const 208 + i32.const 272 + i32.const 33 + i32.const 29 call $~lib/builtins/abort unreachable end + global.get $~lib/rt/stub/offset + local.set $block + global.get $~lib/rt/stub/offset + i32.const 4 + i32.add + local.set $ptr + local.get $size + local.set $size|3 + local.get $size|3 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + local.set $payloadSize + local.get $ptr + local.get $payloadSize + i32.add + call $~lib/rt/stub/maybeGrowMemory + local.get $block + local.get $payloadSize + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $ptr ) - (func $start:std/object (type $none_=>_none) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + (func $~lib/rt/common/OBJECT#set:gcInfo (type $i32_i32_=>_none) (param $this i32) (param $gcInfo i32) + local.get $this + local.get $gcInfo + i32.store $0 offset=4 + ) + (func $~lib/rt/common/OBJECT#set:gcInfo2 (type $i32_i32_=>_none) (param $this i32) (param $gcInfo2 i32) + local.get $this + local.get $gcInfo2 + i32.store $0 offset=8 + ) + (func $~lib/rt/common/OBJECT#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store $0 offset=12 + ) + (func $~lib/rt/common/OBJECT#set:rtSize (type $i32_i32_=>_none) (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store $0 offset=16 + ) + (func $~lib/rt/stub/__new (type $i32_i32_=>_i32) (param $size i32) (param $id i32) (result i32) + (local $ptr i32) + (local $object i32) + local.get $size + i32.const 1073741804 + i32.gt_u + if + i32.const 208 + i32.const 272 + i32.const 86 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + i32.const 16 + local.get $size + i32.add + call $~lib/rt/stub/__alloc + local.set $ptr + local.get $ptr + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.set $object + local.get $object + i32.const 0 + call $~lib/rt/common/OBJECT#set:gcInfo + local.get $object + i32.const 0 + call $~lib/rt/common/OBJECT#set:gcInfo2 + local.get $object + local.get $id + call $~lib/rt/common/OBJECT#set:rtId + local.get $object + local.get $size + call $~lib/rt/common/OBJECT#set:rtSize + local.get $ptr + i32.const 16 + i32.add + ) + (func $std/object/Implicit#constructor (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.eqz + if + i32.const 0 + i32.const 4 + call $~lib/rt/stub/__new + local.set $this + end + local.get $this + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.eqz + if + i32.const 0 + i32.const 0 + call $~lib/rt/stub/__new + local.set $this + end + local.get $this + ) + (func $std/object/Explicit#constructor (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.eqz + if + i32.const 0 + i32.const 5 + call $~lib/rt/stub/__new + local.set $this + end + local.get $this + call $~lib/object/Object#constructor + local.set $this + local.get $this + ) + (func $start:std/object (type $none_=>_none) + (local $implicit i32) + (local $explicit i32) + (local $object i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) f64.const 0 f64.const 0 call $~lib/object/Object.is @@ -815,17 +1006,7 @@ unreachable end i32.const 80 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 80 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/object/Object.is<~lib/string/String> i32.const 1 i32.eq @@ -839,17 +1020,7 @@ unreachable end i32.const 80 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/object/Object.is<~lib/string/String> i32.const 0 i32.eq @@ -863,17 +1034,7 @@ unreachable end i32.const 80 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/object/Object.is<~lib/string/String> i32.const 0 i32.eq @@ -901,11 +1062,6 @@ unreachable end i32.const 176 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 0 call $~lib/object/Object.is<~lib/string/String|null> i32.const 0 @@ -921,11 +1077,6 @@ end i32.const 0 i32.const 176 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/object/Object.is<~lib/string/String|null> i32.const 0 i32.eq @@ -938,9 +1089,127 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/memory/__heap_base + i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + i32.const 0 + call $std/object/Implicit#constructor + local.set $implicit + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + call $std/object/Explicit#constructor + local.set $explicit + i32.const 1 + drop + i32.const 1 + drop + local.get $explicit + local.set $object + local.get $object + local.tee $3 + i32.eqz + if (result i32) + i32.const 0 + else + local.get $3 + call $~instanceof|std/object/Explicit + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 74 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $implicit + local.tee $4 + i32.eqz + if (result i32) + i32.const 0 + else + local.get $4 + call $~instanceof|std/object/Implicit + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 76 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $explicit + local.tee $5 + i32.eqz + if (result i32) + i32.const 0 + else + local.get $5 + call $~instanceof|std/object/Explicit + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 77 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + ) + (func $~instanceof|std/object/Explicit (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + block $is_instance + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + local.set $1 + local.get $1 + i32.const 5 + i32.eq + br_if $is_instance + i32.const 0 + return + end + i32.const 1 + ) + (func $~instanceof|std/object/Implicit (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + block $is_instance + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + local.set $1 + local.get $1 + i32.const 4 + i32.eq + br_if $is_instance + i32.const 0 + return + end + i32.const 1 + ) + (func $~start (type $none_=>_none) + call $start:std/object ) ) diff --git a/tests/compiler/std/object.json b/tests/compiler/std/object.json index 1bdd02b1be..8e0a066281 100644 --- a/tests/compiler/std/object.json +++ b/tests/compiler/std/object.json @@ -1,4 +1,5 @@ { "asc_flags": [ + "--runtime", "stub" ] } diff --git a/tests/compiler/std/object.release.wat b/tests/compiler/std/object.release.wat index ee85fa255d..14dfb3170d 100644 --- a/tests/compiler/std/object.release.wat +++ b/tests/compiler/std/object.release.wat @@ -3,18 +3,21 @@ (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33980)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s") (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1096) "\02\00\00\00\02\00\00\00a") (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\01\00\00\00\02\00\00\00b") + (data (i32.const 1128) "\02\00\00\00\02\00\00\00b") (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 1160) "\02\00\00\00\04\00\00\00a\00b") (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\01") + (data (i32.const 1192) "\02") + (data (i32.const 1212) "<") + (data (i32.const 1224) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1276) "<") + (data (i32.const 1288) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) @@ -136,31 +139,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1212 - i32.lt_s - if - i32.const 34000 - i32.const 34048 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1104 - i32.store $0 - local.get $0 - i32.const 1104 - i32.store $0 offset=4 + (local $1 i32) i32.const 1104 i32.const 1104 call $~lib/string/String.__eq @@ -174,13 +153,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1104 - i32.store $0 - local.get $0 - i32.const 1136 - i32.store $0 offset=4 i32.const 1104 i32.const 1136 call $~lib/string/String.__eq @@ -192,13 +164,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1104 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 i32.const 1104 i32.const 1168 call $~lib/string/String.__eq @@ -223,9 +188,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1200 - i32.store $0 i32.const 1200 i32.const 0 call $~lib/string/String.__eq @@ -237,9 +199,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1200 - i32.store $0 offset=4 i32.const 0 i32.const 1200 call $~lib/string/String.__eq @@ -251,9 +210,147 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 + memory.size $0 + local.tee $1 + i32.const 16 + i32.shl + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 1372 + i32.lt_u + if + local.get $1 + i32.const 66907 + local.get $0 + i32.sub + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $0 + local.get $0 + local.get $1 + i32.lt_s + select + memory.grow $0 + i32.const 0 + i32.lt_s + if + local.get $0 + memory.grow $0 + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + i32.const 1340 + i32.const 28 + i32.store $0 + i32.const 1344 + i32.const 0 + i32.store $0 + i32.const 1348 + i32.const 0 + i32.store $0 + i32.const 1352 + i32.const 4 + i32.store $0 + i32.const 1356 + i32.const 0 + i32.store $0 + memory.size $0 + local.tee $1 + i32.const 16 + i32.shl + i32.const 15 i32.add - global.set $~lib/memory/__stack_pointer + i32.const -16 + i32.and + local.tee $0 + i32.const 1404 + i32.lt_u + if + local.get $1 + i32.const 66939 + local.get $0 + i32.sub + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $0 + local.get $0 + local.get $1 + i32.lt_s + select + memory.grow $0 + i32.const 0 + i32.lt_s + if + local.get $0 + memory.grow $0 + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + i32.const 1372 + i32.const 28 + i32.store $0 + i32.const 1376 + i32.const 0 + i32.store $0 + i32.const 1380 + i32.const 0 + i32.store $0 + i32.const 1384 + i32.const 5 + i32.store $0 + i32.const 1388 + i32.const 0 + i32.store $0 + i32.const 1384 + i32.load $0 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 74 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1352 + i32.load $0 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 76 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1384 + i32.load $0 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 77 + i32.const 3 + call $~lib/builtins/abort + unreachable + end ) ) diff --git a/tests/compiler/std/object.ts b/tests/compiler/std/object.ts index efcfe3a718..132267b293 100644 --- a/tests/compiler/std/object.ts +++ b/tests/compiler/std/object.ts @@ -48,3 +48,31 @@ assert(Object.is("a", "ab") == false); assert(Object.is(null, null) == true); assert(Object.is("", null) == false); assert(Object.is(null, "") == false); + +// Implicit and explicit inheritance + +class Implicit { + constructor() { + // no super() + } +} +class Explicit extends Object { + constructor() { + super(); + } +} +{ + let implicit = new Implicit(); + assert(implicit instanceof Object); + assert(!isDefined(Implicit.is)); // does not inherit static members + + let explicit = new Explicit(); + assert(explicit instanceof Object); + assert(isDefined(Explicit.is)); // does inherit static members + + let object: Object = explicit; + assert(object instanceof Explicit); // dynamic check + + assert((implicit) instanceof Implicit); + assert((explicit) instanceof Explicit); +} diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index c91cd45ebf..09c5c63d7d 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -94,22 +94,22 @@ (global $std/operator-overloading/aii (mut i32) (i32.const 0)) (global $std/operator-overloading/tea (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 560)) - (global $~lib/memory/__data_end i32 (i32.const 592)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33360)) - (global $~lib/memory/__heap_base i32 (i32.const 33360)) + (global $~lib/memory/__data_end i32 (i32.const 596)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33364)) + (global $~lib/memory/__heap_base i32 (i32.const 33364)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\07\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 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 560) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -179,7 +179,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -249,7 +249,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -266,7 +266,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -317,7 +317,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -363,7 +363,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1628,7 +1628,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2222,7 +2222,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3505,6 +3505,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3513,6 +3516,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $std/operator-overloading/TesterElementAccess @@ -3522,11 +3528,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid + end + return end return end @@ -5424,7 +5433,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5458,7 +5467,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5492,7 +5501,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -5526,7 +5535,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/std/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index e26eac8798..0b46f38c05 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -85,25 +85,25 @@ (global $std/operator-overloading/aii2 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii (mut i32) (i32.const 0)) (global $std/operator-overloading/tea (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34384)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34388)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "L") - (data (i32.const 1448) "\01\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") + (data (i32.const 1448) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") (data (i32.const 1516) "\1c") - (data (i32.const 1528) "\01\00\00\00\02\00\00\00x") + (data (i32.const 1528) "\02\00\00\00\02\00\00\00x") (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\01\00\00\00\02\00\00\00y") - (data (i32.const 1584) "\07\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 1560) "\02\00\00\00\02\00\00\00y") + (data (i32.const 1584) "\08\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 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -130,7 +130,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -679,10 +679,10 @@ if unreachable end - i32.const 34384 + i32.const 34400 i32.const 0 i32.store $0 - i32.const 35952 + i32.const 35968 i32.const 0 i32.store $0 loop $for-loop|0 @@ -693,7 +693,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34384 + i32.const 34400 i32.add i32.const 0 i32.store $0 offset=4 @@ -711,7 +711,7 @@ i32.add i32.const 2 i32.shl - i32.const 34384 + i32.const 34400 i32.add i32.const 0 i32.store $0 offset=96 @@ -729,13 +729,13 @@ br $for-loop|0 end end - i32.const 34384 - i32.const 35956 + i32.const 34400 + i32.const 35972 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34384 + i32.const 34400 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -820,7 +820,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34384 + i32.const 34388 i32.lt_u if local.get $0 @@ -914,13 +914,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34384 + i32.const 34388 i32.lt_u if local.get $0 @@ -943,7 +943,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34384 + i32.const 34388 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1966,11 +1966,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid + end + return end return end @@ -2005,7 +2008,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s if i32.const 34416 @@ -2045,7 +2048,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s if i32.const 34416 @@ -2087,7 +2090,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2097,7 +2100,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34384 + i32.const 34388 i32.sub i32.const 1 i32.shr_u @@ -3750,7 +3753,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3758,7 +3761,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3973,7 +3976,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s if i32.const 34416 @@ -3988,7 +3991,7 @@ i32.const 0 i32.store $0 local.get $2 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -4011,7 +4014,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s if i32.const 34416 @@ -4026,7 +4029,7 @@ i32.const 0 i32.store $0 local.get $2 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -4049,7 +4052,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1616 + i32.const 1620 i32.lt_s if i32.const 34416 @@ -4064,7 +4067,7 @@ i32.const 0 i32.store $0 local.get $2 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -4105,7 +4108,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -4125,14 +4128,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34384 + i32.const 34388 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -4146,7 +4149,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -4168,7 +4171,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/std/pointer.debug.wat b/tests/compiler/std/pointer.debug.wat index 7e6aa6827d..47e1867c31 100644 --- a/tests/compiler/std/pointer.debug.wat +++ b/tests/compiler/std/pointer.debug.wat @@ -14,7 +14,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/pointer.release.wat b/tests/compiler/std/pointer.release.wat index cc840229a8..270bdb08bd 100644 --- a/tests/compiler/std/pointer.release.wat +++ b/tests/compiler/std/pointer.release.wat @@ -9,7 +9,7 @@ (global $std/pointer/nextOne (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $start:std/pointer (type $none_=>_none) diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index 656cf49703..977e179853 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -46,23 +46,23 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 624)) - (global $~lib/memory/__data_end i32 (i32.const 720)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33488)) - (global $~lib/memory/__heap_base i32 (i32.const 33488)) + (global $~lib/memory/__data_end i32 (i32.const 724)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33492)) + (global $~lib/memory/__heap_base i32 (i32.const 33492)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 624) "\17\00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 624) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -132,7 +132,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -202,7 +202,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -219,7 +219,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -270,7 +270,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -316,7 +316,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1581,7 +1581,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2175,7 +2175,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2234,7 +2234,7 @@ if i32.const 0 i32.const 96 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -12027,6 +12027,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -12035,6 +12038,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) local.get $this @@ -12051,6 +12057,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12068,6 +12077,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12088,6 +12100,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12105,6 +12120,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12125,6 +12143,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12142,6 +12163,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12162,6 +12186,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12179,6 +12206,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12199,6 +12229,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12216,6 +12249,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12236,6 +12272,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12253,6 +12292,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12273,6 +12315,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12290,6 +12335,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12310,6 +12358,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12327,6 +12378,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12347,6 +12401,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12364,6 +12421,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12384,6 +12444,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/set/Set#__visit @@ -12401,6 +12464,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -12430,11 +12496,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $invalid + end + return end return end @@ -12578,7 +12647,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -12697,7 +12766,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -12816,7 +12885,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -12935,7 +13004,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13054,7 +13123,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13173,7 +13242,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13292,7 +13361,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13411,7 +13480,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13530,7 +13599,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 19 + i32.const 20 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13649,7 +13718,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13777,7 +13846,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -13812,7 +13881,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -13855,7 +13924,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -13984,7 +14053,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -14027,7 +14096,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -14156,7 +14225,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -14199,7 +14268,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -14328,7 +14397,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -14371,7 +14440,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -14500,7 +14569,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -14543,7 +14612,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -14672,7 +14741,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -14715,7 +14784,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -14844,7 +14913,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -14887,7 +14956,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -15016,7 +15085,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 18 + i32.const 19 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -15059,7 +15128,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -15188,7 +15257,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 20 + i32.const 21 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -15231,7 +15300,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -15360,7 +15429,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 22 + i32.const 23 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -15403,7 +15472,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index e9a0eabccf..313a935210 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -24,27 +24,27 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34512)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34516)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) ",") - (data (i32.const 1448) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1448) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1484) "<") - (data (i32.const 1496) "\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 1496) "\02\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 1548) ",") - (data (i32.const 1560) "\01\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s") (data (i32.const 1596) ",") - (data (i32.const 1608) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1648) "\17\00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a") + (data (i32.const 1608) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1648) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -76,7 +76,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -109,7 +109,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -129,14 +129,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -150,7 +150,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -172,7 +172,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -757,10 +757,10 @@ if unreachable end - i32.const 34512 + i32.const 34528 i32.const 0 i32.store $0 - i32.const 36080 + i32.const 36096 i32.const 0 i32.store $0 loop $for-loop|0 @@ -771,7 +771,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34512 + i32.const 34528 i32.add i32.const 0 i32.store $0 offset=4 @@ -789,7 +789,7 @@ i32.add i32.const 2 i32.shl - i32.const 34512 + i32.const 34528 i32.add i32.const 0 i32.store $0 offset=96 @@ -807,13 +807,13 @@ br $for-loop|0 end end - i32.const 34512 - i32.const 36084 + i32.const 34528 + i32.const 36100 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34512 + i32.const 34528 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -898,7 +898,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if local.get $0 @@ -992,13 +992,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if local.get $0 @@ -1021,7 +1021,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34512 + i32.const 34516 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1221,7 +1221,7 @@ if i32.const 1056 i32.const 1120 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1528,7 +1528,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -2078,7 +2078,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2469,7 +2469,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2487,7 +2487,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -2496,7 +2496,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -2531,7 +2531,7 @@ i32.le_u select local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -3222,7 +3222,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -3682,7 +3682,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -4077,7 +4077,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -4095,7 +4095,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -4104,7 +4104,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -4139,7 +4139,7 @@ i32.le_u select local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -4836,7 +4836,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -5297,7 +5297,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -5688,7 +5688,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -5706,7 +5706,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -5715,7 +5715,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -5752,7 +5752,7 @@ i32.const 1 i32.shl local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -6445,7 +6445,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -6907,7 +6907,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -7302,7 +7302,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -7320,7 +7320,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -7329,7 +7329,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -7366,7 +7366,7 @@ i32.const 1 i32.shl local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -8065,7 +8065,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -8519,7 +8519,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -8898,7 +8898,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -8916,7 +8916,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -8925,7 +8925,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -8962,7 +8962,7 @@ i32.const 2 i32.shl local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -9637,7 +9637,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -10091,7 +10091,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10470,7 +10470,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10488,7 +10488,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10497,7 +10497,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 14 + i32.const 15 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -10534,7 +10534,7 @@ i32.const 2 i32.shl local.tee $8 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -11210,7 +11210,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -11699,7 +11699,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12126,7 +12126,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12144,7 +12144,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12153,7 +12153,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 16 + i32.const 17 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 @@ -12190,7 +12190,7 @@ i32.const 3 i32.shl local.tee $9 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -12938,7 +12938,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -13427,7 +13427,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -13854,7 +13854,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -13872,7 +13872,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -13881,7 +13881,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 18 + i32.const 19 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 @@ -13918,7 +13918,7 @@ i32.const 3 i32.shl local.tee $9 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -14666,7 +14666,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -15123,7 +15123,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -15506,7 +15506,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -15524,7 +15524,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -15533,7 +15533,7 @@ i64.store $0 local.get $6 i32.const 16 - i32.const 20 + i32.const 21 call $~lib/rt/itcms/__new local.tee $10 i32.store $0 @@ -15570,7 +15570,7 @@ i32.const 2 i32.shl local.tee $6 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=4 @@ -16251,7 +16251,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -16749,7 +16749,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -17184,7 +17184,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -17202,7 +17202,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -17211,7 +17211,7 @@ i64.store $0 local.get $0 i32.const 16 - i32.const 22 + i32.const 23 call $~lib/rt/itcms/__new local.tee $9 i32.store $0 @@ -17248,7 +17248,7 @@ i32.const 3 i32.shl local.tee $10 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -18002,11 +18002,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $invalid + end + return end return end @@ -18051,7 +18054,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34512 + i32.const 34516 i32.sub i32.const 1 i32.shr_u @@ -18132,7 +18135,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18148,7 +18151,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18207,7 +18210,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18275,7 +18278,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18291,7 +18294,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18351,7 +18354,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18367,7 +18370,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18427,7 +18430,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18443,7 +18446,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18503,7 +18506,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18519,7 +18522,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18579,7 +18582,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18595,7 +18598,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18655,7 +18658,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18671,7 +18674,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18730,7 +18733,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18798,7 +18801,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18814,7 +18817,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 17 + i32.const 18 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18874,7 +18877,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18890,7 +18893,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 19 + i32.const 20 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -18950,7 +18953,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -18966,7 +18969,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 21 + i32.const 22 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -19024,7 +19027,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -19050,7 +19053,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -19085,7 +19088,7 @@ if i32.const 0 i32.const 1120 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/static-array.debug.wat b/tests/compiler/std/static-array.debug.wat index 35d729e06c..6b6cc43d4a 100644 --- a/tests/compiler/std/static-array.debug.wat +++ b/tests/compiler/std/static-array.debug.wat @@ -35,30 +35,30 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/rt/__rtti_base i32 (i32.const 928)) - (global $~lib/memory/__data_end i32 (i32.const 960)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33728)) - (global $~lib/memory/__heap_base i32 (i32.const 33728)) + (global $~lib/memory/__data_end i32 (i32.const 964)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33732)) + (global $~lib/memory/__heap_base i32 (i32.const 33732)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00p\00\00\00p\00\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\c0?\00\00 @\00\00\00\00") - (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00\d0\00\00\00\d0\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00 \01\00\00 \01\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00p\00\00\00p\00\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @\00\00\00\00") + (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00\d0\00\00\00\d0\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\10\00\00\00 \01\00\00 \01\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 752) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 780) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 832) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 928) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a\00\00") + (data (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 928) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -187,7 +187,7 @@ if i32.const 0 i32.const 672 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -257,7 +257,7 @@ if i32.const 0 i32.const 672 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -274,7 +274,7 @@ if i32.const 0 i32.const 672 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -321,7 +321,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -367,7 +367,7 @@ if (result i32) i32.const 0 i32.const 672 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1628,7 +1628,7 @@ if i32.const 0 i32.const 672 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2217,7 +2217,7 @@ if i32.const 608 i32.const 672 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2325,7 +2325,7 @@ if i32.const 0 i32.const 672 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -2838,6 +2838,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2846,6 +2849,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2859,6 +2865,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2876,6 +2885,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2893,6 +2905,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2910,6 +2925,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -2923,11 +2941,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid + end + return end return end diff --git a/tests/compiler/std/static-array.release.wat b/tests/compiler/std/static-array.release.wat index 60d7d893c9..cb1aa428ee 100644 --- a/tests/compiler/std/static-array.release.wat +++ b/tests/compiler/std/static-array.release.wat @@ -21,42 +21,42 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34752)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34756)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1052) "\08\00\00\00\01\00\00\00\02") + (data (i32.const 1048) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 1068) ",") - (data (i32.const 1080) "\03\00\00\00\10\00\00\00 \04\00\00 \04\00\00\08\00\00\00\02") + (data (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\08\00\00\00\02") (data (i32.const 1116) ",") - (data (i32.const 1132) "\10\00\00\00\03\00\00\00\00\00\00\00\04") + (data (i32.const 1128) "\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04") (data (i32.const 1164) ",") - (data (i32.const 1176) "\04\00\00\00\10\00\00\00p\04\00\00p\04\00\00\10\00\00\00\02") + (data (i32.const 1176) "\05\00\00\00\10\00\00\00p\04\00\00p\04\00\00\10\00\00\00\02") (data (i32.const 1212) "\1c") - (data (i32.const 1228) "\08\00\00\00\00\00\c0?\00\00 @") + (data (i32.const 1224) "\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @") (data (i32.const 1244) ",") - (data (i32.const 1256) "\05\00\00\00\10\00\00\00\d0\04\00\00\d0\04\00\00\08\00\00\00\02") + (data (i32.const 1256) "\06\00\00\00\10\00\00\00\d0\04\00\00\d0\04\00\00\08\00\00\00\02") (data (i32.const 1292) ",") - (data (i32.const 1308) "\10") + (data (i32.const 1304) "\01\00\00\00\10") (data (i32.const 1318) "\f4?\00\00\00\00\00\00\02@") (data (i32.const 1340) ",") - (data (i32.const 1352) "\06\00\00\00\10\00\00\00 \05\00\00 \05\00\00\10\00\00\00\02") + (data (i32.const 1352) "\07\00\00\00\10\00\00\00 \05\00\00 \05\00\00\10\00\00\00\02") (data (i32.const 1388) "<") - (data (i32.const 1400) "\01\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1400) "\02\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1564) ",") - (data (i32.const 1576) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1576) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1612) "<") - (data (i32.const 1624) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1624) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1676) "<") - (data (i32.const 1688) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1688) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1804) ",") - (data (i32.const 1816) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1816) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1884) "<") - (data (i32.const 1896) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1952) "\07\00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a") + (data (i32.const 1896) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1952) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a") (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#__get (type $i32_=>_i32) (param $0 i32) (result i32) @@ -117,7 +117,7 @@ if i32.const 0 i32.const 1696 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -150,7 +150,7 @@ if i32.const 0 i32.const 1696 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -170,14 +170,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34752 + i32.const 34756 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1696 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -191,7 +191,7 @@ if i32.const 0 i32.const 1696 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -213,7 +213,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -798,10 +798,10 @@ if unreachable end - i32.const 34752 + i32.const 34768 i32.const 0 i32.store $0 - i32.const 36320 + i32.const 36336 i32.const 0 i32.store $0 loop $for-loop|0 @@ -812,7 +812,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34752 + i32.const 34768 i32.add i32.const 0 i32.store $0 offset=4 @@ -830,7 +830,7 @@ i32.add i32.const 2 i32.shl - i32.const 34752 + i32.const 34768 i32.add i32.const 0 i32.store $0 offset=96 @@ -848,13 +848,13 @@ br $for-loop|0 end end - i32.const 34752 - i32.const 36324 + i32.const 34768 + i32.const 36340 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34752 + i32.const 34768 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -939,7 +939,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34752 + i32.const 34756 i32.lt_u if local.get $0 @@ -1033,13 +1033,13 @@ if i32.const 0 i32.const 1696 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34752 + i32.const 34756 i32.lt_u if local.get $0 @@ -1062,7 +1062,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34752 + i32.const 34756 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1327,7 +1327,7 @@ if i32.const 1632 i32.const 1696 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1648,7 +1648,7 @@ if i32.const 0 i32.const 1696 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -1766,11 +1766,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -1805,7 +1808,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1984 + i32.const 1988 i32.lt_s if i32.const 34784 @@ -1867,7 +1870,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34752 + i32.const 34756 i32.sub i32.const 1 i32.shr_u diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index 429e765b79..6790ea6137 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -40,78 +40,78 @@ (global $std/staticarray/maxVal (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/rt/__rtti_base i32 (i32.const 2704)) - (global $~lib/memory/__data_end i32 (i32.const 2772)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35540)) - (global $~lib/memory/__heap_base i32 (i32.const 35540)) + (global $~lib/memory/__data_end i32 (i32.const 2776)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35544)) + (global $~lib/memory/__heap_base i32 (i32.const 35544)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00n\00t\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00b\00i\00s\00o\00n\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00c\00a\00m\00e\00l\00\00\00") - (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00d\00u\00c\00k\00\00\00\00\00") - (data (i32.const 1036) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1132) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1308) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00f\00o\00o\00\00\00\00\00\00\00") - (data (i32.const 1372) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00P\05\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1452) "\1c\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") - (data (i32.const 1484) "\1c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 1516) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t\00\00\00") - (data (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1596) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00F\00i\00r\00e\00\00\00\00\00") - (data (i32.const 1628) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00i\00r\00\00\00\00\00\00\00") - (data (i32.const 1660) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00W\00a\00t\00e\00r\00\00\00") - (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\0c\00\00\00P\06\00\00p\06\00\00\90\06\00\00") - (data (i32.const 1724) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1756) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1788) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r\00") - (data (i32.const 1836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r\00\00\00\00\00") - (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r\00") - (data (i32.const 1964) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00 \00+\00 \00\00\00\00\00\00\00") - (data (i32.const 1996) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r\00\00\00\00\00\00\00\00\00") - (data (i32.const 2060) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2124) ",\00\00\00\00\00\00\00\00\00\00\00\03\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\00\00\00\00\00\00\00\00") - (data (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2704) "\10\00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19\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 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00n\00t\00\00\00\00\00\00\00") + (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00b\00i\00s\00o\00n\00\00\00") + (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00c\00a\00m\00e\00l\00\00\00") + (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00d\00u\00c\00k\00\00\00\00\00") + (data (i32.const 1036) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1132) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1308) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\00o\00o\00\00\00\00\00\00\00") + (data (i32.const 1372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00P\05\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1452) "\1c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") + (data (i32.const 1484) "\1c\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 1516) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t\00\00\00") + (data (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00i\00r\00e\00\00\00\00\00") + (data (i32.const 1628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00i\00r\00\00\00\00\00\00\00") + (data (i32.const 1660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00W\00a\00t\00e\00r\00\00\00") + (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\0c\00\00\00P\06\00\00p\06\00\00\90\06\00\00") + (data (i32.const 1724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1788) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r\00") + (data (i32.const 1836) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r\00\00\00\00\00") + (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r\00") + (data (i32.const 1964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00+\00 \00\00\00\00\00\00\00") + (data (i32.const 1996) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r\00\00\00\00\00\00\00\00\00") + (data (i32.const 2060) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2092) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 2124) ",\00\00\00\00\00\00\00\00\00\00\00\04\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\00\00\00\00\00\00\00\00") + (data (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2704) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 15 15 funcref) (elem $0 (i32.const 1) $start:std/staticarray~anonymous|0 $start:std/staticarray~anonymous|1 $start:std/staticarray~anonymous|2 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|4 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|7 $start:std/staticarray~anonymous|8 $start:std/staticarray~anonymous|9 $start:std/staticarray~anonymous|10 $start:std/staticarray~anonymous|11 $start:std/staticarray~anonymous|12 $~lib/util/sort/COMPARATOR~anonymous|0) (export "memory" (memory $0)) @@ -251,7 +251,7 @@ if i32.const 0 i32.const 384 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -321,7 +321,7 @@ if i32.const 0 i32.const 384 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -338,7 +338,7 @@ if i32.const 0 i32.const 384 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -389,7 +389,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -435,7 +435,7 @@ if (result i32) i32.const 0 i32.const 384 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1700,7 +1700,7 @@ if i32.const 0 i32.const 384 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2294,7 +2294,7 @@ if i32.const 320 i32.const 384 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2355,7 +2355,7 @@ (func $std/staticarray/test (type $none_=>_i32) (result i32) (local $0 i32) i32.const 12 - i32.const 3 + i32.const 4 i32.const 288 call $~lib/rt/__newBuffer ) @@ -2375,7 +2375,7 @@ if i32.const 0 i32.const 384 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -5003,6 +5003,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -5011,6 +5014,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/staticarray/StaticArray#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) @@ -5052,6 +5058,9 @@ end ) (func $~lib/staticarray/StaticArray~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/staticarray/StaticArray#__visit @@ -5069,6 +5078,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -5114,6 +5126,9 @@ end ) (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__visit @@ -5168,6 +5183,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -5183,6 +5201,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit @@ -5198,6 +5219,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#__visit @@ -5213,6 +5237,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#__visit @@ -5228,6 +5255,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit @@ -5243,6 +5273,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit @@ -5265,11 +5298,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $invalid + end + return end return end @@ -5609,7 +5645,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtId - i32.const 3 + i32.const 4 i32.eq i32.eqz if @@ -5830,7 +5866,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 6 i32.const 0 call $~lib/rt/__newBuffer local.tee $2 @@ -5904,7 +5940,7 @@ global.get $~lib/memory/__stack_pointer i32.const 6 i32.const 2 - i32.const 6 + i32.const 7 i32.const 704 call $~lib/rt/__newArray local.tee $8 @@ -5964,7 +6000,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 6 + i32.const 7 i32.const 800 call $~lib/rt/__newArray local.set $55 @@ -5990,7 +6026,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 3 + i32.const 4 i32.const 832 call $~lib/rt/__newBuffer local.tee $15 @@ -5998,7 +6034,7 @@ global.get $~lib/memory/__stack_pointer local.get $15 i32.const 4 - i32.const 3 + i32.const 4 i32.const 864 call $~lib/rt/__newBuffer local.set $55 @@ -6025,7 +6061,7 @@ global.get $~lib/memory/__stack_pointer local.get $15 i32.const 0 - i32.const 3 + i32.const 4 i32.const 896 call $~lib/rt/__newBuffer local.set $55 @@ -6052,7 +6088,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 7 + i32.const 8 i32.const 1104 call $~lib/rt/__newBuffer local.tee $20 @@ -6363,7 +6399,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 7 + i32.const 8 i32.const 1280 call $~lib/rt/__newBuffer local.tee $25 @@ -6372,7 +6408,7 @@ local.get $25 i32.const 0 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1328 call $~lib/rt/__newArray local.set $55 @@ -6403,7 +6439,7 @@ local.get $25 i32.const 1 i32.const 2 - i32.const 8 + i32.const 9 i32.const 1392 call $~lib/rt/__newArray local.set $55 @@ -6434,7 +6470,7 @@ drop global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 7 + i32.const 8 i32.const 1424 call $~lib/rt/__newBuffer local.tee $32 @@ -6520,7 +6556,7 @@ unreachable end i32.const 8 - i32.const 9 + i32.const 10 i32.const 1472 call $~lib/rt/__newBuffer local.set $55 @@ -6543,7 +6579,7 @@ unreachable end i32.const 4 - i32.const 10 + i32.const 11 i32.const 1504 call $~lib/rt/__newBuffer local.set $55 @@ -6567,7 +6603,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 i32.const 1536 call $~lib/rt/__newBuffer local.tee $36 @@ -6649,7 +6685,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 3 + i32.const 4 i32.const 1568 call $~lib/rt/__newBuffer local.tee $38 @@ -6750,7 +6786,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 i32.const 1712 call $~lib/rt/__newBuffer local.tee $40 @@ -6903,7 +6939,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 3 + i32.const 4 i32.const 2080 call $~lib/rt/__newBuffer local.tee $42 @@ -6944,7 +6980,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 i32.const 2112 call $~lib/rt/__newBuffer local.tee $44 @@ -6996,7 +7032,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 20 - i32.const 3 + i32.const 4 i32.const 2144 call $~lib/rt/__newBuffer local.tee $46 @@ -7079,7 +7115,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 i32.const 2192 call $~lib/rt/__newBuffer local.tee $48 @@ -7401,7 +7437,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 3 + i32.const 4 i32.const 2640 call $~lib/rt/__newBuffer local.tee $54 @@ -7476,6 +7512,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $std/staticarray/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -7491,11 +7555,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -7535,7 +7604,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7570,7 +7639,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -7625,7 +7694,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7697,7 +7766,7 @@ local.get $outLen i32.const 2 i32.shl - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7837,7 +7906,7 @@ drop global.get $~lib/memory/__stack_pointer local.get $size - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7995,7 +8064,7 @@ global.get $~lib/memory/__stack_pointer local.get $outLen i32.const 2 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -8200,7 +8269,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 offset=8 @@ -8323,7 +8392,7 @@ global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 - i32.const 6 + i32.const 7 i32.const 0 call $~lib/rt/__newArray local.tee $out @@ -8396,7 +8465,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 6 + i32.const 7 i32.const 0 call $~lib/rt/__newArray local.tee $result diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index 471a336529..cfa8e4e5ea 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -26,136 +26,138 @@ (global $std/staticarray/arr4 (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $std/staticarray/maxVal (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36564)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36568)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 1048) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1080) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1208) "\02\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1260) "\1c") - (data (i32.const 1272) "\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 1272) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 1292) "\1c") - (data (i32.const 1304) "\03\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07") + (data (i32.const 1304) "\04\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1336) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1388) "<") - (data (i32.const 1400) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1400) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1596) "<") - (data (i32.const 1608) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1660) ",") - (data (i32.const 1672) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1672) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1708) ",") - (data (i32.const 1724) "\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data (i32.const 1720) "\01\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") (data (i32.const 1756) ",") - (data (i32.const 1768) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1768) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1804) "\1c") + (data (i32.const 1816) "\01") (data (i32.const 1836) "\1c") - (data (i32.const 1848) "\03\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 1848) "\04\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 1868) "\1c") - (data (i32.const 1880) "\03\00\00\00\04\00\00\00\01") + (data (i32.const 1880) "\04\00\00\00\04\00\00\00\01") (data (i32.const 1900) "\1c") - (data (i32.const 1912) "\03") + (data (i32.const 1912) "\04") (data (i32.const 1932) "\1c") - (data (i32.const 1944) "\01\00\00\00\06\00\00\00a\00n\00t") + (data (i32.const 1944) "\02\00\00\00\06\00\00\00a\00n\00t") (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\01\00\00\00\n\00\00\00b\00i\00s\00o\00n") + (data (i32.const 1976) "\02\00\00\00\n\00\00\00b\00i\00s\00o\00n") (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\01\00\00\00\n\00\00\00c\00a\00m\00e\00l") + (data (i32.const 2008) "\02\00\00\00\n\00\00\00c\00a\00m\00e\00l") (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\01\00\00\00\08\00\00\00d\00u\00c\00k") + (data (i32.const 2040) "\02\00\00\00\08\00\00\00d\00u\00c\00k") (data (i32.const 2060) ",") - (data (i32.const 2072) "\01\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t") + (data (i32.const 2072) "\02\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t") (data (i32.const 2108) ",") - (data (i32.const 2120) "\07\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") + (data (i32.const 2120) "\08\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") (data (i32.const 2156) "|") - (data (i32.const 2168) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 2168) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (data (i32.const 2284) ",") - (data (i32.const 2296) "\07\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") + (data (i32.const 2296) "\08\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") (data (i32.const 2332) "\1c") + (data (i32.const 2344) "\01") (data (i32.const 2364) "\1c") - (data (i32.const 2376) "\01\00\00\00\06\00\00\00f\00o\00o") + (data (i32.const 2376) "\02\00\00\00\06\00\00\00f\00o\00o") (data (i32.const 2396) "\1c") - (data (i32.const 2412) "\04\00\00\00P\t") + (data (i32.const 2408) "\01\00\00\00\04\00\00\00P\t") (data (i32.const 2428) ",") - (data (i32.const 2440) "\07\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") + (data (i32.const 2440) "\08\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") (data (i32.const 2476) "\1c") - (data (i32.const 2488) "\t\00\00\00\08") + (data (i32.const 2488) "\n\00\00\00\08") (data (i32.const 2502) "\f8\7f") (data (i32.const 2508) "\1c") - (data (i32.const 2520) "\n\00\00\00\04\00\00\00\00\00\c0\7f") + (data (i32.const 2520) "\0b\00\00\00\04\00\00\00\00\00\c0\7f") (data (i32.const 2540) "\1c") - (data (i32.const 2552) "\03\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t") + (data (i32.const 2552) "\04\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t") (data (i32.const 2572) ",") - (data (i32.const 2584) "\03\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") + (data (i32.const 2584) "\04\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") (data (i32.const 2620) "\1c") - (data (i32.const 2632) "\01\00\00\00\08\00\00\00F\00i\00r\00e") + (data (i32.const 2632) "\02\00\00\00\08\00\00\00F\00i\00r\00e") (data (i32.const 2652) "\1c") - (data (i32.const 2664) "\01\00\00\00\06\00\00\00A\00i\00r") + (data (i32.const 2664) "\02\00\00\00\06\00\00\00A\00i\00r") (data (i32.const 2684) "\1c") - (data (i32.const 2696) "\01\00\00\00\n\00\00\00W\00a\00t\00e\00r") + (data (i32.const 2696) "\02\00\00\00\n\00\00\00W\00a\00t\00e\00r") (data (i32.const 2716) "\1c") - (data (i32.const 2728) "\07\00\00\00\0c\00\00\00P\n\00\00p\n\00\00\90\n") + (data (i32.const 2728) "\08\00\00\00\0c\00\00\00P\n\00\00p\n\00\00\90\n") (data (i32.const 2748) "\1c") - (data (i32.const 2760) "\01") + (data (i32.const 2760) "\02") (data (i32.const 2780) "\1c") - (data (i32.const 2792) "\01\00\00\00\02\00\00\00,") + (data (i32.const 2792) "\02\00\00\00\02\00\00\00,") (data (i32.const 2812) ",") - (data (i32.const 2824) "\01\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r") + (data (i32.const 2824) "\02\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r") (data (i32.const 2860) ",") - (data (i32.const 2872) "\01\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r") + (data (i32.const 2872) "\02\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r") (data (i32.const 2908) "\1c") - (data (i32.const 2920) "\01\00\00\00\02\00\00\00-") + (data (i32.const 2920) "\02\00\00\00\02\00\00\00-") (data (i32.const 2940) ",") - (data (i32.const 2952) "\01\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r") + (data (i32.const 2952) "\02\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r") (data (i32.const 2988) "\1c") - (data (i32.const 3000) "\01\00\00\00\06\00\00\00 \00+\00 ") + (data (i32.const 3000) "\02\00\00\00\06\00\00\00 \00+\00 ") (data (i32.const 3020) "<") - (data (i32.const 3032) "\01\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r") + (data (i32.const 3032) "\02\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r") (data (i32.const 3084) "\1c") - (data (i32.const 3096) "\03\00\00\00\08") + (data (i32.const 3096) "\04\00\00\00\08") (data (i32.const 3116) "\1c") - (data (i32.const 3128) "\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 3128) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 3148) ",") - (data (i32.const 3160) "\03\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 3160) "\04\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 3196) "\1c") - (data (i32.const 3208) "\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 3208) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 3228) "\1c") - (data (i32.const 3240) "\0b\00\00\00\08\00\00\00\01") + (data (i32.const 3240) "\0c\00\00\00\08\00\00\00\01") (data (i32.const 3260) "\1c") - (data (i32.const 3272) "\0c\00\00\00\08\00\00\00\02") + (data (i32.const 3272) "\r\00\00\00\08\00\00\00\02") (data (i32.const 3292) "\1c") - (data (i32.const 3304) "\r\00\00\00\08\00\00\00\03") + (data (i32.const 3304) "\0e\00\00\00\08\00\00\00\03") (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\0e\00\00\00\08\00\00\00\04") + (data (i32.const 3336) "\0f\00\00\00\08\00\00\00\04") (data (i32.const 3356) "\1c") - (data (i32.const 3368) "\0e\00\00\00\08\00\00\00\05") + (data (i32.const 3368) "\0f\00\00\00\08\00\00\00\05") (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\r\00\00\00\08\00\00\00\06") + (data (i32.const 3400) "\0e\00\00\00\08\00\00\00\06") (data (i32.const 3420) "\1c") - (data (i32.const 3432) "\r\00\00\00\08\00\00\00\07") + (data (i32.const 3432) "\0e\00\00\00\08\00\00\00\07") (data (i32.const 3452) "\1c") - (data (i32.const 3464) "\r\00\00\00\08\00\00\00\08") + (data (i32.const 3464) "\0e\00\00\00\08\00\00\00\08") (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\r\00\00\00\08\00\00\00\t") + (data (i32.const 3496) "\0e\00\00\00\08\00\00\00\t") (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\r\00\00\00\08\00\00\00\n") + (data (i32.const 3528) "\0e\00\00\00\08\00\00\00\n") (data (i32.const 3548) "\1c") - (data (i32.const 3560) "\r\00\00\00\08\00\00\00\0b") + (data (i32.const 3560) "\0e\00\00\00\08\00\00\00\0b") (data (i32.const 3580) "\1c") - (data (i32.const 3592) "\r\00\00\00\08\00\00\00\0c") + (data (i32.const 3592) "\0e\00\00\00\08\00\00\00\0c") (data (i32.const 3612) "\1c") - (data (i32.const 3624) "\r\00\00\00\08\00\00\00\r") + (data (i32.const 3624) "\0e\00\00\00\08\00\00\00\r") (data (i32.const 3644) ",") - (data (i32.const 3656) "\03\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 3656) "\04\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\0f\00\00\00\08\00\00\00\0e") - (data (i32.const 3728) "\10\00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19") + (data (i32.const 3704) "\10\00\00\00\08\00\00\00\0e") + (data (i32.const 3728) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19") (table $0 15 15 funcref) (elem $0 (i32.const 1) $start:std/staticarray~anonymous|0 $start:std/staticarray~anonymous|1 $start:std/staticarray~anonymous|2 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|7 $start:std/staticarray~anonymous|8 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $~lib/util/sort/COMPARATOR~anonymous|0) (export "memory" (memory $0)) @@ -252,7 +254,7 @@ if i32.const 0 i32.const 1408 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -285,7 +287,7 @@ if i32.const 0 i32.const 1408 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -305,14 +307,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 36564 + i32.const 36568 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1408 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -326,7 +328,7 @@ if i32.const 0 i32.const 1408 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -348,7 +350,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -996,7 +998,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.const 36564 + i32.const 36568 i32.lt_u if return @@ -1126,7 +1128,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 36564 + i32.const 36568 i32.lt_u if local.get $0 @@ -1220,13 +1222,13 @@ if i32.const 0 i32.const 1408 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 36564 + i32.const 36568 i32.lt_u if local.get $0 @@ -1593,7 +1595,7 @@ if i32.const 1344 i32.const 1408 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1862,7 +1864,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -2821,7 +2823,7 @@ local.get $1 i32.sub ) - (func $~lib/staticarray/StaticArray#__visit (type $i32_=>_none) (param $0 i32) + (func $~lib/staticarray/StaticArray~visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2867,11 +2869,14 @@ block $~lib/staticarray/StaticArray block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $folding-inner1 $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $folding-inner1 $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -2882,11 +2887,11 @@ return end local.get $0 - call $~lib/staticarray/StaticArray#__visit + call $~lib/staticarray/StaticArray~visit return end local.get $0 - call $~lib/staticarray/StaticArray#__visit + call $~lib/staticarray/StaticArray~visit return end local.get $0 @@ -2966,7 +2971,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3031,7 +3036,7 @@ end i32.const 1048 i32.load $0 - i32.const 3 + i32.const 4 i32.ne if i32.const 0 @@ -3099,7 +3104,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 36564 + i32.const 36568 i32.sub i32.const 1 i32.shr_u @@ -3129,7 +3134,7 @@ i32.const 1568 global.set $~lib/rt/itcms/fromSpace i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.const 1312 @@ -3233,7 +3238,7 @@ unreachable end i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.const 1312 @@ -3260,7 +3265,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 offset=4 @@ -3284,7 +3289,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3293,7 +3298,7 @@ i32.store $0 local.get $6 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -3350,7 +3355,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 6 - i32.const 6 + i32.const 7 i32.const 1728 call $~lib/rt/__newArray local.tee $0 @@ -3410,7 +3415,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 0 - i32.const 6 + i32.const 7 i32.const 1824 call $~lib/rt/__newArray local.set $1 @@ -3439,7 +3444,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.const 1856 @@ -3451,7 +3456,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.const 1888 @@ -3485,7 +3490,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.const 1920 @@ -3524,7 +3529,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 20 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $6 i32.const 2128 @@ -3870,7 +3875,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 20 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $1 i32.const 2304 @@ -3882,7 +3887,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 0 - i32.const 8 + i32.const 9 i32.const 2352 call $~lib/rt/__newArray local.set $6 @@ -3915,7 +3920,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 1 - i32.const 8 + i32.const 9 i32.const 2416 call $~lib/rt/__newArray local.set $6 @@ -3950,7 +3955,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 20 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $1 i32.const 2448 @@ -4025,7 +4030,7 @@ end block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) i32.const 8 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.const 2496 @@ -4087,7 +4092,7 @@ end block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) i32.const 4 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.const 2528 @@ -4150,7 +4155,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.const 2560 @@ -4432,7 +4437,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.const 2592 @@ -4787,7 +4792,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $1 i32.const 2736 @@ -4941,7 +4946,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -4983,7 +4988,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.const 3104 @@ -5051,7 +5056,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.const 3136 @@ -5155,7 +5160,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 20 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.const 3168 @@ -5262,7 +5267,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $8 i32.const 3216 @@ -5280,7 +5285,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -5295,7 +5300,7 @@ i32.const 2 i32.shr_u local.tee $1 - i32.const 6 + i32.const 7 i32.const 0 call $~lib/rt/__newArray local.tee $6 @@ -5442,7 +5447,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -5451,7 +5456,7 @@ i32.store $0 local.get $0 i32.const 0 - i32.const 6 + i32.const 7 i32.const 0 call $~lib/rt/__newArray local.tee $7 @@ -6202,7 +6207,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 16 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $2 i32.const 3664 @@ -6220,7 +6225,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -6303,7 +6308,7 @@ call $~lib/builtins/abort unreachable end - i32.const 36564 + i32.const 36568 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -6353,36 +6358,68 @@ ) (func $std/staticarray/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3796 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/rt/__newArray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -6393,7 +6430,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -6411,7 +6448,7 @@ i32.const 2 i32.shl local.tee $4 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.set $3 local.get $2 @@ -6460,7 +6497,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -6480,7 +6517,7 @@ i32.const 2 i32.shl local.tee $2 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -6504,7 +6541,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -6547,7 +6584,7 @@ local.get $4 i32.const 2 i32.shl - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -6580,7 +6617,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -6662,7 +6699,7 @@ i32.const 2 i32.shl local.tee $0 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -6706,7 +6743,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -6772,7 +6809,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -6813,7 +6850,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 8 + i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $2 @@ -6909,7 +6946,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3796 + i32.const 3800 i32.lt_s if i32.const 36592 @@ -7008,7 +7045,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=8 @@ -7132,7 +7169,7 @@ if i32.const 0 i32.const 1408 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/string-casemapping.debug.wat b/tests/compiler/std/string-casemapping.debug.wat index 7a26312400..0b2524832a 100644 --- a/tests/compiler/std/string-casemapping.debug.wat +++ b/tests/compiler/std/string-casemapping.debug.wat @@ -36,189 +36,189 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/rt/__rtti_base i32 (i32.const 20032)) - (global $~lib/memory/__data_end i32 (i32.const 20052)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 52820)) - (global $~lib/memory/__heap_base i32 (i32.const 52820)) + (global $~lib/memory/__data_end i32 (i32.const 20056)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 52824)) + (global $~lib/memory/__heap_base i32 (i32.const 52824)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "L\03\00\00\00\00\00\00\00\00\00\00\03\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "L\03\00\00\00\00\00\00\00\00\00\00\04\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 1292) "\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") (data (i32.const 1420) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\r\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++\01\00TVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\r\rN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\r1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0cl\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\r\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00N1P1P1P1P1P1P1P\r\00\00\00\00\00$P1P1P1P1P\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03x8+++++++++++++O-++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00++++++++\07\00HVVVVVVVV\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++++UVVVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$+++++++++++\07\00VVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++UVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 4088) "\00\08\00\00V\01\00\009\00\00\00") (data (i32.const 4100) "\00\00\00\00\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") (data (i32.const 5060) "\00\06\'Qow\00\00\00\00\00\00\00\00\00\00|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa\00\00\00\00\00\00\00\00\00\00\b4\c4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c6\c9\00\00\00\db\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4\00\00\00\00\00\00\00\00\00\00\00\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ea\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ed\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 5572) "0\0c1\rx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") - (data (i32.const 5980) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5980) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 6060) "\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") (data (i32.const 6188) "\12\10\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\10\10\"\10\10\10#$%&\'()\10*+\10\10\10\10\10\10\10\10\10\10\10,-.\10/\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\100\10\10\101\10234567\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\108\10\109:\10;<=\10\10\10\10\10\10>\10\10?@ABCDEFGHIJKL\10MNO\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10P\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10QR\10\10\10S\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10T\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10UV\10\10\10\10\10\10\10W\10\10\10\10\10XYZ\10\10\10\10\10[\\\10\10\10\10\10\10\10\10\10]\10\10\10\10\10\10\10\10\10\10\10\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\80@\00\04\00\00\00@\01\00\00\00\00\00\00\00\00\a1\90\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff0\04\b0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\03\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\82\00\00\00\00\00\00\fe\ff\ff\ff\ff\bf\b6\00\00\00\00\00\10\00?\00\ff\17\00\00\00\00\01\f8\ff\ff\00\00\01\00\00\00\00\00\00\00\00\00\00\00\c0\bf\ff=\00\00\00\80\02\00\00\00\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\f8?$\00\00\c0\ff\ff?\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\14\fe!\fe\00\0c\00\02\00\02\00\00\00\00\00\00\10\1e \00\00\0c\00\00@\06\00\00\00\00\00\00\10\869\02\00\00\00#\00\06\00\00\00\00\00\00\10\be!\00\00\0c\00\00\fc\02\00\00\00\00\00\00\90\1e `\00\0c\00\00\00\04\00\00\00\00\00\00\00\01 \00\00\00\00\00\00\11\00\00\00\00\00\00\c0\c1=`\00\0c\00\00\00\02\00\00\00\00\00\00\90@0\00\00\0c\00\00\00\03\00\00\00\00\00\00\18\1e \00\00\0c\00\00\00\02\00\00\00\00\00\00\00\00\04\\\00\00\00\00\00\00\00\00\00\00\00\f2\07\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\f2\1f@?\00\00\00\00\00\00\00\00\00\03\00\00\a0\02\00\00\00\00\00\00\fe\7f\df\e0\ff\fe\ff\ff\ff\1f@\00\00\00\00\00\00\00\00\00\00\00\00\e0\fdf\00\00\00\c3\01\00\1e\00d \00 \00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\1c\00\00\00\0c\00\00\00\0c\00\00\00\00\00\00\00\b0?@\fe\8f \00\00\00\00\00x\00\00\00\00\00\00\08\00\00\00\00\00\00\00`\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\87\01\04\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\t\00\00\00\00\00\00@\7f\e5\1f\f8\9f\00\00\00\00\80\00\ff\ff\01\00\00\00\00\00\00\00\0f\00\00\00\00\00\d0\17\04\00\00\00\00\f8\0f\00\03\00\00\00<;\00\00\00\00\00\00@\a3\03\00\00\00\00\00\00\f0\cf\00\00\00\00\00\00\00\00?\00\00\00\00\00\00\00\00\00\00\f7\ff\fd!\10\03\00\00\00\00\00\f0\ff\ff\ff\ff\ff\ff\ff\07\00\01\00\00\00\f8\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fb\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\a0\03\e0\00\e0\00\e0\00`\00\f8\00\03\90|\00\00\00\00\00\00\df\ff\02\80\00\00\ff\1f\00\00\00\00\00\00\ff\ff\ff\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\80\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\80\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\00\00\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00<>\08\00\00\00\00\00\00\00\00\00\00\00~\00\00\00\00\00\00\00\00\00\00\00p\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00?\00\10\00\00\00\00\00\00\00\00\00\00\00\80\f7\bf\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\03\00\ff\ff\ff\ff\03\00\00\00\00\00\00\00\00\00\01\00\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00\03D\08\00\00`\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\00\00\00\ff\ff\03\80\00\00\00\00\c0?\00\00\80\ff\03\00\00\00\00\00\07\00\00\00\00\00\c83\00\80\00\00`\00\00\00\00\00\00\00\00~f\00\08\10\00\00\00\00\01\10\00\00\00\00\00\00\9d\c1\02\00\00 \000X\00\00\00\00\00\00\00\00\00\00\00\00\f8\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00 !\00\00\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fc\ff\03\00\00\00\00\00\00\00\ff\ff\08\00\ff\ff\00\00\00\00$\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\80@\00\04\00\00\00@\01\00\00\00\00\00\01\00\00\00\00\c0\00\00\00\00\00\00\00\00\08\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00n\f0\00\00\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00`\00\00\00\00\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\ff\7f\00\00\00\00\00\00\80\03\00\00\00\00\00x&\00 \00\00\00\00\00\00\07\00\00\00\80\ef\1f\00\00\00\00\00\00\00\08\00\03\00\00\00\00\00\c0\7f\00\9e\00\00\00\00\00\00\00\00\00\00\00\80\d3@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\f8\07\00\00\03\00\00\00\00\00\00\18\01\00\00\00\c0\1f\1f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\\\00\00@\00\00\00\00\00\00\00\00\00\00\f8\85\r\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00<\b0\01\00\000\00\00\00\00\00\00\00\00\00\00\f8\a7\01\00\00\00\00\00\00\00\00\00\00\00\00(\bf\00\00\00\00\00\00\00\00\00\00\00\00\e0\bc\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\ff\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00X\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\0c\01\00\00\00\fe\07\00\00\00\00\f8y\80\00~\0e\00\00\00\00\00\fc\7f\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\7f\bf\00\00\00\00\00\00\00\00\00\00\fc\ff\ff\fcm\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00~\b4\bf\00\00\00\00\00\00\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\00\00\00\00\7f\00\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\80\ff\ff\00\00\00\00\00\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00`\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\03\f8\ff\e7\0f\00\00\00<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\7f\f8\ff\ff\ff\ff\ff\1f \00\10\00\00\f8\fe\ff\00\00\00\00\00\00\00\00\00\00\7f\ff\ff\f9\db\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8") (data (i32.const 9196) "\12\13\14\15\16\17\10\10\10\10\10\10\10\10\10\10\18\10\10\19\10\10\10\10\10\10\10\10\1a\1b\11\1c\1d\1e\10\10\1f\10\10\10\10\10\10\10 !\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\"#\10\10\10$\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10%\10\10\10&\10\10\10\10\'\10\10\10\10\10\10\10(\10\10\10\10\10\10\10\10\10\10\10)\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10*\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10+,-.\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10/\10\10\10\10\10\10\100\10\10\10\10\10\10\10\10\10\10\10\10\10\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\04 \04\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\f7\f0\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ef\ff\ff\ff\ff\01\03\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\cf\bc@\d7\ff\ff\fb\ff\ff\ff\ff\ff\ff\ff\ff\ff\bf\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\03\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fe\ff\ff\ff\7f\00\ff\ff\ff\ff\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\bf \ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff??\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\01\ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\ff\ff??\ff\ff\ff\ff??\ff\aa\ff\ff\ff?\ff\ff\ff\ff\ff\ff\df_\dc\1f\cf\0f\ff\1f\dc\1f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\80\00\00\ff\1f\00\00\00\00\00\00\00\00\00\00\00\00\84\fc/>P\bd\1f\f2\e0C\00\00\ff\ff\ff\ff\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\ff\ff\ff\ff\ff\ff\03\00\00\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\1fx\0c\00\ff\ff\ff\ff\bf \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff?\00\00\ff\ff\ff?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ffx\ff\ff\ff\ff\ff\ff\fc\07\00\00\00\00`\07\00\00\00\00\00\00\ff\ff\ff\ff\ff\f7\ff\01\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\7f\00\f8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\0f\ff\ff\ff\ff\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\07\00\ff\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\df\ff\ff\ff\ff\ff\ff\ff\ff\dfd\de\ff\eb\ef\ff\ff\ff\ff\ff\ff\ff\bf\e7\df\df\ff\ff\ff{_\fc\fd\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff?\ff\ff\ff\fd\ff\ff\f7\ff\ff\ff\f7\ff\ff\df\ff\ff\ff\df\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\fd\ff\ff\ff\fd\ff\ff\f7\0f\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\03\ff\ff\ff\03\ff\ff\ff\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10764) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n\00\00\00\00\00\00\00") - (data (i32.const 10812) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n\00\00\00\00\00\00\00") - (data (i32.const 10860) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") - (data (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") - (data (i32.const 10956) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") - (data (i32.const 11052) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E\00\00\00") - (data (i32.const 11148) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") - (data (i32.const 11244) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") - (data (i32.const 11308) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!\00\00\00\00\00\00\00\00\00") - (data (i32.const 11372) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") - (data (i32.const 11436) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 11532) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 11628) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 11724) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\00\00\00\00") - (data (i32.const 11820) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N\00\00\00\00\00") - (data (i32.const 11916) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n\00\00\00\00\00") - (data (i32.const 12012) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12092) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12172) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12252) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,\00\00\00\00\00\00\00\00\00") - (data (i32.const 12332) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") - (data (i32.const 12396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") - (data (i32.const 12460) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12540) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.\00\00\00\00\00\00\00\00\00") - (data (i32.const 12620) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12700) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12780) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03\00\00\00\00") - (data (i32.const 12844) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03\00\00") - (data (i32.const 12908) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12988) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00") - (data (i32.const 13068) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!\00\00\00\00\00\00\00") - (data (i32.const 13148) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!\00\00\00") - (data (i32.const 13228) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13388) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13548) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00S\00S\00\00\00\00\00\00\00\00\00") - (data (i32.const 13772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13804) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00i\00\07\03\00\00\00\00\00\00\00\00") - (data (i32.const 13836) "\cc\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14044) "\cc\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00s\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 14284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00f\00i\00\00\00\00\00\00\00\00\00") - (data (i32.const 14348) "\cc\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc\00\00\00\00") - (data (i32.const 14556) ",\00\00\00\00\00\00\00\00\00\00\00\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 14604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\d8\00\dc\00\00\00\00\00\00\00\00") - (data (i32.const 14636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\88\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\80\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\8f\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\87\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fc\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\f3\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\a3\03\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\c3\03\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00 \00\a3\03\00\00\00\00\00\00\00\00") - (data (i32.const 14924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00 \00\c3\03\00\00\00\00\00\00\00\00") - (data (i32.const 14956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\a3\03 \00\00\00\00\00\00\00\00\00") - (data (i32.const 14988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\c3\03 \00\00\00\00\00\00\00\00\00") - (data (i32.const 15020) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00 \00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15052) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00 \00\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15084) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15116) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\c2\03 \00\00\00\00\00\00\00") - (data (i32.const 15148) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\a3\03\n\00\00\00\00\00\00\00") - (data (i32.const 15180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\c2\03\n\00\00\00\00\00\00\00") - (data (i32.const 15212) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00\a3\03\00\00\00\00\00\00\00\00") - (data (i32.const 15244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00\c2\03\00\00\00\00\00\00\00\00") - (data (i32.const 15276) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\a3\03b\00\00\00\00\00\00\00") - (data (i32.const 15308) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\c3\03b\00\00\00\00\00\00\00") - (data (i32.const 15340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\a3\03\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\c3\03\c2\03 \00\00\00\00\00\00\00") - (data (i32.const 15404) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15436) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00;\00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15500) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00;\00\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\03\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\03\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15596) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 \00\00\00") - (data (i32.const 15628) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 \00\00\00") - (data (i32.const 15660) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\a3\03\a3\03-\00\00\00\00\00\00\00") - (data (i32.const 15692) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\c3\03\c2\03-\00\00\00\00\00\00\00") - (data (i32.const 15724) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-\00\00\00") - (data (i32.const 15756) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-\00\00\00") - (data (i32.const 15788) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s\00\00") - (data (i32.const 15820) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s\00\00") - (data (i32.const 15852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\005\d8\a2\dc\a3\03\00\00\00\00\00\00") - (data (i32.const 15884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\005\d8\a2\dc\c2\03\00\00\00\00\00\00") - (data (i32.const 15916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00.\00\a3\03\00\00\00\00\00\00") - (data (i32.const 15948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00.\00\c2\03\00\00\00\00\00\00") - (data (i32.const 15980) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00\ad\00\a3\03\00\00\00\00\00\00") - (data (i32.const 16012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\ad\00\c2\03\00\00\00\00\00\00") - (data (i32.const 16044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\004\d8B\de\a3\03\00\00\00\00") - (data (i32.const 16076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\004\d8B\de\c2\03\00\00\00\00") - (data (i32.const 16108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00E\03\a3\03\00\00\00\00\00\00\00\00") - (data (i32.const 16140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00E\03\c3\03\00\00\00\00\00\00\00\00") - (data (i32.const 16172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\91\03E\03\a3\03\00\00\00\00\00\00") - (data (i32.const 16204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\b1\03E\03\c2\03\00\00\00\00\00\00") - (data (i32.const 16236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00\a3\03B\00\00\00\00\00\00\00") - (data (i32.const 16268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc\00\00\00\00") - (data (i32.const 16300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc\00\00\00\00") - (data (i32.const 16332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\a3\03.\00b\00\00\00\00\00") - (data (i32.const 16364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\c3\03.\00b\00\00\00\00\00") - (data (i32.const 16396) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\a3\03\ad\00B\00\00\00\00\00") - (data (i32.const 16428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\c3\03\ad\00b\00\00\00\00\00") - (data (i32.const 16460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00A\00\a3\034\d8B\deB\00\00\00") - (data (i32.const 16492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00\c3\034\d8B\deb\00\00\00") - (data (i32.const 16524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00\a3\03E\03\00\00\00\00\00\00") - (data (i32.const 16556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\c2\03E\03\00\00\00\00\00\00") - (data (i32.const 16588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\a3\03E\03\91\03\00\00\00\00") - (data (i32.const 16620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03\00\00\00\00") - (data (i32.const 16652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00\0e\18\a3\03\00\00\00\00\00\00") - (data (i32.const 16684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\0e\18\c2\03\00\00\00\00\00\00") - (data (i32.const 16716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\0e\18\a3\03B\00\00\00\00\00") - (data (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\0e\18\c3\03b\00\00\00\00\00") - (data (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00\a3\03\0e\18\00\00\00\00\00\00") - (data (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00\c2\03\0e\18\00\00\00\00\00\00") - (data (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\a3\03\0e\18B\00\00\00\00\00") - (data (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\c3\03\0e\18b\00\00\00\00\00") - (data (i32.const 16908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18\00\00\00\00") - (data (i32.const 16940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18\00\00\00\00") - (data (i32.const 16972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B\00\00\00") - (data (i32.const 17004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b\00\00\00") - (data (i32.const 17036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\00\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00F\00F\00\00\00\00\00\00\00\00\00") - (data (i32.const 17100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00F\00I\00\00\00\00\00\00\00\00\00") - (data (i32.const 17132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\02\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00F\00L\00\00\00\00\00\00\00\00\00") - (data (i32.const 17196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00F\00F\00I\00\00\00\00\00\00\00") - (data (i32.const 17260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\04\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00F\00F\00L\00\00\00\00\00\00\00") - (data (i32.const 17324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00S\00T\00\00\00\00\00\00\00\00\00") - (data (i32.const 17388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\06\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\f0\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00J\00\0c\03\00\00\00\00\00\00\00\00") - (data (i32.const 17484) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\96\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17516) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00H\001\03\00\00\00\00\00\00\00\00") - (data (i32.const 17548) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\97\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17580) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00T\00\08\03\00\00\00\00\00\00\00\00") - (data (i32.const 17612) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\98\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00W\00\n\03\00\00\00\00\00\00\00\00") - (data (i32.const 17676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\99\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00Y\00\n\03\00\00\00\00\00\00\00\00") - (data (i32.const 17740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\9a\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00A\00\be\02\00\00\00\00\00\00\00\00") - (data (i32.const 17804) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17900) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17964) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 18092) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 18156) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n\00\00\00\00\00\00\00") + (data (i32.const 10812) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n\00\00\00\00\00\00\00") + (data (i32.const 10860) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") + (data (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") + (data (i32.const 10956) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") + (data (i32.const 11052) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E\00\00\00") + (data (i32.const 11148) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") + (data (i32.const 11244) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") + (data (i32.const 11308) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!\00\00\00\00\00\00\00\00\00") + (data (i32.const 11372) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") + (data (i32.const 11436) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 11532) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 11628) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 11724) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\00\00\00\00") + (data (i32.const 11820) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N\00\00\00\00\00") + (data (i32.const 11916) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n\00\00\00\00\00") + (data (i32.const 12012) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12092) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12172) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12252) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,\00\00\00\00\00\00\00\00\00") + (data (i32.const 12332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") + (data (i32.const 12396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") + (data (i32.const 12460) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12540) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.\00\00\00\00\00\00\00\00\00") + (data (i32.const 12620) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12700) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12780) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03\00\00\00\00") + (data (i32.const 12844) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03\00\00") + (data (i32.const 12908) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12988) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00") + (data (i32.const 13068) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!\00\00\00\00\00\00\00") + (data (i32.const 13148) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!\00\00\00") + (data (i32.const 13228) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13388) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13548) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00S\00S\00\00\00\00\00\00\00\00\00") + (data (i32.const 13772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\01\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00i\00\07\03\00\00\00\00\00\00\00\00") + (data (i32.const 13836) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14044) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00s\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 14284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\01\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00f\00i\00\00\00\00\00\00\00\00\00") + (data (i32.const 14348) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc\00\00\00\00") + (data (i32.const 14556) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 14604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\00\dc\00\00\00\00\00\00\00\00") + (data (i32.const 14636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\88\1f\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\80\1f\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\8f\1f\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\87\1f\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\fc\1f\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\f3\1f\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\a3\03\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\c3\03\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00\a3\03\00\00\00\00\00\00\00\00") + (data (i32.const 14924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00\c3\03\00\00\00\00\00\00\00\00") + (data (i32.const 14956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\a3\03 \00\00\00\00\00\00\00\00\00") + (data (i32.const 14988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\c3\03 \00\00\00\00\00\00\00\00\00") + (data (i32.const 15020) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\a3\03 \00\00\00\00\00\00\00") + (data (i32.const 15052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\c3\03 \00\00\00\00\00\00\00") + (data (i32.const 15084) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03 \00\00\00\00\00\00\00") + (data (i32.const 15116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03 \00\00\00\00\00\00\00") + (data (i32.const 15148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03\n\00\00\00\00\00\00\00") + (data (i32.const 15180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03\n\00\00\00\00\00\00\00") + (data (i32.const 15212) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00\a3\03\00\00\00\00\00\00\00\00") + (data (i32.const 15244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00\c2\03\00\00\00\00\00\00\00\00") + (data (i32.const 15276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03b\00\00\00\00\00\00\00") + (data (i32.const 15308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c3\03b\00\00\00\00\00\00\00") + (data (i32.const 15340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\a3\03\a3\03 \00\00\00\00\00\00\00") + (data (i32.const 15372) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\c3\03\c2\03 \00\00\00\00\00\00\00") + (data (i32.const 15404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00\a3\03 \00\00\00\00\00\00\00") + (data (i32.const 15436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00\c3\03 \00\00\00\00\00\00\00") + (data (i32.const 15468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00;\00\a3\03 \00\00\00\00\00\00\00") + (data (i32.const 15500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00;\00\c3\03 \00\00\00\00\00\00\00") + (data (i32.const 15532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\01\03\a3\03 \00\00\00\00\00\00\00") + (data (i32.const 15564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\01\03\c3\03 \00\00\00\00\00\00\00") + (data (i32.const 15596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 \00\00\00") + (data (i32.const 15628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 \00\00\00") + (data (i32.const 15660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\a3\03\a3\03-\00\00\00\00\00\00\00") + (data (i32.const 15692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\c3\03\c2\03-\00\00\00\00\00\00\00") + (data (i32.const 15724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-\00\00\00") + (data (i32.const 15756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-\00\00\00") + (data (i32.const 15788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s\00\00") + (data (i32.const 15820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s\00\00") + (data (i32.const 15852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\d8\a2\dc\a3\03\00\00\00\00\00\00") + (data (i32.const 15884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\d8\a2\dc\c2\03\00\00\00\00\00\00") + (data (i32.const 15916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00.\00\a3\03\00\00\00\00\00\00") + (data (i32.const 15948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00.\00\c2\03\00\00\00\00\00\00") + (data (i32.const 15980) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\ad\00\a3\03\00\00\00\00\00\00") + (data (i32.const 16012) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\ad\00\c2\03\00\00\00\00\00\00") + (data (i32.const 16044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\004\d8B\de\a3\03\00\00\00\00") + (data (i32.const 16076) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\004\d8B\de\c2\03\00\00\00\00") + (data (i32.const 16108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\03\a3\03\00\00\00\00\00\00\00\00") + (data (i32.const 16140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\03\c3\03\00\00\00\00\00\00\00\00") + (data (i32.const 16172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\91\03E\03\a3\03\00\00\00\00\00\00") + (data (i32.const 16204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\b1\03E\03\c2\03\00\00\00\00\00\00") + (data (i32.const 16236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03B\00\00\00\00\00\00\00") + (data (i32.const 16268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc\00\00\00\00") + (data (i32.const 16300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc\00\00\00\00") + (data (i32.const 16332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03.\00b\00\00\00\00\00") + (data (i32.const 16364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03.\00b\00\00\00\00\00") + (data (i32.const 16396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03\ad\00B\00\00\00\00\00") + (data (i32.const 16428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03\ad\00b\00\00\00\00\00") + (data (i32.const 16460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00A\00\a3\034\d8B\deB\00\00\00") + (data (i32.const 16492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00\c3\034\d8B\deb\00\00\00") + (data (i32.const 16524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03E\03\00\00\00\00\00\00") + (data (i32.const 16556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03E\03\00\00\00\00\00\00") + (data (i32.const 16588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03E\03\91\03\00\00\00\00") + (data (i32.const 16620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03\00\00\00\00") + (data (i32.const 16652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\0e\18\a3\03\00\00\00\00\00\00") + (data (i32.const 16684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\0e\18\c2\03\00\00\00\00\00\00") + (data (i32.const 16716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\0e\18\a3\03B\00\00\00\00\00") + (data (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\0e\18\c3\03b\00\00\00\00\00") + (data (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03\0e\18\00\00\00\00\00\00") + (data (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03\0e\18\00\00\00\00\00\00") + (data (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03\0e\18B\00\00\00\00\00") + (data (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03\0e\18b\00\00\00\00\00") + (data (i32.const 16908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18\00\00\00\00") + (data (i32.const 16940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18\00\00\00\00") + (data (i32.const 16972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B\00\00\00") + (data (i32.const 17004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b\00\00\00") + (data (i32.const 17036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00F\00\00\00\00\00\00\00\00\00") + (data (i32.const 17100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00I\00\00\00\00\00\00\00\00\00") + (data (i32.const 17132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\02\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00L\00\00\00\00\00\00\00\00\00") + (data (i32.const 17196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\03\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00F\00F\00I\00\00\00\00\00\00\00") + (data (i32.const 17260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\04\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00F\00F\00L\00\00\00\00\00\00\00") + (data (i32.const 17324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\05\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00S\00T\00\00\00\00\00\00\00\00\00") + (data (i32.const 17388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\06\fb\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\f0\01\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00J\00\0c\03\00\00\00\00\00\00\00\00") + (data (i32.const 17484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\96\1e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00H\001\03\00\00\00\00\00\00\00\00") + (data (i32.const 17548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\97\1e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00T\00\08\03\00\00\00\00\00\00\00\00") + (data (i32.const 17612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\98\1e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00W\00\n\03\00\00\00\00\00\00\00\00") + (data (i32.const 17676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\99\1e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00Y\00\n\03\00\00\00\00\00\00\00\00") + (data (i32.const 17740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\9a\1e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00A\00\be\02\00\00\00\00\00\00\00\00") + (data (i32.const 17804) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17964) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 18092) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 18156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 18188) "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\00") - (data (i32.const 18588) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19644) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 19740) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") - (data (i32.const 19804) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19900) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19964) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") - (data (i32.const 20032) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4\00\00\00") + (data (i32.const 18588) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19644) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 19740) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") + (data (i32.const 19804) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19964) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") + (data (i32.const 20032) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -300,7 +300,7 @@ if i32.const 0 i32.const 128 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -370,7 +370,7 @@ if i32.const 0 i32.const 128 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -387,7 +387,7 @@ if i32.const 0 i32.const 128 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -438,7 +438,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -484,7 +484,7 @@ if (result i32) i32.const 0 i32.const 128 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1749,7 +1749,7 @@ if i32.const 0 i32.const 128 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2343,7 +2343,7 @@ if i32.const 64 i32.const 128 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3508,6 +3508,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3516,17 +3519,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/staticarray/StaticArray block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $invalid + end + return end return end @@ -3613,7 +3622,7 @@ i32.mul i32.const 2 i32.mul - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $codes i32.store $0 @@ -6672,7 +6681,7 @@ i32.mul i32.const 2 i32.mul - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $codes i32.store $0 @@ -7222,7 +7231,7 @@ i32.const 2 local.get $hasSur i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7370,7 +7379,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7400,7 +7409,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7442,7 +7451,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7473,7 +7482,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -7543,7 +7552,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index 47b2da51d2..b1021bfdcc 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -23,22 +23,22 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 53844)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 53848)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1080) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1468) "L\03") - (data (i32.const 1480) "\03\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05") + (data (i32.const 1480) "\04\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05") (data (i32.const 2317) "\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") (data (i32.const 2444) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\r\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06") (data (i32.const 3067) "$++++++++\01\00TVVVVVVVV") @@ -70,7 +70,7 @@ (data (i32.const 6573) "\ed") (data (i32.const 6596) "0\0c1\rx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") (data (i32.const 7004) "L") - (data (i32.const 7016) "\01\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s") + (data (i32.const 7016) "\02\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s") (data (i32.const 7085) "\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") (data (i32.const 7212) "\12\10\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\10\10\"\10\10\10#$%&\'()\10*+\10\10\10\10\10\10\10\10\10\10\10,-.\10/\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\100\10\10\101\10234567\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\108\10\109:\10;<=\10\10\10\10\10\10>\10\10?@ABCDEFGHIJKL\10MNO\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10P\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10QR\10\10\10S\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10T\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10UV\10\10\10\10\10\10\10W\10\10\10\10\10XYZ\10\10\10\10\10[\\\10\10\10\10\10\10\10\10\10]\10\10\10\10\10\10\10\10\10\10\10\10") (data (i32.const 7756) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\80@\00\04\00\00\00@\01\00\00\00\00\00\00\00\00\a1\90\01") @@ -164,321 +164,321 @@ (data (i32.const 11596) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\df\ff\ff\ff\ff\ff\ff\ff\ff\dfd\de\ff\eb\ef\ff\ff\ff\ff\ff\ff\ff\bf\e7\df\df\ff\ff\ff{_\fc\fd\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff?\ff\ff\ff\fd\ff\ff\f7\ff\ff\ff\f7\ff\ff\df\ff\ff\ff\df\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\fd\ff\ff\ff\fd\ff\ff\f7\0f\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\0f") (data (i32.const 11762) "\ff\ff\ff\03\ff\ff\ff\03\ff\ff\ff\03") (data (i32.const 11788) ",") - (data (i32.const 11800) "\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n") + (data (i32.const 11800) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n") (data (i32.const 11836) ",") - (data (i32.const 11848) "\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n") + (data (i32.const 11848) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n") (data (i32.const 11884) ",") - (data (i32.const 11896) "\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t") + (data (i32.const 11896) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t") (data (i32.const 11932) ",") - (data (i32.const 11944) "\01\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t") + (data (i32.const 11944) "\02\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t") (data (i32.const 11980) "\\") - (data (i32.const 11992) "\01\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") + (data (i32.const 11992) "\02\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") (data (i32.const 12076) "\\") - (data (i32.const 12088) "\01\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E") + (data (i32.const 12088) "\02\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E") (data (i32.const 12172) "\\") - (data (i32.const 12184) "\01\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") + (data (i32.const 12184) "\02\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") (data (i32.const 12268) "<") - (data (i32.const 12280) "\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") + (data (i32.const 12280) "\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") (data (i32.const 12332) "<") - (data (i32.const 12344) "\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!") + (data (i32.const 12344) "\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!") (data (i32.const 12396) "<") - (data (i32.const 12408) "\01\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") + (data (i32.const 12408) "\02\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") (data (i32.const 12460) "\\") - (data (i32.const 12472) "\01\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") + (data (i32.const 12472) "\02\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") (data (i32.const 12556) "\\") - (data (i32.const 12568) "\01\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)") + (data (i32.const 12568) "\02\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)") (data (i32.const 12652) "\\") - (data (i32.const 12664) "\01\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") + (data (i32.const 12664) "\02\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") (data (i32.const 12748) "\\") - (data (i32.const 12760) "\01\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n") + (data (i32.const 12760) "\02\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n") (data (i32.const 12844) "\\") - (data (i32.const 12856) "\01\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N") + (data (i32.const 12856) "\02\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N") (data (i32.const 12940) "\\") - (data (i32.const 12952) "\01\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n") + (data (i32.const 12952) "\02\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n") (data (i32.const 13036) "L") - (data (i32.const 13048) "\01\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") + (data (i32.const 13048) "\02\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") (data (i32.const 13116) "L") - (data (i32.const 13128) "\01\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") + (data (i32.const 13128) "\02\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") (data (i32.const 13196) "L") - (data (i32.const 13208) "\01\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,") + (data (i32.const 13208) "\02\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,") (data (i32.const 13276) "L") - (data (i32.const 13288) "\01\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,") + (data (i32.const 13288) "\02\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,") (data (i32.const 13356) "<") - (data (i32.const 13368) "\01\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") + (data (i32.const 13368) "\02\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") (data (i32.const 13420) "<") - (data (i32.const 13432) "\01\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") + (data (i32.const 13432) "\02\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") (data (i32.const 13484) "L") - (data (i32.const 13496) "\01\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.") + (data (i32.const 13496) "\02\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.") (data (i32.const 13564) "L") - (data (i32.const 13576) "\01\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.") + (data (i32.const 13576) "\02\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.") (data (i32.const 13644) "L") - (data (i32.const 13656) "\01\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") + (data (i32.const 13656) "\02\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") (data (i32.const 13724) "L") - (data (i32.const 13736) "\01\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") + (data (i32.const 13736) "\02\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") (data (i32.const 13804) "<") - (data (i32.const 13816) "\01\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") + (data (i32.const 13816) "\02\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") (data (i32.const 13868) "<") - (data (i32.const 13880) "\01\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") + (data (i32.const 13880) "\02\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") (data (i32.const 13932) "L") - (data (i32.const 13944) "\01\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03") + (data (i32.const 13944) "\02\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03") (data (i32.const 14012) "L") - (data (i32.const 14024) "\01\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") + (data (i32.const 14024) "\02\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") (data (i32.const 14092) "L") - (data (i32.const 14104) "\01\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!") + (data (i32.const 14104) "\02\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!") (data (i32.const 14172) "L") - (data (i32.const 14184) "\01\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!") + (data (i32.const 14184) "\02\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!") (data (i32.const 14252) "\9c") - (data (i32.const 14264) "\01\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 14264) "\02\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 14412) "\9c") - (data (i32.const 14424) "\01\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 14424) "\02\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 14572) "\9c") - (data (i32.const 14584) "\01\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 14584) "\02\00\00\00\80\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\00 \00/\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 14732) "\1c") - (data (i32.const 14744) "\01\00\00\00\02\00\00\00\df") + (data (i32.const 14744) "\02\00\00\00\02\00\00\00\df") (data (i32.const 14764) "\1c") - (data (i32.const 14776) "\01\00\00\00\04\00\00\00S\00S") + (data (i32.const 14776) "\02\00\00\00\04\00\00\00S\00S") (data (i32.const 14796) "\1c") - (data (i32.const 14808) "\01\00\00\00\02\00\00\000\01") + (data (i32.const 14808) "\02\00\00\00\02\00\00\000\01") (data (i32.const 14828) "\1c") - (data (i32.const 14840) "\01\00\00\00\04\00\00\00i\00\07\03") + (data (i32.const 14840) "\02\00\00\00\04\00\00\00i\00\07\03") (data (i32.const 14860) "\cc") - (data (i32.const 14872) "\01\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10") + (data (i32.const 14872) "\02\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10") (data (i32.const 15068) "\cc") - (data (i32.const 15080) "\01\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") + (data (i32.const 15080) "\02\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") (data (i32.const 15276) "\1c") - (data (i32.const 15288) "\01\00\00\00\04\00\00\00s\00s") + (data (i32.const 15288) "\02\00\00\00\04\00\00\00s\00s") (data (i32.const 15308) "\1c") - (data (i32.const 15320) "\01\00\00\00\02\00\00\00\01\fb") + (data (i32.const 15320) "\02\00\00\00\02\00\00\00\01\fb") (data (i32.const 15340) "\1c") - (data (i32.const 15352) "\01\00\00\00\04\00\00\00f\00i") + (data (i32.const 15352) "\02\00\00\00\04\00\00\00f\00i") (data (i32.const 15372) "\cc") - (data (i32.const 15384) "\01\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") + (data (i32.const 15384) "\02\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") (data (i32.const 15580) ",") - (data (i32.const 15592) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 15592) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") (data (i32.const 15628) "\1c") - (data (i32.const 15640) "\01\00\00\00\04\00\00\00\00\d8\00\dc") + (data (i32.const 15640) "\02\00\00\00\04\00\00\00\00\d8\00\dc") (data (i32.const 15660) "\1c") - (data (i32.const 15672) "\01\00\00\00\02\00\00\00\88\1f") + (data (i32.const 15672) "\02\00\00\00\02\00\00\00\88\1f") (data (i32.const 15692) "\1c") - (data (i32.const 15704) "\01\00\00\00\02\00\00\00\80\1f") + (data (i32.const 15704) "\02\00\00\00\02\00\00\00\80\1f") (data (i32.const 15724) "\1c") - (data (i32.const 15736) "\01\00\00\00\02\00\00\00\8f\1f") + (data (i32.const 15736) "\02\00\00\00\02\00\00\00\8f\1f") (data (i32.const 15756) "\1c") - (data (i32.const 15768) "\01\00\00\00\02\00\00\00\87\1f") + (data (i32.const 15768) "\02\00\00\00\02\00\00\00\87\1f") (data (i32.const 15788) "\1c") - (data (i32.const 15800) "\01\00\00\00\02\00\00\00\fc\1f") + (data (i32.const 15800) "\02\00\00\00\02\00\00\00\fc\1f") (data (i32.const 15820) "\1c") - (data (i32.const 15832) "\01\00\00\00\02\00\00\00\f3\1f") + (data (i32.const 15832) "\02\00\00\00\02\00\00\00\f3\1f") (data (i32.const 15852) "\1c") - (data (i32.const 15864) "\01\00\00\00\02\00\00\00\a3\03") + (data (i32.const 15864) "\02\00\00\00\02\00\00\00\a3\03") (data (i32.const 15884) "\1c") - (data (i32.const 15896) "\01\00\00\00\02\00\00\00\c3\03") + (data (i32.const 15896) "\02\00\00\00\02\00\00\00\c3\03") (data (i32.const 15916) "\1c") - (data (i32.const 15928) "\01\00\00\00\04\00\00\00 \00\a3\03") + (data (i32.const 15928) "\02\00\00\00\04\00\00\00 \00\a3\03") (data (i32.const 15948) "\1c") - (data (i32.const 15960) "\01\00\00\00\04\00\00\00 \00\c3\03") + (data (i32.const 15960) "\02\00\00\00\04\00\00\00 \00\c3\03") (data (i32.const 15980) "\1c") - (data (i32.const 15992) "\01\00\00\00\04\00\00\00\a3\03 ") + (data (i32.const 15992) "\02\00\00\00\04\00\00\00\a3\03 ") (data (i32.const 16012) "\1c") - (data (i32.const 16024) "\01\00\00\00\04\00\00\00\c3\03 ") + (data (i32.const 16024) "\02\00\00\00\04\00\00\00\c3\03 ") (data (i32.const 16044) "\1c") - (data (i32.const 16056) "\01\00\00\00\06\00\00\00 \00\a3\03 ") + (data (i32.const 16056) "\02\00\00\00\06\00\00\00 \00\a3\03 ") (data (i32.const 16076) "\1c") - (data (i32.const 16088) "\01\00\00\00\06\00\00\00 \00\c3\03 ") + (data (i32.const 16088) "\02\00\00\00\06\00\00\00 \00\c3\03 ") (data (i32.const 16108) "\1c") - (data (i32.const 16120) "\01\00\00\00\06\00\00\00a\00\a3\03 ") + (data (i32.const 16120) "\02\00\00\00\06\00\00\00a\00\a3\03 ") (data (i32.const 16140) "\1c") - (data (i32.const 16152) "\01\00\00\00\06\00\00\00a\00\c2\03 ") + (data (i32.const 16152) "\02\00\00\00\06\00\00\00a\00\c2\03 ") (data (i32.const 16172) "\1c") - (data (i32.const 16184) "\01\00\00\00\06\00\00\00a\00\a3\03\n") + (data (i32.const 16184) "\02\00\00\00\06\00\00\00a\00\a3\03\n") (data (i32.const 16204) "\1c") - (data (i32.const 16216) "\01\00\00\00\06\00\00\00a\00\c2\03\n") + (data (i32.const 16216) "\02\00\00\00\06\00\00\00a\00\c2\03\n") (data (i32.const 16236) "\1c") - (data (i32.const 16248) "\01\00\00\00\04\00\00\00a\00\a3\03") + (data (i32.const 16248) "\02\00\00\00\04\00\00\00a\00\a3\03") (data (i32.const 16268) "\1c") - (data (i32.const 16280) "\01\00\00\00\04\00\00\00a\00\c2\03") + (data (i32.const 16280) "\02\00\00\00\04\00\00\00a\00\c2\03") (data (i32.const 16300) "\1c") - (data (i32.const 16312) "\01\00\00\00\06\00\00\00a\00\a3\03b") + (data (i32.const 16312) "\02\00\00\00\06\00\00\00a\00\a3\03b") (data (i32.const 16332) "\1c") - (data (i32.const 16344) "\01\00\00\00\06\00\00\00a\00\c3\03b") + (data (i32.const 16344) "\02\00\00\00\06\00\00\00a\00\c3\03b") (data (i32.const 16364) "\1c") - (data (i32.const 16376) "\01\00\00\00\06\00\00\00\a3\03\a3\03 ") + (data (i32.const 16376) "\02\00\00\00\06\00\00\00\a3\03\a3\03 ") (data (i32.const 16396) "\1c") - (data (i32.const 16408) "\01\00\00\00\06\00\00\00\c3\03\c2\03 ") + (data (i32.const 16408) "\02\00\00\00\06\00\00\00\c3\03\c2\03 ") (data (i32.const 16428) "\1c") - (data (i32.const 16440) "\01\00\00\00\06\00\00\001\00\a3\03 ") + (data (i32.const 16440) "\02\00\00\00\06\00\00\001\00\a3\03 ") (data (i32.const 16460) "\1c") - (data (i32.const 16472) "\01\00\00\00\06\00\00\001\00\c3\03 ") + (data (i32.const 16472) "\02\00\00\00\06\00\00\001\00\c3\03 ") (data (i32.const 16492) "\1c") - (data (i32.const 16504) "\01\00\00\00\06\00\00\00;\00\a3\03 ") + (data (i32.const 16504) "\02\00\00\00\06\00\00\00;\00\a3\03 ") (data (i32.const 16524) "\1c") - (data (i32.const 16536) "\01\00\00\00\06\00\00\00;\00\c3\03 ") + (data (i32.const 16536) "\02\00\00\00\06\00\00\00;\00\c3\03 ") (data (i32.const 16556) "\1c") - (data (i32.const 16568) "\01\00\00\00\06\00\00\00\01\03\a3\03 ") + (data (i32.const 16568) "\02\00\00\00\06\00\00\00\01\03\a3\03 ") (data (i32.const 16588) "\1c") - (data (i32.const 16600) "\01\00\00\00\06\00\00\00\01\03\c3\03 ") + (data (i32.const 16600) "\02\00\00\00\06\00\00\00\01\03\c3\03 ") (data (i32.const 16620) "\1c") - (data (i32.const 16632) "\01\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 ") + (data (i32.const 16632) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 ") (data (i32.const 16652) "\1c") - (data (i32.const 16664) "\01\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 ") + (data (i32.const 16664) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 ") (data (i32.const 16684) "\1c") - (data (i32.const 16696) "\01\00\00\00\06\00\00\00\a3\03\a3\03-") + (data (i32.const 16696) "\02\00\00\00\06\00\00\00\a3\03\a3\03-") (data (i32.const 16716) "\1c") - (data (i32.const 16728) "\01\00\00\00\06\00\00\00\c3\03\c2\03-") + (data (i32.const 16728) "\02\00\00\00\06\00\00\00\c3\03\c2\03-") (data (i32.const 16748) "\1c") - (data (i32.const 16760) "\01\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-") + (data (i32.const 16760) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-") (data (i32.const 16780) "\1c") - (data (i32.const 16792) "\01\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-") + (data (i32.const 16792) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-") (data (i32.const 16812) "\1c") - (data (i32.const 16824) "\01\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s") + (data (i32.const 16824) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s") (data (i32.const 16844) "\1c") - (data (i32.const 16856) "\01\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s") + (data (i32.const 16856) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s") (data (i32.const 16876) "\1c") - (data (i32.const 16888) "\01\00\00\00\06\00\00\005\d8\a2\dc\a3\03") + (data (i32.const 16888) "\02\00\00\00\06\00\00\005\d8\a2\dc\a3\03") (data (i32.const 16908) "\1c") - (data (i32.const 16920) "\01\00\00\00\06\00\00\005\d8\a2\dc\c2\03") + (data (i32.const 16920) "\02\00\00\00\06\00\00\005\d8\a2\dc\c2\03") (data (i32.const 16940) "\1c") - (data (i32.const 16952) "\01\00\00\00\06\00\00\00A\00.\00\a3\03") + (data (i32.const 16952) "\02\00\00\00\06\00\00\00A\00.\00\a3\03") (data (i32.const 16972) "\1c") - (data (i32.const 16984) "\01\00\00\00\06\00\00\00a\00.\00\c2\03") + (data (i32.const 16984) "\02\00\00\00\06\00\00\00a\00.\00\c2\03") (data (i32.const 17004) "\1c") - (data (i32.const 17016) "\01\00\00\00\06\00\00\00A\00\ad\00\a3\03") + (data (i32.const 17016) "\02\00\00\00\06\00\00\00A\00\ad\00\a3\03") (data (i32.const 17036) "\1c") - (data (i32.const 17048) "\01\00\00\00\06\00\00\00a\00\ad\00\c2\03") + (data (i32.const 17048) "\02\00\00\00\06\00\00\00a\00\ad\00\c2\03") (data (i32.const 17068) "\1c") - (data (i32.const 17080) "\01\00\00\00\08\00\00\00A\004\d8B\de\a3\03") + (data (i32.const 17080) "\02\00\00\00\08\00\00\00A\004\d8B\de\a3\03") (data (i32.const 17100) "\1c") - (data (i32.const 17112) "\01\00\00\00\08\00\00\00a\004\d8B\de\c2\03") + (data (i32.const 17112) "\02\00\00\00\08\00\00\00a\004\d8B\de\c2\03") (data (i32.const 17132) "\1c") - (data (i32.const 17144) "\01\00\00\00\04\00\00\00E\03\a3\03") + (data (i32.const 17144) "\02\00\00\00\04\00\00\00E\03\a3\03") (data (i32.const 17164) "\1c") - (data (i32.const 17176) "\01\00\00\00\04\00\00\00E\03\c3\03") + (data (i32.const 17176) "\02\00\00\00\04\00\00\00E\03\c3\03") (data (i32.const 17196) "\1c") - (data (i32.const 17208) "\01\00\00\00\06\00\00\00\91\03E\03\a3\03") + (data (i32.const 17208) "\02\00\00\00\06\00\00\00\91\03E\03\a3\03") (data (i32.const 17228) "\1c") - (data (i32.const 17240) "\01\00\00\00\06\00\00\00\b1\03E\03\c2\03") + (data (i32.const 17240) "\02\00\00\00\06\00\00\00\b1\03E\03\c2\03") (data (i32.const 17260) "\1c") - (data (i32.const 17272) "\01\00\00\00\06\00\00\00A\00\a3\03B") + (data (i32.const 17272) "\02\00\00\00\06\00\00\00A\00\a3\03B") (data (i32.const 17292) "\1c") - (data (i32.const 17304) "\01\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc") + (data (i32.const 17304) "\02\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc") (data (i32.const 17324) "\1c") - (data (i32.const 17336) "\01\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc") + (data (i32.const 17336) "\02\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc") (data (i32.const 17356) "\1c") - (data (i32.const 17368) "\01\00\00\00\08\00\00\00A\00\a3\03.\00b") + (data (i32.const 17368) "\02\00\00\00\08\00\00\00A\00\a3\03.\00b") (data (i32.const 17388) "\1c") - (data (i32.const 17400) "\01\00\00\00\08\00\00\00a\00\c3\03.\00b") + (data (i32.const 17400) "\02\00\00\00\08\00\00\00a\00\c3\03.\00b") (data (i32.const 17420) "\1c") - (data (i32.const 17432) "\01\00\00\00\08\00\00\00A\00\a3\03\ad\00B") + (data (i32.const 17432) "\02\00\00\00\08\00\00\00A\00\a3\03\ad\00B") (data (i32.const 17452) "\1c") - (data (i32.const 17464) "\01\00\00\00\08\00\00\00a\00\c3\03\ad\00b") + (data (i32.const 17464) "\02\00\00\00\08\00\00\00a\00\c3\03\ad\00b") (data (i32.const 17484) "\1c") - (data (i32.const 17496) "\01\00\00\00\n\00\00\00A\00\a3\034\d8B\deB") + (data (i32.const 17496) "\02\00\00\00\n\00\00\00A\00\a3\034\d8B\deB") (data (i32.const 17516) "\1c") - (data (i32.const 17528) "\01\00\00\00\n\00\00\00a\00\c3\034\d8B\deb") + (data (i32.const 17528) "\02\00\00\00\n\00\00\00a\00\c3\034\d8B\deb") (data (i32.const 17548) "\1c") - (data (i32.const 17560) "\01\00\00\00\06\00\00\00A\00\a3\03E\03") + (data (i32.const 17560) "\02\00\00\00\06\00\00\00A\00\a3\03E\03") (data (i32.const 17580) "\1c") - (data (i32.const 17592) "\01\00\00\00\06\00\00\00a\00\c2\03E\03") + (data (i32.const 17592) "\02\00\00\00\06\00\00\00a\00\c2\03E\03") (data (i32.const 17612) "\1c") - (data (i32.const 17624) "\01\00\00\00\08\00\00\00A\00\a3\03E\03\91\03") + (data (i32.const 17624) "\02\00\00\00\08\00\00\00A\00\a3\03E\03\91\03") (data (i32.const 17644) "\1c") - (data (i32.const 17656) "\01\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03") + (data (i32.const 17656) "\02\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03") (data (i32.const 17676) "\1c") - (data (i32.const 17688) "\01\00\00\00\06\00\00\00A\00\0e\18\a3\03") + (data (i32.const 17688) "\02\00\00\00\06\00\00\00A\00\0e\18\a3\03") (data (i32.const 17708) "\1c") - (data (i32.const 17720) "\01\00\00\00\06\00\00\00a\00\0e\18\c2\03") + (data (i32.const 17720) "\02\00\00\00\06\00\00\00a\00\0e\18\c2\03") (data (i32.const 17740) "\1c") - (data (i32.const 17752) "\01\00\00\00\08\00\00\00A\00\0e\18\a3\03B") + (data (i32.const 17752) "\02\00\00\00\08\00\00\00A\00\0e\18\a3\03B") (data (i32.const 17772) "\1c") - (data (i32.const 17784) "\01\00\00\00\08\00\00\00a\00\0e\18\c3\03b") + (data (i32.const 17784) "\02\00\00\00\08\00\00\00a\00\0e\18\c3\03b") (data (i32.const 17804) "\1c") - (data (i32.const 17816) "\01\00\00\00\06\00\00\00A\00\a3\03\0e\18") + (data (i32.const 17816) "\02\00\00\00\06\00\00\00A\00\a3\03\0e\18") (data (i32.const 17836) "\1c") - (data (i32.const 17848) "\01\00\00\00\06\00\00\00a\00\c2\03\0e\18") + (data (i32.const 17848) "\02\00\00\00\06\00\00\00a\00\c2\03\0e\18") (data (i32.const 17868) "\1c") - (data (i32.const 17880) "\01\00\00\00\08\00\00\00A\00\a3\03\0e\18B") + (data (i32.const 17880) "\02\00\00\00\08\00\00\00A\00\a3\03\0e\18B") (data (i32.const 17900) "\1c") - (data (i32.const 17912) "\01\00\00\00\08\00\00\00a\00\c3\03\0e\18b") + (data (i32.const 17912) "\02\00\00\00\08\00\00\00a\00\c3\03\0e\18b") (data (i32.const 17932) "\1c") - (data (i32.const 17944) "\01\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18") + (data (i32.const 17944) "\02\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18") (data (i32.const 17964) "\1c") - (data (i32.const 17976) "\01\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18") + (data (i32.const 17976) "\02\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18") (data (i32.const 17996) "\1c") - (data (i32.const 18008) "\01\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B") + (data (i32.const 18008) "\02\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B") (data (i32.const 18028) "\1c") - (data (i32.const 18040) "\01\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b") + (data (i32.const 18040) "\02\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b") (data (i32.const 18060) "\1c") - (data (i32.const 18072) "\01\00\00\00\02\00\00\00\00\fb") + (data (i32.const 18072) "\02\00\00\00\02\00\00\00\00\fb") (data (i32.const 18092) "\1c") - (data (i32.const 18104) "\01\00\00\00\04\00\00\00F\00F") + (data (i32.const 18104) "\02\00\00\00\04\00\00\00F\00F") (data (i32.const 18124) "\1c") - (data (i32.const 18136) "\01\00\00\00\04\00\00\00F\00I") + (data (i32.const 18136) "\02\00\00\00\04\00\00\00F\00I") (data (i32.const 18156) "\1c") - (data (i32.const 18168) "\01\00\00\00\02\00\00\00\02\fb") + (data (i32.const 18168) "\02\00\00\00\02\00\00\00\02\fb") (data (i32.const 18188) "\1c") - (data (i32.const 18200) "\01\00\00\00\04\00\00\00F\00L") + (data (i32.const 18200) "\02\00\00\00\04\00\00\00F\00L") (data (i32.const 18220) "\1c") - (data (i32.const 18232) "\01\00\00\00\02\00\00\00\03\fb") + (data (i32.const 18232) "\02\00\00\00\02\00\00\00\03\fb") (data (i32.const 18252) "\1c") - (data (i32.const 18264) "\01\00\00\00\06\00\00\00F\00F\00I") + (data (i32.const 18264) "\02\00\00\00\06\00\00\00F\00F\00I") (data (i32.const 18284) "\1c") - (data (i32.const 18296) "\01\00\00\00\02\00\00\00\04\fb") + (data (i32.const 18296) "\02\00\00\00\02\00\00\00\04\fb") (data (i32.const 18316) "\1c") - (data (i32.const 18328) "\01\00\00\00\06\00\00\00F\00F\00L") + (data (i32.const 18328) "\02\00\00\00\06\00\00\00F\00F\00L") (data (i32.const 18348) "\1c") - (data (i32.const 18360) "\01\00\00\00\02\00\00\00\05\fb") + (data (i32.const 18360) "\02\00\00\00\02\00\00\00\05\fb") (data (i32.const 18380) "\1c") - (data (i32.const 18392) "\01\00\00\00\04\00\00\00S\00T") + (data (i32.const 18392) "\02\00\00\00\04\00\00\00S\00T") (data (i32.const 18412) "\1c") - (data (i32.const 18424) "\01\00\00\00\02\00\00\00\06\fb") + (data (i32.const 18424) "\02\00\00\00\02\00\00\00\06\fb") (data (i32.const 18444) "\1c") - (data (i32.const 18456) "\01\00\00\00\02\00\00\00\f0\01") + (data (i32.const 18456) "\02\00\00\00\02\00\00\00\f0\01") (data (i32.const 18476) "\1c") - (data (i32.const 18488) "\01\00\00\00\04\00\00\00J\00\0c\03") + (data (i32.const 18488) "\02\00\00\00\04\00\00\00J\00\0c\03") (data (i32.const 18508) "\1c") - (data (i32.const 18520) "\01\00\00\00\02\00\00\00\96\1e") + (data (i32.const 18520) "\02\00\00\00\02\00\00\00\96\1e") (data (i32.const 18540) "\1c") - (data (i32.const 18552) "\01\00\00\00\04\00\00\00H\001\03") + (data (i32.const 18552) "\02\00\00\00\04\00\00\00H\001\03") (data (i32.const 18572) "\1c") - (data (i32.const 18584) "\01\00\00\00\02\00\00\00\97\1e") + (data (i32.const 18584) "\02\00\00\00\02\00\00\00\97\1e") (data (i32.const 18604) "\1c") - (data (i32.const 18616) "\01\00\00\00\04\00\00\00T\00\08\03") + (data (i32.const 18616) "\02\00\00\00\04\00\00\00T\00\08\03") (data (i32.const 18636) "\1c") - (data (i32.const 18648) "\01\00\00\00\02\00\00\00\98\1e") + (data (i32.const 18648) "\02\00\00\00\02\00\00\00\98\1e") (data (i32.const 18668) "\1c") - (data (i32.const 18680) "\01\00\00\00\04\00\00\00W\00\n\03") + (data (i32.const 18680) "\02\00\00\00\04\00\00\00W\00\n\03") (data (i32.const 18700) "\1c") - (data (i32.const 18712) "\01\00\00\00\02\00\00\00\99\1e") + (data (i32.const 18712) "\02\00\00\00\02\00\00\00\99\1e") (data (i32.const 18732) "\1c") - (data (i32.const 18744) "\01\00\00\00\04\00\00\00Y\00\n\03") + (data (i32.const 18744) "\02\00\00\00\04\00\00\00Y\00\n\03") (data (i32.const 18764) "\1c") - (data (i32.const 18776) "\01\00\00\00\02\00\00\00\9a\1e") + (data (i32.const 18776) "\02\00\00\00\02\00\00\00\9a\1e") (data (i32.const 18796) "\1c") - (data (i32.const 18808) "\01\00\00\00\04\00\00\00A\00\be\02") + (data (i32.const 18808) "\02\00\00\00\04\00\00\00A\00\be\02") (data (i32.const 18828) "\\") - (data (i32.const 18840) "\01\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e") + (data (i32.const 18840) "\02\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e") (data (i32.const 18924) "<") - (data (i32.const 18936) "\01\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data (i32.const 18936) "\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") (data (i32.const 18988) "|") - (data (i32.const 19000) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 19000) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 19116) "<") - (data (i32.const 19128) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 19128) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 19180) "\1c") - (data (i32.const 19192) "\01\00\00\00\02\00\00\000") + (data (i32.const 19192) "\02\00\00\00\02\00\00\000") (data (i32.const 19212) "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 19612) "\1c\04") - (data (i32.const 19624) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 19624) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 20668) "\\") - (data (i32.const 20680) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 20680) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 20764) "<") - (data (i32.const 20776) "\01\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data (i32.const 20776) "\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") (data (i32.const 20828) "\\") - (data (i32.const 20840) "\01\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e") + (data (i32.const 20840) "\02\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e") (data (i32.const 20924) "<") - (data (i32.const 20936) "\01\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data (i32.const 20936) "\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") (data (i32.const 20988) "<") - (data (i32.const 21000) "\01\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") - (data (i32.const 21056) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4") + (data (i32.const 21000) "\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data (i32.const 21056) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -514,7 +514,7 @@ if i32.const 0 i32.const 1152 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -1204,7 +1204,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 53844 + i32.const 53848 i32.lt_u if local.get $0 @@ -1298,13 +1298,13 @@ if i32.const 0 i32.const 1152 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 53844 + i32.const 53848 i32.lt_u if local.get $0 @@ -1327,7 +1327,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 53844 + i32.const 53848 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1527,7 +1527,7 @@ if i32.const 1088 i32.const 1152 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2242,7 +2242,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 21076 + i32.const 21080 i32.lt_s if i32.const 53872 @@ -2284,7 +2284,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -2311,11 +2311,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $invalid + end + return end return end @@ -2353,7 +2356,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 21076 + i32.const 21080 i32.lt_s if i32.const 53872 @@ -2386,7 +2389,7 @@ local.get $7 i32.const 6 i32.mul - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -2683,7 +2686,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 21076 + i32.const 21080 i32.lt_s if i32.const 53872 @@ -2701,7 +2704,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 53844 + i32.const 53848 i32.sub i32.const 1 i32.shr_u @@ -5277,7 +5280,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 21076 + i32.const 21080 i32.lt_s if i32.const 53872 @@ -5310,7 +5313,7 @@ local.get $6 i32.const 2 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -5841,7 +5844,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 21076 + i32.const 21080 i32.lt_s if i32.const 53872 @@ -5862,7 +5865,7 @@ i32.gt_u local.tee $2 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -5920,7 +5923,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 21076 + i32.const 21080 i32.lt_s if i32.const 53872 @@ -6013,7 +6016,7 @@ i32.shl local.get $2 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -6080,7 +6083,7 @@ i32.shl local.get $2 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -6210,7 +6213,7 @@ if i32.const 0 i32.const 1152 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -6230,14 +6233,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 53844 + i32.const 53848 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1152 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -6251,7 +6254,7 @@ if i32.const 0 i32.const 1152 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -6273,7 +6276,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/std/string-encoding.debug.wat b/tests/compiler/std/string-encoding.debug.wat index 61ab43e573..6442d61cd3 100644 --- a/tests/compiler/std/string-encoding.debug.wat +++ b/tests/compiler/std/string-encoding.debug.wat @@ -28,37 +28,37 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 21760)) - (global $~lib/memory/__data_end i32 (i32.const 21776)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 54544)) - (global $~lib/memory/__heap_base i32 (i32.const 54544)) + (global $~lib/memory/__data_end i32 (i32.const 21780)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 54548)) + (global $~lib/memory/__heap_base i32 (i32.const 54548)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00e\00n\00c\00o\00d\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") + (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00e\00n\00c\00o\00d\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\d87\dc\00\00\00\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00R\d8b\df\00\00\00\00\00\00\00\00") - (data (i32.const 668) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\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 780) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\008\00\00\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00\00\00\00\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\004\d8\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fd\ff\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\1e\dd\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\002\003\00\00\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00h\00i\00R\d8b\df\00\00\00\00") - (data (i32.const 1068) "<3\00\00\00\00\00\00\00\00\00\00\01\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\r\0e\r\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\r\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\r\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\r\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\r\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\r\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\r(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\r(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\r(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\r(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\r( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\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\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\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\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\r%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n\00\00\00") - (data (i32.const 14188) "\8c\1d\00\00\00\00\00\00\00\00\00\00\01\00\00\00p\1d\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\r\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n\00\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21760) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\01\d87\dc\00\00\00\00\00\00\00\00") + (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00R\d8b\df\00\00\00\00\00\00\00\00") + (data (i32.const 668) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 780) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00\00\00\00\00\00\00") + (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\d8\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\fd\ff\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\1e\dd\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\002\003\00\00\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00h\00i\00R\d8b\df\00\00\00\00") + (data (i32.const 1068) "<3\00\00\00\00\00\00\00\00\00\00\02\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\r\0e\r\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\r\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\r\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\r\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\r\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\r\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\r(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\r(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\r(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\r(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\r( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\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\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\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\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\r%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n\00\00\00") + (data (i32.const 14188) "\8c\1d\00\00\00\00\00\00\00\00\00\00\02\00\00\00p\1d\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\r\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n\00\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21760) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -138,7 +138,7 @@ if i32.const 0 i32.const 192 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -208,7 +208,7 @@ if i32.const 0 i32.const 192 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -225,7 +225,7 @@ if i32.const 0 i32.const 192 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -276,7 +276,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -322,7 +322,7 @@ if (result i32) i32.const 0 i32.const 192 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1587,7 +1587,7 @@ if i32.const 0 i32.const 192 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2181,7 +2181,7 @@ if i32.const 128 i32.const 192 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2916,6 +2916,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2924,16 +2927,22 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -4723,7 +4732,7 @@ global.get $~lib/memory/__stack_pointer local.get $str call $~lib/string/String.UTF16.byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 @@ -4759,7 +4768,7 @@ i32.xor i32.and local.tee $len - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $str i32.store $0 @@ -4790,7 +4799,7 @@ local.get $str local.get $nullTerminated call $~lib/string/String.UTF8.byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 @@ -4852,7 +4861,7 @@ local.get $len i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $str i32.store $0 diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index 0801de8e61..ed172e830c 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -20,55 +20,55 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 55568)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 55572)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") + (data (i32.const 1048) "\02\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") (data (i32.const 1068) "<") - (data (i32.const 1080) "\01\00\00\00,\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00e\00n\00c\00o\00d\00i\00n\00g\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00,\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00e\00n\00c\00o\00d\00i\00n\00g\00.\00t\00s") (data (i32.const 1132) "<") - (data (i32.const 1144) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1144) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1324) "<") - (data (i32.const 1336) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1388) ",") - (data (i32.const 1400) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1468) "<") - (data (i32.const 1480) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1532) "\1c") - (data (i32.const 1544) "\01") + (data (i32.const 1544) "\02") (data (i32.const 1564) "\1c") - (data (i32.const 1576) "\01\00\00\00\04\00\00\00\01\d87\dc") + (data (i32.const 1576) "\02\00\00\00\04\00\00\00\01\d87\dc") (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\01\00\00\00\02\00\00\00h") + (data (i32.const 1608) "\02\00\00\00\02\00\00\00h") (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\04\00\00\00h\00i") + (data (i32.const 1640) "\02\00\00\00\04\00\00\00h\00i") (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\01\00\00\00\04\00\00\00R\d8b\df") + (data (i32.const 1672) "\02\00\00\00\04\00\00\00R\d8b\df") (data (i32.const 1692) "<") - (data (i32.const 1704) "\01\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e") + (data (i32.const 1704) "\02\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e") (data (i32.const 1756) ",") - (data (i32.const 1768) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 1768) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") (data (i32.const 1804) "L") - (data (i32.const 1816) "\01\00\00\008\00\00\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a") + (data (i32.const 1816) "\02\00\00\008\00\00\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a\00a") (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\01\00\00\00\02\00\00\004\d8") + (data (i32.const 1896) "\02\00\00\00\02\00\00\004\d8") (data (i32.const 1916) "\1c") - (data (i32.const 1928) "\01\00\00\00\02\00\00\00\fd\ff") + (data (i32.const 1928) "\02\00\00\00\02\00\00\00\fd\ff") (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\01\00\00\00\02\00\00\00\1e\dd") + (data (i32.const 1960) "\02\00\00\00\02\00\00\00\1e\dd") (data (i32.const 1980) ",") - (data (i32.const 1992) "\01\00\00\00\0e\00\00\001\002\003\00\00\004\005\006") + (data (i32.const 1992) "\02\00\00\00\0e\00\00\001\002\003\00\00\004\005\006") (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\01\00\00\00\06\00\00\001\002\003") + (data (i32.const 2040) "\02\00\00\00\06\00\00\001\002\003") (data (i32.const 2060) "\1c") - (data (i32.const 2072) "\01\00\00\00\08\00\00\00h\00i\00R\d8b\df") + (data (i32.const 2072) "\02\00\00\00\08\00\00\00h\00i\00R\d8b\df") (data (i32.const 2092) "<3") - (data (i32.const 2104) "\01\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\r\0e\r\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\r\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\r\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\r\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\r\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\r\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\r(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\r(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\r(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\r(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\r( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\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\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\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\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\r%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n") + (data (i32.const 2104) "\02\00\00\00*3\00\00M\00a\00t\00h\00e\00m\00a\00t\00i\00c\00s\00 \00a\00n\00d\00 \00S\00c\00i\00e\00n\00c\00e\00s\00:\00\n\00\n\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00,\00 \00\00\"x\00\08\"\1d!:\00 \00\08#x\00\t# \00=\00 \00\12\"\n#\12\"x\00\0b#,\00 \00\b1\03 \00\'\" \00\ac\00\b2\03 \00=\00 \00\ac\00(\00\ac\00\b1\03 \00(\" \00\b2\03)\00,\00\n\00\n\00\15! \00\86\" \00\15!\80 \00\82\" \00$! \00\82\" \00\1a! \00\82\" \00\1d! \00\82\" \00\02!,\00 \00\a5\" \00<\00 \00a\00 \00`\" \00b\00 \00a\" \00c\00 \00d\" \00d\00 \00j\" \00\a4\" \00\d2! \00(\00A\00 \00\d4! \00B\00)\00,\00\n\00\n\002\00H\00\82 \00+\00 \00O\00\82 \00\cc! \002\00H\00\82 O\00,\00 \00R\00 \00=\00 \004\00.\007\00 \00k\00\a9\03,\00 \00\00# \002\000\000\00 \00m\00m\00\n\00\n\00L\00i\00n\00g\00u\00i\00s\00t\00i\00c\00s\00 \00a\00n\00d\00 \00d\00i\00c\00t\00i\00o\00n\00a\00r\00i\00e\00s\00:\00\n\00\n\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00\n\00Y\00 \00[\00\c8\02\8f\02p\00s\00i\00l\00T\02n\00]\00,\00 \00Y\00e\00n\00 \00[\00j\00[\02n\00]\00,\00 \00Y\00o\00g\00a\00 \00[\00\c8\02j\00o\00\d0\02g\00Q\02]\00\n\00\n\00A\00P\00L\00:\00\n\00\n\00(\00(\00V\00s#V\00)\00=\00s#t#V\00)\00/\00V\00\90!,\00V\00 \00 \00 \00 \007#\90!s#\92!t#\06\"\07\"\83\"> N#U#\08#\n\00\n\00N\00i\00c\00e\00r\00 \00t\00y\00p\00o\00g\00r\00a\00p\00h\00y\00 \00i\00n\00 \00p\00l\00a\00i\00n\00 \00t\00e\00x\00t\00 \00f\00i\00l\00e\00s\00:\00\n\00\n\00T%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%W%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\18 s\00i\00n\00g\00l\00e\00\19 \00a\00n\00d\00 \00\1c d\00o\00u\00b\00l\00e\00\1d \00q\00u\00o\00t\00e\00s\00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00C\00u\00r\00l\00y\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00s\00:\00 \00\1c W\00e\00\19 v\00e\00 \00b\00e\00e\00n\00 \00h\00e\00r\00e\00\1d \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00L\00a\00t\00i\00n\00-\001\00 \00a\00p\00o\00s\00t\00r\00o\00p\00h\00e\00 \00a\00n\00d\00 \00a\00c\00c\00e\00n\00t\00s\00:\00 \00\'\00\b4\00`\00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00\1a d\00e\00u\00t\00s\00c\00h\00e\00\18 \00\1e A\00n\00f\00\fc\00h\00r\00u\00n\00g\00s\00z\00e\00i\00c\00h\00e\00n\00\1c \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00 ,\00 \00! ,\00 \000 ,\00 \00\" ,\00 \003\00\13 4\00,\00 \00\14 ,\00 \00\12\"5\00/\00+\005\00,\00 \00\"!,\00 \00& \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00A\00S\00C\00I\00I\00 \00s\00a\00f\00e\00t\00y\00 \00t\00e\00s\00t\00:\00 \001\00l\00I\00|\00,\00 \000\00O\00D\00,\00 \008\00B\00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00m%\00%\00%\00%\00%\00%\00%\00%\00%\00%n% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00\" \00t\00h\00e\00 \00e\00u\00r\00o\00 \00s\00y\00m\00b\00o\00l\00:\00 \00\02% \001\004\00.\009\005\00 \00\ac \00\02% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Q% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00p%\00%\00%\00%\00%\00%\00%\00%\00%\00%o% \00 \00 \00 \00 \00 \00 \00 \00 \00Q%\n\00Z%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%P%]%\n\00\n\00G\00r\00e\00e\00k\00 \00(\00i\00n\00 \00P\00o\00l\00y\00t\00o\00n\00i\00c\00)\00:\00\n\00\n\00T\00h\00e\00 \00G\00r\00e\00e\00k\00 \00a\00n\00t\00h\00e\00m\00:\00\n\00\n\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03y\1f\c8\03\b7\03\n\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03u\1f,\00\n\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03w\1f\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03\n\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03w\1f\b1\03 \00\bc\03\b5\03\c4\03\c1\03q\1f\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\n\00\n\00\bf\1f\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03y\1f\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03s\1f\bd\03\b7\03\n\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03u\1f\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03q\1f\n\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03s\1f\bd\03\b7\03\n\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03q\1f!\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00s\00p\00e\00e\00c\00h\00 \00o\00f\00 \00D\00e\00m\00o\00s\00t\00h\00e\00n\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \004\00t\00h\00 \00c\00e\00n\00t\00u\00r\00y\00 \00B\00C\00:\00\n\00\n\00\9f\03P\1f\c7\03v\1f \00\c4\03\b1\03P\1f\c4\03p\1f \00\c0\03\b1\03\c1\03w\1f\c3\03\c4\03\b1\03\c4\03\b1\03w\1f \00\bc\03\bf\03\b9\03 \00\b3\03\b9\03\b3\03\bd\03}\1f\c3\03\ba\03\b5\03\b9\03\bd\03,\00 \00f\1f \00\04\1f\bd\03\b4\03\c1\03\b5\03\c2\03 \00\bf\1f\91\03\b8\03\b7\03\bd\03\b1\03\d6\1f\bf\03\b9\03,\00\n\00E\1f\c4\03\b1\03\bd\03 \00\c4\03\bf\1f \00\b5\030\1f\c2\03 \00\c4\03p\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\b1\03 \00\00\1f\c0\03\bf\03\b2\03\bb\03s\1f\c8\03\c9\03 \00\ba\03\b1\03v\1f \00E\1f\c4\03\b1\03\bd\03 \00\c0\03\c1\03x\1f\c2\03 \00\c4\03\bf\03z\1f\c2\03\n\00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\bf\03S\1f\c2\03 \00\00\1f\ba\03\bf\03{\1f\c9\03\87\03 \00\c4\03\bf\03z\1f\c2\03 \00\bc\03r\1f\bd\03 \00\b3\03p\1f\c1\03 \00\bb\03y\1f\b3\03\bf\03\c5\03\c2\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03 \00A\1f\c1\03\f6\1f \00\b3\03\b9\03\b3\03\bd\03\bf\03\bc\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\c4\03p\1f \00\b4\03r\1f \00\c0\03\c1\03q\1f\b3\03\bc\03\b1\03\c4\03\bf\1f\n\00\b5\030\1f\c2\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\c0\03\c1\03\bf\03u\1f\ba\03\bf\03\bd\03\c4\03\b1\03,\00 \00 \00e\1f\c3\03\b8\03\bf\1f \00E\1f\c0\03\c9\03\c2\03 \00\bc\03t\1f \00\c0\03\b5\03\b9\03\c3\03y\1f\bc\03\b5\03\b8\03\bf\1f \00\b1\03P\1f\c4\03\bf\03v\1f\n\00\c0\03\c1\03y\1f\c4\03\b5\03\c1\03\bf\03\bd\03 \00\ba\03\b1\03\ba\03\f6\1f\c2\03 \00\c3\03\ba\03s\1f\c8\03\b1\03\c3\03\b8\03\b1\03\b9\03 \00\b4\03s\1f\bf\03\bd\03.\00 \00\bf\03P\1f\b4\03s\1f\bd\03 \00\bf\03V\1f\bd\03 \00\04\1f\bb\03\bb\03\bf\03 \00\bc\03\bf\03\b9\03 \00\b4\03\bf\03\ba\03\bf\03\e6\1f\c3\03\b9\03\bd\03\n\00\bf\031\1f \00\c4\03p\1f \00\c4\03\bf\03\b9\03\b1\03\e6\1f\c4\03\b1\03 \00\bb\03s\1f\b3\03\bf\03\bd\03\c4\03\b5\03\c2\03 \00\"\1f \00\c4\03t\1f\bd\03 \00Q\1f\c0\03y\1f\b8\03\b5\03\c3\03\b9\03\bd\03,\00 \00\c0\03\b5\03\c1\03v\1f \00\'\1f\c2\03 \00\b2\03\bf\03\c5\03\bb\03\b5\03{\1f\b5\03\c3\03\b8\03\b1\03\b9\03,\00\n\00\bf\03P\1f\c7\03v\1f \00\c4\03t\1f\bd\03 \00\bf\03V\1f\c3\03\b1\03\bd\03 \00\c0\03\b1\03\c1\03\b9\03\c3\03\c4\03q\1f\bd\03\c4\03\b5\03\c2\03 \00Q\1f\bc\03\d6\1f\bd\03 \00\01\1f\bc\03\b1\03\c1\03\c4\03q\1f\bd\03\b5\03\b9\03\bd\03.\00 \00\10\1f\b3\03|\1f \00\b4\03s\1f,\00 \00E\1f\c4\03\b9\03 \00\bc\03s\1f\bd\03\n\00\c0\03\bf\03\c4\03\bf\1f \00\10\1f\be\03\c6\1f\bd\03 \00\c4\03\c7\1f \00\c0\03y\1f\bb\03\b5\03\b9\03 \00\ba\03\b1\03v\1f \00\c4\03p\1f \00\b1\03Q\1f\c4\03\c6\1f\c2\03 \00\14\1f\c7\03\b5\03\b9\03\bd\03 \00\00\1f\c3\03\c6\03\b1\03\bb\03\f6\1f\c2\03 \00\ba\03\b1\03v\1f \00\a6\03w\1f\bb\03\b9\03\c0\03\c0\03\bf\03\bd\03\n\00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b1\03\c3\03\b8\03\b1\03\b9\03,\00 \00\ba\03\b1\03v\1f \00\bc\03q\1f\bb\03\bf\1f \00\00\1f\ba\03\c1\03\b9\03\b2\03\f6\1f\c2\03 \00\bf\036\1f\b4\03\b1\03\87\03 \00\10\1f\c0\03\bf\1f \00\10\1f\bc\03\bf\03\e6\1f \00\b3\03q\1f\c1\03,\00 \00\bf\03P\1f \00\c0\03q\1f\bb\03\b1\03\b9\03\n\00\b3\03s\1f\b3\03\bf\03\bd\03\b5\03\bd\03 \00\c4\03\b1\03\e6\1f\c4\03\bf\1f \00\00\1f\bc\03\c6\03y\1f\c4\03\b5\03\c1\03\b1\03\87\03 \00\bd\03\e6\1f\bd\03 \00\bc\03s\1f\bd\03\c4\03\bf\03\b9\03 \00\c0\03s\1f\c0\03\b5\03\b9\03\c3\03\bc\03\b1\03\b9\03 \00\c4\03\bf\03\e6\1f\b8\03\bf\1f \001\1f\ba\03\b1\03\bd\03x\1f\bd\03\n\00\c0\03\c1\03\bf\03\bb\03\b1\03\b2\03\b5\03\d6\1f\bd\03 \00!\1f\bc\03\d6\1f\bd\03 \00\b5\036\1f\bd\03\b1\03\b9\03 \00\c4\03t\1f\bd\03 \00\c0\03\c1\03}\1f\c4\03\b7\03\bd\03,\00 \00E\1f\c0\03\c9\03\c2\03 \00\c4\03\bf\03z\1f\c2\03 \00\c3\03\c5\03\bc\03\bc\03q\1f\c7\03\bf\03\c5\03\c2\03\n\00\c3\03}\1f\c3\03\bf\03\bc\03\b5\03\bd\03.\00 \00\10\1fp\1f\bd\03 \00\b3\03p\1f\c1\03 \00\c4\03\bf\03\e6\1f\c4\03\bf\03 \00\b2\03\b5\03\b2\03\b1\03w\1f\c9\03\c2\03 \00Q\1f\c0\03q\1f\c1\03\be\03\c3\1f,\00 \00\c4\03y\1f\c4\03\b5\03 \00\ba\03\b1\03v\1f \00\c0\03\b5\03\c1\03v\1f \00\c4\03\bf\03\e6\1f\n\00\c4\03w\1f\bd\03\b1\03 \00\c4\03\b9\03\bc\03\c9\03\c1\03u\1f\c3\03\b5\03\c4\03\b1\03w\1f \00\c4\03\b9\03\c2\03 \00\ba\03\b1\03v\1f \00C\1f\bd\03 \00\c4\03\c1\03y\1f\c0\03\bf\03\bd\03 \00\10\1f\be\03s\1f\c3\03\c4\03\b1\03\b9\03 \00\c3\03\ba\03\bf\03\c0\03\b5\03\d6\1f\bd\03\87\03 \00\c0\03\c1\03v\1f\bd\03 \00\b4\03r\1f\n\00\c4\03t\1f\bd\03 \00\00\1f\c1\03\c7\03t\1f\bd\03 \00@\1f\c1\03\b8\03\f6\1f\c2\03 \00Q\1f\c0\03\bf\03\b8\03s\1f\c3\03\b8\03\b1\03\b9\03,\00 \00\bc\03q\1f\c4\03\b1\03\b9\03\bf\03\bd\03 \00!\1f\b3\03\bf\03\e6\1f\bc\03\b1\03\b9\03 \00\c0\03\b5\03\c1\03v\1f \00\c4\03\c6\1f\c2\03\n\00\c4\03\b5\03\bb\03\b5\03\c5\03\c4\03\c6\1f\c2\03 \00A\1f\bd\03\c4\03\b9\03\bd\03\bf\03\e6\1f\bd\03 \00\c0\03\bf\03\b9\03\b5\03\d6\1f\c3\03\b8\03\b1\03\b9\03 \00\bb\03y\1f\b3\03\bf\03\bd\03.\00\n\00\n\00\94\03\b7\03\bc\03\bf\03\c3\03\b8\03s\1f\bd\03\bf\03\c5\03\c2\03,\00 \00\93\03\fd\1f \00\bf\1f\9f\03\bb\03\c5\03\bd\03\b8\03\b9\03\b1\03\ba\03x\1f\c2\03\n\00\n\00G\00e\00o\00r\00g\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\d2\10\d7\10\ee\10\dd\10\d5\10\d7\10 \00\d0\10\ee\10\da\10\d0\10\d5\10\d4\10 \00\d2\10\d0\10\d8\10\d0\10\e0\10\dd\10\d7\10 \00\e0\10\d4\10\d2\10\d8\10\e1\10\e2\10\e0\10\d0\10\ea\10\d8\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\db\10\d4\10\d0\10\d7\10\d4\10 \00\e1\10\d0\10\d4\10\e0\10\d7\10\d0\10\e8\10\dd\10\e0\10\d8\10\e1\10\dd\10\n\00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10\d6\10\d4\10 \00\d3\10\d0\10\e1\10\d0\10\e1\10\ec\10\e0\10\d4\10\d1\10\d0\10\d3\10,\00 \00\e0\10\dd\10\db\10\d4\10\da\10\d8\10\ea\10 \00\d2\10\d0\10\d8\10\db\10\d0\10\e0\10\d7\10\d4\10\d1\10\d0\10 \001\000\00-\001\002\00 \00\db\10\d0\10\e0\10\e2\10\e1\10,\00\n\00\e5\10.\00 \00\db\10\d0\10\d8\10\dc\10\ea\10\e8\10\d8\10,\00 \00\d2\10\d4\10\e0\10\db\10\d0\10\dc\10\d8\10\d0\10\e8\10\d8\10.\00 \00\d9\10\dd\10\dc\10\e4\10\d4\10\e0\10\d4\10\dc\10\ea\10\d8\10\d0\10 \00\e8\10\d4\10\f0\10\d9\10\e0\10\d4\10\d1\10\e1\10 \00\d4\10\e0\10\d7\10\d0\10\d3\10 \00\db\10\e1\10\dd\10\e4\10\da\10\d8\10\dd\10\e1\10\n\00\d4\10\e5\10\e1\10\de\10\d4\10\e0\10\e2\10\d4\10\d1\10\e1\10 \00\d8\10\e1\10\d4\10\d7\10 \00\d3\10\d0\10\e0\10\d2\10\d4\10\d1\10\e8\10\d8\10 \00\e0\10\dd\10\d2\10\dd\10\e0\10\d8\10\ea\10\d0\10\d0\10 \00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d4\10\e2\10\d8\10 \00\d3\10\d0\10 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10,\00\n\00\d8\10\dc\10\e2\10\d4\10\e0\10\dc\10\d0\10\ea\10\d8\10\dd\10\dc\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10 \00\d3\10\d0\10 \00\da\10\dd\10\d9\10\d0\10\da\10\d8\10\d6\10\d0\10\ea\10\d8\10\d0\10,\00 \00U\00n\00i\00c\00o\00d\00e\00-\00\d8\10\e1\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d0\10\n\00\dd\10\de\10\d4\10\e0\10\d0\10\ea\10\d8\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e1\10\d0\10,\00 \00\d3\10\d0\10 \00\d2\10\d0\10\db\10\dd\10\e7\10\d4\10\dc\10\d4\10\d1\10\d8\10\d7\10 \00\de\10\e0\10\dd\10\d2\10\e0\10\d0\10\db\10\d4\10\d1\10\e8\10\d8\10,\00 \00\e8\10\e0\10\d8\10\e4\10\e2\10\d4\10\d1\10\e8\10\d8\10,\00\n\00\e2\10\d4\10\e5\10\e1\10\e2\10\d4\10\d1\10\d8\10\e1\10 \00\d3\10\d0\10\db\10\e3\10\e8\10\d0\10\d5\10\d4\10\d1\10\d0\10\e1\10\d0\10 \00\d3\10\d0\10 \00\db\10\e0\10\d0\10\d5\10\d0\10\da\10\d4\10\dc\10\dd\10\d5\10\d0\10\dc\10 \00\d9\10\dd\10\db\10\de\10\d8\10\e3\10\e2\10\d4\10\e0\10\e3\10\da\10 \00\e1\10\d8\10\e1\10\e2\10\d4\10\db\10\d4\10\d1\10\e8\10\d8\10.\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00:\00\n\00\n\00F\00r\00o\00m\00 \00a\00 \00U\00n\00i\00c\00o\00d\00e\00 \00c\00o\00n\00f\00e\00r\00e\00n\00c\00e\00 \00i\00n\00v\00i\00t\00a\00t\00i\00o\00n\00:\00\n\00\n\00\17\040\04@\045\043\048\04A\04B\04@\048\04@\04C\049\04B\045\04A\04L\04 \00A\045\049\04G\040\04A\04 \00=\040\04 \00\14\045\04A\04O\04B\04C\04N\04 \00\1c\045\046\044\04C\04=\040\04@\04>\044\04=\04C\04N\04 \00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04N\04 \00?\04>\04\n\00U\00n\00i\00c\00o\00d\00e\00,\00 \00:\04>\04B\04>\04@\040\04O\04 \00A\04>\04A\04B\04>\048\04B\04A\04O\04 \001\000\00-\001\002\00 \00<\040\04@\04B\040\04 \001\009\009\007\00 \003\04>\044\040\04 \002\04 \00\1c\040\049\04=\04F\045\04 \002\04 \00\13\045\04@\04<\040\04=\048\048\04.\00\n\00\1a\04>\04=\04D\045\04@\045\04=\04F\048\04O\04 \00A\04>\041\045\04@\045\04B\04 \00H\048\04@\04>\04:\048\049\04 \00:\04@\04C\043\04 \00M\04:\04A\04?\045\04@\04B\04>\042\04 \00?\04>\04 \00 \002\04>\04?\04@\04>\04A\040\04<\04 \003\04;\04>\041\040\04;\04L\04=\04>\043\04>\04\n\00\18\04=\04B\045\04@\04=\045\04B\040\04 \008\04 \00U\00n\00i\00c\00o\00d\00e\00,\00 \00;\04>\04:\040\04;\048\047\040\04F\048\048\04 \008\04 \008\04=\04B\045\04@\04=\040\04F\048\04>\04=\040\04;\048\047\040\04F\048\048\04,\00 \002\04>\04?\04;\04>\04I\045\04=\048\04N\04 \008\04\n\00?\04@\048\04<\045\04=\045\04=\048\04N\04 \00U\00n\00i\00c\00o\00d\00e\00 \002\04 \00@\040\047\04;\048\04G\04=\04K\04E\04 \00>\04?\045\04@\040\04F\048\04>\04=\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04 \008\04 \00?\04@\04>\043\04@\040\04<\04<\04=\04K\04E\04\n\00?\04@\048\04;\04>\046\045\04=\048\04O\04E\04,\00 \00H\04@\048\04D\04B\040\04E\04,\00 \002\045\04@\04A\04B\04:\045\04 \008\04 \00<\04=\04>\043\04>\04O\047\04K\04G\04=\04K\04E\04 \00:\04>\04<\04?\04L\04N\04B\045\04@\04=\04K\04E\04 \00A\048\04A\04B\045\04<\040\04E\04.\00\n\00\n\00T\00h\00a\00i\00 \00(\00U\00C\00S\00 \00L\00e\00v\00e\00l\00 \002\00)\00:\00\n\00\n\00E\00x\00c\00e\00r\00p\00t\00 \00f\00r\00o\00m\00 \00a\00 \00p\00o\00e\00t\00r\00y\00 \00o\00n\00 \00T\00h\00e\00 \00R\00o\00m\00a\00n\00c\00e\00 \00o\00f\00 \00T\00h\00e\00 \00T\00h\00r\00e\00e\00 \00K\00i\00n\00g\00d\00o\00m\00s\00 \00(\00a\00 \00C\00h\00i\00n\00e\00s\00e\00\n\00c\00l\00a\00s\00s\00i\00c\00 \00\'\00S\00a\00n\00 \00G\00u\00a\00\'\00)\00:\00\n\00\n\00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00A\0e\1c\0eH\0e\19\0e\14\0e4\0e\19\0e.\0e1\0eH\0e\19\0e@\0e*\0e7\0eH\0e-\0e!\0eB\0e\17\0e#\0e!\0eA\0e*\0e\19\0e*\0e1\0e\07\0e@\0e\'\0e\n\0e \00 \00\1e\0e#\0e0\0e\1b\0e\01\0e@\0e\01\0e(\0e\01\0e-\0e\07\0e\1a\0e9\0eJ\0e\01\0e9\0eI\0e\02\0e6\0eI\0e\19\0eC\0e+\0e!\0eH\0e\n\00*\0e4\0e\1a\0e*\0e-\0e\07\0e\01\0e)\0e1\0e\15\0e#\0e4\0e\"\0eL\0e\01\0eH\0e-\0e\19\0e+\0e\19\0eI\0e2\0eA\0e%\0e\16\0e1\0e\14\0eD\0e\1b\0e \00 \00 \00 \00 \00 \00 \00*\0e-\0e\07\0e-\0e\07\0e\04\0eL\0eD\0e\0b\0e#\0eI\0eB\0e\07\0eH\0e@\0e\02\0e%\0e2\0e@\0e\1a\0e2\0e\1b\0e1\0e\r\0e\r\0e2\0e\n\00 \00 \00\17\0e#\0e\07\0e\19\0e1\0e\1a\0e\16\0e7\0e-\0e\02\0e1\0e\19\0e\17\0e5\0e@\0e\1b\0eG\0e\19\0e\17\0e5\0eH\0e\1e\0e6\0eH\0e\07\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\1a\0eI\0e2\0e\19\0e@\0e!\0e7\0e-\0e\07\0e\08\0e6\0e\07\0e\'\0e4\0e\1b\0e#\0e4\0e\15\0e@\0e\1b\0eG\0e\19\0e\19\0e1\0e\01\0e+\0e\19\0e2\0e\n\00B\0e.\0e\08\0e4\0eK\0e\19\0e@\0e#\0e5\0e\"\0e\01\0e\17\0e1\0e\1e\0e\17\0e1\0eH\0e\'\0e+\0e1\0e\'\0e@\0e!\0e7\0e-\0e\07\0e!\0e2\0e \00 \00 \00 \00 \00 \00 \00 \00 \00+\0e!\0e2\0e\"\0e\08\0e0\0e\06\0eH\0e2\0e!\0e\14\0e\n\0e1\0eH\0e\'\0e\15\0e1\0e\'\0e*\0e3\0e\04\0e1\0e\r\0e\n\00 \00 \00@\0e+\0e!\0e7\0e-\0e\19\0e\02\0e1\0e\1a\0eD\0e*\0eD\0e%\0eH\0e@\0e*\0e7\0e-\0e\08\0e2\0e\01\0e@\0e\04\0e+\0e2\0e \00 \00 \00 \00 \00 \00#\0e1\0e\1a\0e+\0e!\0e2\0e\1b\0eH\0e2\0e@\0e\02\0eI\0e2\0e!\0e2\0e@\0e%\0e\"\0e-\0e2\0e*\0e1\0e\r\0e\n\00\1d\0eH\0e2\0e\"\0e-\0eI\0e-\0e\07\0e-\0e8\0eI\0e\19\0e\"\0e8\0eA\0e\"\0e\01\0eC\0e+\0eI\0eA\0e\15\0e\01\0e\01\0e1\0e\19\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00C\0e\n\0eI\0e*\0e2\0e\'\0e\19\0e1\0eI\0e\19\0e@\0e\1b\0eG\0e\19\0e\n\0e\19\0e\'\0e\19\0e\n\0e7\0eH\0e\19\0e\n\0e\'\0e\19\0eC\0e\08\0e\n\00 \00 \00\1e\0e%\0e1\0e\19\0e%\0e4\0e\t\0e8\0e\"\0e\01\0e8\0e\"\0e\01\0e5\0e\01\0e%\0e1\0e\1a\0e\01\0eH\0e-\0e@\0e+\0e\15\0e8\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\n\0eH\0e2\0e\07\0e-\0e2\0e@\0e\1e\0e(\0e\08\0e#\0e4\0e\07\0e+\0e\19\0e2\0e\1f\0eI\0e2\0e#\0eI\0e-\0e\07\0eD\0e+\0eI\0e\n\00\15\0eI\0e-\0e\07\0e#\0e\1a\0e#\0e2\0e\06\0eH\0e2\0e\1f\0e1\0e\19\0e\08\0e\19\0e\1a\0e#\0e#\0e%\0e1\0e\"\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00$\0eE\0e+\0e2\0eC\0e\04\0e#\0e\04\0eI\0e3\0e\n\0e9\0e\01\0e9\0eI\0e\1a\0e#\0e#\0e%\0e1\0e\07\0e\01\0eL\0e \00/\0e\n\00\n\00(\00T\00h\00e\00 \00a\00b\00o\00v\00e\00 \00i\00s\00 \00a\00 \00t\00w\00o\00-\00c\00o\00l\00u\00m\00n\00 \00t\00e\00x\00t\00.\00 \00I\00f\00 \00c\00o\00m\00b\00i\00n\00i\00n\00g\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00s\00 \00a\00r\00e\00 \00h\00a\00n\00d\00l\00e\00d\00\n\00c\00o\00r\00r\00e\00c\00t\00l\00y\00,\00 \00t\00h\00e\00 \00l\00i\00n\00e\00s\00 \00o\00f\00 \00t\00h\00e\00 \00s\00e\00c\00o\00n\00d\00 \00c\00o\00l\00u\00m\00n\00 \00s\00h\00o\00u\00l\00d\00 \00b\00e\00 \00a\00l\00i\00g\00n\00e\00d\00 \00w\00i\00t\00h\00 \00t\00h\00e\00\n\00|\00 \00c\00h\00a\00r\00a\00c\00t\00e\00r\00 \00a\00b\00o\00v\00e\00.\00)\00\n\00\n\00E\00t\00h\00i\00o\00p\00i\00a\00n\00:\00\n\00\n\00P\00r\00o\00v\00e\00r\00b\00s\00 \00i\00n\00 \00t\00h\00e\00 \00A\00m\00h\00a\00r\00i\00c\00 \00l\00a\00n\00g\00u\00a\00g\00e\00:\00\n\00\n\000\12\1b\12\ed\12 \00\a0\12\ed\12s\12(\125\12 \00\95\12\t\13%\12 \00\a0\12\ed\12\a8\120\125\12b\13\n\00e\12\0b\12 \00\ab\12\08\12\9d\12 \00\a5\12\95\12\f0\12\a0\12c\12t\12 \00`\12F\12\18\12 \13\9d\12b\13\n\00\0c\13%\13 \00\eb\12\08\12d\12q\12 \00A\12\1d\12%\13\93\12 \00\90\12\cd\12b\13\n\00\f0\12\00\12 \00`\12\15\12\r\12\19\12 \00E\12d\12 \00c\12\ed\12 \13#\13 \00\95\12#\13u\12 \00`\12\08\13\f0\12\08\12\cd\12b\13\n\00\e8\12\a0\12M\13 \00\c8\12\08\12\1d\12s\12 \00`\12E\12d\12 \00\a0\12\ed\12s\12=\12\1d\12b\13\n\00\a0\12\ed\12%\13 \00`\12`\12\0b\12 \00\f3\12\cb\12 \00p\12\18\12s\12b\13\n\002\12p\12(\12\t\13\19\12 \00\ed\12\f0\12(\12\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\12b\13\n\00\f5\12-\12 \00b\12\eb\12e\12-\12 \00\a0\12\95\12`\123\12 \00\eb\125\12-\12b\13\n\000\12\cd\12 \00\a5\12\95\12\f0\12d\12q\12 \00\a5\12\95\12\05\13 \00\a5\12\95\12\f0\12 \00\t\13(\12d\12q\12 \00\a0\12\ed\12p\12\f3\12\f0\12-\12\1d\12b\13\n\00\a5\12\r\13\dc\12-\12 \00\e8\12\a8\12H\13p\12\cd\12\95\12 \00\t\13.\12.\12 \003\12\ed\12\d8\12\0b\13\cd\12 \00\a0\12\ed\12\f5\12-\12\1d\12b\13\n\00\e8\12\0e\13(\12d\12u\12 \00\0c\12c\12e\13 \00b\12\eb\12\e9\12u\12 \00\ed\125\12E\12 \00c\12\eb\12\e9\12u\12 \00\eb\12 \13\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\12\04\13\95\12 \00\0b\12K\13s\12u\12b\13\n\00\d3\12c\12\ed\12 \00\1b\12\f0\12*\12\eb\12 \00\e8\12\08\12\cd\12e\13 \00\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\12b\13\n\00\e8\12\a5\125\12\0b\12\1d\12 \00\a0\12\08\13)\12 \00\18\12\ab\12 \00\e8\12\a0\12\1e\12+\12 \00\a0\12\08\13)\12 \00\cb\12-\12\ab\12b\13\n\00p\12\95\12\0b\13\0e\12 \00b\12p\12I\13 \00p\12\18\12\r\126\12 \00c\12I\13b\13\n\00\c8\12\f3\12\05\13\05\12 \00\1b\12-\12 \00b\12\06\12\95\12 \00(\13-\125\12\05\12 \00\a0\12u\12\0b\120\12\cd\12b\13\n\00\a5\12\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\12\ad\12 \00\d8\12-\12\0b\13b\13\n\00\n\00R\00u\00n\00e\00s\00:\00\n\00\n\00\bb\16\d6\16 \00\b3\16\b9\16\ab\16\a6\16 \00\a6\16\ab\16\cf\16 \00\bb\16\d6\16 \00\d2\16\a2\16\de\16\d6\16 \00\a9\16\be\16 \00\a6\16\ab\16\d7\16 \00\da\16\aa\16\be\16\de\16\d6\16 \00\be\16\a9\16\b1\16\a6\16\b9\16\d6\16\aa\16\b1\16\de\16\a2\16\d7\16 \00\b9\16\c1\16\a6\16 \00\a6\16\aa\16 \00\b9\16\d6\16\e5\16\ab\16\n\00\n\00(\00O\00l\00d\00 \00E\00n\00g\00l\00i\00s\00h\00,\00 \00w\00h\00i\00c\00h\00 \00t\00r\00a\00n\00s\00c\00r\00i\00b\00e\00d\00 \00i\00n\00t\00o\00 \00L\00a\00t\00i\00n\00 \00r\00e\00a\00d\00s\00 \00\'\00H\00e\00 \00c\00w\00a\00e\00t\00h\00 \00t\00h\00a\00t\00 \00h\00e\00\n\00b\00u\00d\00e\00 \00t\00h\00a\00e\00m\00 \00l\00a\00n\00d\00e\00 \00n\00o\00r\00t\00h\00w\00e\00a\00r\00d\00u\00m\00 \00w\00i\00t\00h\00 \00t\00h\00a\00 \00W\00e\00s\00t\00s\00a\00e\00.\00\'\00 \00a\00n\00d\00 \00m\00e\00a\00n\00s\00 \00\'\00H\00e\00 \00s\00a\00i\00d\00\n\00t\00h\00a\00t\00 \00h\00e\00 \00l\00i\00v\00e\00d\00 \00i\00n\00 \00t\00h\00e\00 \00n\00o\00r\00t\00h\00e\00r\00n\00 \00l\00a\00n\00d\00 \00n\00e\00a\00r\00 \00t\00h\00e\00 \00W\00e\00s\00t\00e\00r\00n\00 \00S\00e\00a\00.\00\'\00)\00\n\00\n\00B\00r\00a\00i\00l\00l\00e\00:\00\n\00\n\00L(\01(\'(\11( \00<(\01(\12( \00 \00M(\1c(\07(\11(9(0(\0e( \00c(\15(\0c(\n\00\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\19(\11(\01(\19(\12( \00\1e(\15( \00\03(\11(\1b(\14( \00:(\n(9(2( \00y(;(\11( \00\n(\0e( \00\1d(\15( \00\19(3(\03(\1e(\n\001(\01(\1e(\11(\'(;( \00\01(\03(3(\1e( \009(\01(\1e(2( \00y(\11( \00\17(\11(\1b(\n(\0c(;( \00\15(\0b( \00\19(\n(\0e( \00\03(%(\17(\n(\01(\07( \00:(\01(\0e(\n\00\0e(\n(\1b(\1d(+( \00\03(9( \009(\11( \00\n(\07(;(\1b(9(\r(\01(\1d(\02( \009(\11( \00\n(\07(;(\05(\02( \009(\11( \00%(\1d(\19(;(\1e(\01(\05(;(\02(\n\00\01(\1d(\19( \009(\11( \00!(\n(\11(\0b( \00\r(3(\17(\1d(;(2( \00N(\n(\17(\15(\15(\1b(\11( \00\0e(\n(\1b(\1d(+( \00\n(\1e(2( \00A(\1d(\19(\n\00N(\n(\17(\15(\15(\1b(\11(0(\0e( \00\1d(\01(\r(\11( \00:(\01(\0e( \00\1b(\15(\15(\19( \00%(\0f(\15(\1d( \000(a(\01(\1d(\1b(\11(\02( \00\0b(\15(\17( \00\01(\1d(9(9(\14(\1b( \00\19(\11(\n\00!(\15(\0e(\11( \00\1e(\15( \00\0f(%(\1e( \00\19(\n(\0e( \00\19(\01(\1d(\19( \00\1e(\15(2(\n\00\n\00U(\07(\19( \00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00M(\14(\19(\16( \00J( \00\19(\15(\1d(0(\1e( \00\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(9(\n\00*(\1d( \00\05(\1d(*(\07(+(\1b(\11(\02( \001(\01(\1e( \009(;(\11( \00\n(\0e( \00\0f(\1c(\1e(\n(\n(%(\07(\1c(\07(9( \00\19(\11(\01(\19( \00\01(\03(3(\1e(\n\00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2( \00J( \00\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(9(\0e(\11(\07(\0b(\02( \00\1e(\15(\n\00\17(\11(\1b(\1c(\19( \00\01( \00\n(\15(\0b(\0b(\14($(\1d(\01(\n(\07( \00\01(\0e( \009(\11( \00\19(\11(\01(\19(\11(\0c( \00\0f(\n(\11(\n(\11( \00\15(\0b( \00\n(\17(\15(\1d(\r(\15(\1d(\1b(;(9(\n\00\14( \009(\11( \00\1e(\17(\01(\19(\11(2( \00C(%(\1e( \009(\11( \00:(\n(\0e(\19(\15(\r( \00\15(\0b( \003(\17( \00\01(\1d(\n(\11(\0c(\15(\17(\0e(\n\00\n(\0e( \00\14( \009(\11( \00\0e(\n(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(9( \00%(\1d(\19(\01(\07(\07(*(+( \00\19(\01(\1d(\19(\0e(\n\00)(\01(\07(\07( \00\1d(\15(\1e( \00\19(\n(\0c(%(\17(\03( \00\n(\1e(\02( \00\15(\17( \009(\11( \00J(3(\1d(\1e(\17(9(0(\0e( \00\19(\15(\1d(\11( \00\0b(\15(\17(2( \00y(3(\n\00:(\n(\07(\07( \009(;(\11(\0b(\15(\17(\11( \00\0f(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\0f(\19(\01(\1e(\n(\n(\01(\07(\07(9(\02( \009(\01(\1e(\n\00M(\1c(\07(\11(9( \00:(\01(\0e( \00\01(\0e( \00\19(\11(\01(\19( \00\01(\0e( \00\01( \00\19(\15(\15(\17($(\1d(\01(\n(\07(2(\n\00\n\00(\00T\00h\00e\00 \00f\00i\00r\00s\00t\00 \00c\00o\00u\00p\00l\00e\00 \00o\00f\00 \00p\00a\00r\00a\00g\00r\00a\00p\00h\00s\00 \00o\00f\00 \00\"\00A\00 \00C\00h\00r\00i\00s\00t\00m\00a\00s\00 \00C\00a\00r\00o\00l\00\"\00 \00b\00y\00 \00D\00i\00c\00k\00e\00n\00s\00)\00\n\00\n\00C\00o\00m\00p\00a\00c\00t\00 \00f\00o\00n\00t\00 \00s\00e\00l\00e\00c\00t\00i\00o\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00t\00e\00x\00t\00:\00\n\00\n\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\00 \00/\000\001\002\003\004\005\006\007\008\009\00\n\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\00 \00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\n\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\n\00\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10\n\00\n\00G\00r\00e\00e\00t\00i\00n\00g\00s\00 \00i\00n\00 \00v\00a\00r\00i\00o\00u\00s\00 \00l\00a\00n\00g\00u\00a\00g\00e\00s\00:\00\n\00\n\00H\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00,\00 \00\9a\03\b1\03\bb\03\b7\03\bc\03s\1f\c1\03\b1\03 \00\ba\03y\1f\c3\03\bc\03\b5\03,\00 \00\b30\f30\cb0\c10\cf0\n\00\n\00B\00o\00x\00 \00d\00r\00a\00w\00i\00n\00g\00 \00a\00l\00i\00g\00n\00m\00e\00n\00t\00 \00t\00e\00s\00t\00s\00:\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\88%\n\00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\89%\n\00T%P%P%f%P%P%W% \00 \00\0c%\00%\00%,%\00%\00%\10% \00 \00m%\00%\00%,%\00%\00%n% \00 \00m%\00%\00%,%\00%\00%n% \00 \00\0f%\01%\01%3%\01%\01%\13% \00 \00\0e%\12%\0f%\11% \00 \00 \00w% \00 \00{% \00\0f%/%\13% \00\0c%0%\10% \00 \00 \00 \00\8a% \00q%r%q%r%s%s%s%\n\00Q%\0c%\00%h%\00%\10%Q% \00 \00\02%T%P%g%P%W%\02% \00 \00\02%R%P%j%P%U%\02% \00 \00\02%S%\00%A%\00%V%\02% \00 \00\03%\0c%\00%B%\00%\10%\03% \00 \00\17%C%D%\19% \00 \00v%<%t%z%K%x% %<%(% \00\1d%K%%% \00 \00 \00 \00\8b% \00r%q%r%q%s%s%s%\n\00Q%\02%r% \00q%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00\7f% \00\02%\03% \00 \00\r%E%F%\13% \00 \00 \00u% \00 \00y% \00\17%7%\1b% \00\14%8%\18% \00 \00 \00 \00\8c% \00q%r%q%r%s%s%s%\n\00`%a% \00s% \00^%c% \00 \00\1c%b% \00 \00 \00_%$% \00 \00\1c%<%\00%<%\00%<%$% \00 \00\1c%k%\00%B%\00%k%$% \00 \00#%?%~%<%|%?%+% \00 \00\15%\1b%\16%\1a% \00 \00 \00 \00 \00\0c%\04%\04%\10% \00N% \00\0f%\05%\05%\13% \00\0b% \00\8d% \00r%q%r%q%s%s%s%\n\00Q%\02%q% \00r%\02%Q% \00 \00\02%Q% \00 \00 \00Q%\02% \00 \00\02%\02% \00\02% \00\02%\02% \00 \00\02%Q% \00\03% \00Q%\02% \00 \00\03%\02% \00}% \00\02%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8e%\n\00Q%\14%\00%e%\00%\18%Q% \00 \00\02%Z%P%d%P%]%\02% \00 \00\02%X%P%j%P%[%\02% \00 \00\02%Y%\00%@%\00%\\%\02% \00 \00\03%\14%\00%B%\00%\18%\03% \00 \00\91%\91%\92%\92%\93%\93%\88%\88% \00\n% \00 \00\06% \00N% \00O% \00 \00\07% \00\0b% \00\8f%\n\00Z%P%P%i%P%P%]% \00 \00\14%\00%\00%4%\00%\00%\18% \00 \00p%\00%\00%4%\00%\00%o% \00 \00p%\00%\00%4%\00%\00%o% \00 \00\17%\01%\01%;%\01%\01%\1b% \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00\14%L%L%\18% \00N% \00\17%M%M%\1b% \00\0b% \00 \00\81%\82%\83%\84%\85%\86%\87%\88%\n") (data (i32.const 15212) "\8c\1d") - (data (i32.const 15224) "\01\00\00\00p\1d\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\r\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n\00\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n") - (data (i32.const 22784) "\03\00\00\00 \00\00\00 ") + (data (i32.const 15224) "\02\00\00\00p\1d\00\00S\00e\00n\00t\00e\00n\00c\00e\00s\00 \00t\00h\00a\00t\00 \00c\00o\00n\00t\00a\00i\00n\00 \00a\00l\00l\00 \00l\00e\00t\00t\00e\00r\00s\00 \00c\00o\00m\00m\00o\00n\00l\00y\00 \00u\00s\00e\00d\00 \00i\00n\00 \00a\00 \00l\00a\00n\00g\00u\00a\00g\00e\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00M\00a\00r\00k\00u\00s\00 \00K\00u\00h\00n\00 \00<\00h\00t\00t\00p\00:\00/\00/\00w\00w\00w\00.\00c\00l\00.\00c\00a\00m\00.\00a\00c\00.\00u\00k\00/\00~\00m\00g\00k\002\005\00/\00>\00 \00-\00-\00 \002\000\001\002\00-\000\004\00-\001\001\00\n\00\n\00T\00h\00i\00s\00 \00i\00s\00 \00a\00n\00 \00e\00x\00a\00m\00p\00l\00e\00 \00o\00f\00 \00a\00 \00p\00l\00a\00i\00n\00-\00t\00e\00x\00t\00 \00f\00i\00l\00e\00 \00e\00n\00c\00o\00d\00e\00d\00 \00i\00n\00 \00U\00T\00F\00-\008\00.\00\n\00\n\00\n\00D\00a\00n\00i\00s\00h\00 \00(\00d\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00Q\00u\00i\00z\00d\00e\00l\00t\00a\00g\00e\00r\00n\00e\00 \00s\00p\00i\00s\00t\00e\00 \00j\00o\00r\00d\00b\00\e6\00r\00 \00m\00e\00d\00 \00f\00l\00\f8\00d\00e\00,\00 \00m\00e\00n\00s\00 \00c\00i\00r\00k\00u\00s\00k\00l\00o\00v\00n\00e\00n\00\n\00 \00 \00W\00o\00l\00t\00h\00e\00r\00 \00s\00p\00i\00l\00l\00e\00d\00e\00 \00p\00\e5\00 \00x\00y\00l\00o\00f\00o\00n\00.\00\n\00 \00 \00(\00=\00 \00Q\00u\00i\00z\00 \00c\00o\00n\00t\00e\00s\00t\00a\00n\00t\00s\00 \00w\00e\00r\00e\00 \00e\00a\00t\00i\00n\00g\00 \00s\00t\00r\00a\00w\00b\00e\00r\00y\00 \00w\00i\00t\00h\00 \00c\00r\00e\00a\00m\00 \00w\00h\00i\00l\00e\00 \00W\00o\00l\00t\00h\00e\00r\00\n\00 \00 \00t\00h\00e\00 \00c\00i\00r\00c\00u\00s\00 \00c\00l\00o\00w\00n\00 \00p\00l\00a\00y\00e\00d\00 \00o\00n\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00.\00)\00\n\00\n\00G\00e\00r\00m\00a\00n\00 \00(\00d\00e\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00F\00a\00l\00s\00c\00h\00e\00s\00 \00\dc\00b\00e\00n\00 \00v\00o\00n\00 \00X\00y\00l\00o\00p\00h\00o\00n\00m\00u\00s\00i\00k\00 \00q\00u\00\e4\00l\00t\00 \00j\00e\00d\00e\00n\00 \00g\00r\00\f6\00\df\00e\00r\00e\00n\00 \00Z\00w\00e\00r\00g\00\n\00 \00 \00(\00=\00 \00W\00r\00o\00n\00g\00f\00u\00l\00 \00p\00r\00a\00c\00t\00i\00c\00i\00n\00g\00 \00o\00f\00 \00x\00y\00l\00o\00p\00h\00o\00n\00e\00 \00m\00u\00s\00i\00c\00 \00t\00o\00r\00t\00u\00r\00e\00s\00 \00e\00v\00e\00r\00y\00 \00l\00a\00r\00g\00e\00r\00 \00d\00w\00a\00r\00f\00)\00\n\00\n\00 \00 \00Z\00w\00\f6\00l\00f\00 \00B\00o\00x\00k\00\e4\00m\00p\00f\00e\00r\00 \00j\00a\00g\00t\00e\00n\00 \00E\00v\00a\00 \00q\00u\00e\00r\00 \00\fc\00b\00e\00r\00 \00d\00e\00n\00 \00S\00y\00l\00t\00e\00r\00 \00D\00e\00i\00c\00h\00\n\00 \00 \00(\00=\00 \00T\00w\00e\00l\00v\00e\00 \00b\00o\00x\00i\00n\00g\00 \00f\00i\00g\00h\00t\00e\00r\00s\00 \00h\00u\00n\00t\00e\00d\00 \00E\00v\00a\00 \00a\00c\00r\00o\00s\00s\00 \00t\00h\00e\00 \00d\00i\00k\00e\00 \00o\00f\00 \00S\00y\00l\00t\00)\00\n\00\n\00 \00 \00H\00e\00i\00z\00\f6\00l\00r\00\fc\00c\00k\00s\00t\00o\00\df\00a\00b\00d\00\e4\00m\00p\00f\00u\00n\00g\00\n\00 \00 \00(\00=\00 \00f\00u\00e\00l\00 \00o\00i\00l\00 \00r\00e\00c\00o\00i\00l\00 \00a\00b\00s\00o\00r\00b\00e\00r\00)\00\n\00 \00 \00(\00j\00q\00v\00w\00x\00y\00 \00m\00i\00s\00s\00i\00n\00g\00,\00 \00b\00u\00t\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00i\00n\00 \00o\00n\00e\00 \00w\00o\00r\00d\00)\00\n\00\n\00G\00r\00e\00e\00k\00 \00(\00e\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\93\03\b1\03\b6\03\ad\03\b5\03\c2\03 \00\ba\03\b1\03v\1f \00\bc\03\c5\03\c1\03\c4\03\b9\03r\1f\c2\03 \00\b4\03r\1f\bd\03 \00\b8\03p\1f \00\b2\03\c1\03\f6\1f \00\c0\03\b9\03p\1f \00\c3\03\c4\03x\1f \00\c7\03\c1\03\c5\03\c3\03\b1\03\c6\03v\1f \00\be\03\ad\03\c6\03\c9\03\c4\03\bf\03\n\00 \00 \00(\00=\00 \00N\00o\00 \00m\00o\00r\00e\00 \00s\00h\00a\00l\00l\00 \00I\00 \00s\00e\00e\00 \00a\00c\00a\00c\00i\00a\00s\00 \00o\00r\00 \00m\00y\00r\00t\00l\00e\00s\00 \00i\00n\00 \00t\00h\00e\00 \00g\00o\00l\00d\00e\00n\00 \00c\00l\00e\00a\00r\00i\00n\00g\00)\00\n\00\n\00 \00 \00\9e\03\b5\03\c3\03\ba\03\b5\03\c0\03\ac\03\b6\03\c9\03 \00\c4\03t\1f\bd\03 \00\c8\03\c5\03\c7\03\bf\03\c6\03\b8\03\cc\03\c1\03\b1\03 \00\b2\03\b4\03\b5\03\bb\03\c5\03\b3\03\bc\03\af\03\b1\03\n\00 \00 \00(\00=\00 \00I\00 \00u\00n\00c\00o\00v\00e\00r\00 \00t\00h\00e\00 \00s\00o\00u\00l\00-\00d\00e\00s\00t\00r\00o\00y\00i\00n\00g\00 \00a\00b\00h\00o\00r\00r\00e\00n\00c\00e\00)\00\n\00\n\00E\00n\00g\00l\00i\00s\00h\00 \00(\00e\00n\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00T\00h\00e\00 \00q\00u\00i\00c\00k\00 \00b\00r\00o\00w\00n\00 \00f\00o\00x\00 \00j\00u\00m\00p\00s\00 \00o\00v\00e\00r\00 \00t\00h\00e\00 \00l\00a\00z\00y\00 \00d\00o\00g\00\n\00\n\00S\00p\00a\00n\00i\00s\00h\00 \00(\00e\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00E\00l\00 \00p\00i\00n\00g\00\fc\00i\00n\00o\00 \00W\00e\00n\00c\00e\00s\00l\00a\00o\00 \00h\00i\00z\00o\00 \00k\00i\00l\00\f3\00m\00e\00t\00r\00o\00s\00 \00b\00a\00j\00o\00 \00e\00x\00h\00a\00u\00s\00t\00i\00v\00a\00 \00l\00l\00u\00v\00i\00a\00 \00y\00\n\00 \00 \00f\00r\00\ed\00o\00,\00 \00a\00\f1\00o\00r\00a\00b\00a\00 \00a\00 \00s\00u\00 \00q\00u\00e\00r\00i\00d\00o\00 \00c\00a\00c\00h\00o\00r\00r\00o\00.\00\n\00 \00 \00(\00C\00o\00n\00t\00a\00i\00n\00s\00 \00e\00v\00e\00r\00y\00 \00l\00e\00t\00t\00e\00r\00 \00a\00n\00d\00 \00e\00v\00e\00r\00y\00 \00a\00c\00c\00e\00n\00t\00,\00 \00b\00u\00t\00 \00n\00o\00t\00 \00e\00v\00e\00r\00y\00 \00c\00o\00m\00b\00i\00n\00a\00t\00i\00o\00n\00\n\00 \00 \00o\00f\00 \00v\00o\00w\00e\00l\00 \00+\00 \00a\00c\00u\00t\00e\00.\00)\00\n\00\n\00F\00r\00e\00n\00c\00h\00 \00(\00f\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00o\00r\00t\00e\00z\00 \00c\00e\00 \00v\00i\00e\00u\00x\00 \00w\00h\00i\00s\00k\00y\00 \00a\00u\00 \00j\00u\00g\00e\00 \00b\00l\00o\00n\00d\00 \00q\00u\00i\00 \00f\00u\00m\00e\00 \00s\00u\00r\00 \00s\00o\00n\00 \00\ee\00l\00e\00 \00i\00n\00t\00\e9\00r\00i\00e\00u\00r\00e\00,\00 \00\e0\00\n\00 \00 \00c\00\f4\00t\00\e9\00 \00d\00e\00 \00l\00\'\00a\00l\00c\00\f4\00v\00e\00 \00o\00v\00o\00\ef\00d\00e\00,\00 \00o\00\f9\00 \00l\00e\00s\00 \00b\00\fb\00c\00h\00e\00s\00 \00s\00e\00 \00c\00o\00n\00s\00u\00m\00e\00n\00t\00 \00d\00a\00n\00s\00 \00l\00\'\00\e2\00t\00r\00e\00,\00 \00c\00e\00\n\00 \00 \00q\00u\00i\00 \00l\00u\00i\00 \00p\00e\00r\00m\00e\00t\00 \00d\00e\00 \00p\00e\00n\00s\00e\00r\00 \00\e0\00 \00l\00a\00 \00c\00\e6\00n\00o\00g\00e\00n\00\e8\00s\00e\00 \00d\00e\00 \00l\00\'\00\ea\00t\00r\00e\00 \00d\00o\00n\00t\00 \00i\00l\00 \00e\00s\00t\00 \00q\00u\00e\00s\00t\00i\00o\00n\00\n\00 \00 \00d\00a\00n\00s\00 \00l\00a\00 \00c\00a\00u\00s\00e\00 \00a\00m\00b\00i\00g\00u\00\eb\00 \00e\00n\00t\00e\00n\00d\00u\00e\00 \00\e0\00 \00M\00o\00\ff\00,\00 \00d\00a\00n\00s\00 \00u\00n\00 \00c\00a\00p\00h\00a\00r\00n\00a\00\fc\00m\00 \00q\00u\00i\00,\00\n\00 \00 \00p\00e\00n\00s\00e\00-\00t\00-\00i\00l\00,\00 \00d\00i\00m\00i\00n\00u\00e\00 \00\e7\00\e0\00 \00e\00t\00 \00l\00\e0\00 \00l\00a\00 \00q\00u\00a\00l\00i\00t\00\e9\00 \00d\00e\00 \00s\00o\00n\00 \00S\01u\00v\00r\00e\00.\00\n\00\n\00 \00 \00l\00\'\00\ee\00l\00e\00 \00e\00x\00i\00g\00u\00\eb\00\n\00 \00 \00O\00\f9\00 \00l\00\'\00o\00b\00\e8\00s\00e\00 \00j\00u\00r\00y\00 \00m\00\fb\00r\00\n\00 \00 \00F\00\ea\00t\00e\00 \00l\00\'\00h\00a\00\ef\00 \00v\00o\00l\00a\00p\00\fc\00k\00,\00\n\00 \00 \00\c2\00n\00e\00 \00e\00x\00 \00a\00\e9\00q\00u\00o\00 \00a\00u\00 \00w\00h\00i\00s\00t\00,\00\n\00 \00 \00\d4\00t\00e\00z\00 \00c\00e\00 \00v\00S\01u\00 \00d\00\e9\00\e7\00u\00.\00\n\00\n\00 \00 \00L\00e\00 \00c\00S\01u\00r\00 \00d\00\e9\00\e7\00u\00 \00m\00a\00i\00s\00 \00l\00\'\00\e2\00m\00e\00 \00p\00l\00u\00t\00\f4\00t\00 \00n\00a\00\ef\00v\00e\00,\00 \00L\00o\00u\00\ff\00s\00 \00r\00\ea\00v\00a\00 \00d\00e\00 \00c\00r\00a\00p\00a\00\fc\00t\00e\00r\00 \00e\00n\00\n\00 \00 \00c\00a\00n\00o\00\eb\00 \00a\00u\00 \00d\00e\00l\00\e0\00 \00d\00e\00s\00 \00\ee\00l\00e\00s\00,\00 \00p\00r\00\e8\00s\00 \00d\00u\00 \00m\00\e4\00l\00s\00t\00r\00\f6\00m\00 \00o\00\f9\00 \00b\00r\00\fb\00l\00e\00n\00t\00 \00l\00e\00s\00 \00n\00o\00v\00\e6\00.\00\n\00\n\00I\00r\00i\00s\00h\00 \00G\00a\00e\00l\00i\00c\00 \00(\00g\00a\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00D\00\'\00f\00h\00u\00a\00s\00c\00a\00i\00l\00 \00\cd\00o\00s\00a\00,\00 \00\da\00r\00m\00h\00a\00c\00 \00n\00a\00 \00h\00\d3\00i\00g\00h\00e\00 \00B\00e\00a\00n\00n\00a\00i\00t\00h\00e\00,\00 \00p\00\f3\00r\00 \00\c9\00a\00v\00a\00 \00a\00g\00u\00s\00 \00\c1\00d\00h\00a\00i\00m\00h\00\n\00\n\00H\00u\00n\00g\00a\00r\00i\00a\00n\00 \00(\00h\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c1\00r\00v\00\ed\00z\00t\00q\01r\00Q\01 \00t\00\fc\00k\00\f6\00r\00f\00\fa\00r\00\f3\00g\00\e9\00p\00\n\00 \00 \00(\00=\00 \00f\00l\00o\00o\00d\00-\00p\00r\00o\00o\00f\00 \00m\00i\00r\00r\00o\00r\00-\00d\00r\00i\00l\00l\00i\00n\00g\00 \00m\00a\00c\00h\00i\00n\00e\00,\00 \00o\00n\00l\00y\00 \00a\00l\00l\00 \00n\00o\00n\00-\00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00)\00\n\00\n\00I\00c\00e\00l\00a\00n\00d\00i\00c\00 \00(\00i\00s\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00K\00\e6\00m\00i\00 \00n\00\fd\00 \00\f6\00x\00i\00 \00h\00\e9\00r\00 \00y\00k\00i\00s\00t\00 \00\fe\00j\00\f3\00f\00u\00m\00 \00n\00\fa\00 \00b\00\e6\00\f0\00i\00 \00v\00\ed\00l\00 \00o\00g\00 \00\e1\00d\00r\00e\00p\00a\00\n\00\n\00 \00 \00S\00\e6\00v\00\f6\00r\00 \00g\00r\00\e9\00t\00 \00\e1\00\f0\00a\00n\00 \00\fe\00v\00\ed\00 \00\fa\00l\00p\00a\00n\00 \00v\00a\00r\00 \00\f3\00n\00\fd\00t\00\n\00 \00 \00(\00s\00o\00m\00e\00 \00A\00S\00C\00I\00I\00 \00l\00e\00t\00t\00e\00r\00s\00 \00m\00i\00s\00s\00i\00n\00g\00)\00\n\00\n\00J\00a\00p\00a\00n\00e\00s\00e\00 \00(\00j\00p\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00H\00i\00r\00a\00g\00a\00n\00a\00:\00 \00(\00I\00r\00o\00h\00a\00)\00\n\00\n\00 \00 \00D0\8d0o0k0{0x0h0a0\8a0l0\8b0\920\n\00 \00 \00\8f0K0\880_0\8c0]0d0m0j0\890\800\n\00 \00 \00F0\900n0J0O0\840~0Q0u0S0H0f0\n\00 \00 \00B0U0M0\860\810\7f0W0\910r0\820[0Y0\n\00\n\00 \00 \00K\00a\00t\00a\00k\00a\00n\00a\00:\00\n\00\n\00 \00 \00\a40\ed0\cf0\cb0\db0\d80\c80 \00\c10\ea0\cc0\eb0\f20 \00\ef0\ab0\e80\bf0\ec0\bd0 \00\c40\cd0\ca0\e90\e00\n\00 \00 \00\a60\f00\ce0\aa0\af0\e40\de0 \00\b10\d50\b30\a80\c60 \00\a20\b50\ad0\e60\e10\df0\b70 \00\f10\d20\e20\bb0\b90\f30\n\00\n\00H\00e\00b\00r\00e\00w\00 \00(\00i\00w\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00?\00 \00\d3\05\d2\05 \00\e1\05\e7\05\e8\05\df\05 \00\e9\05\d8\05 \00\d1\05\d9\05\dd\05 \00\de\05\d0\05\d5\05\db\05\d6\05\d1\05 \00\d5\05\dc\05\e4\05\ea\05\e2\05 \00\de\05\e6\05\d0\05 \00\dc\05\d5\05 \00\d7\05\d1\05\e8\05\d4\05 \00\d0\05\d9\05\da\05 \00\d4\05\e7\05\dc\05\d9\05\d8\05\d4\05\n\00\n\00P\00o\00l\00i\00s\00h\00 \00(\00p\00l\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00c\00h\00n\00\05\01\07\01 \00w\00 \00t\00\19\01 \00B\01\f3\00d\00z\01 \00j\00e\00|\01a\00 \00l\00u\00b\00 \00o\00[\01m\00 \00s\00k\00r\00z\00y\00D\01 \00f\00i\00g\00\n\00 \00 \00(\00=\00 \00T\00o\00 \00p\00u\00s\00h\00 \00a\00 \00h\00e\00d\00g\00e\00h\00o\00g\00 \00o\00r\00 \00e\00i\00g\00h\00t\00 \00b\00i\00n\00s\00 \00o\00f\00 \00f\00i\00g\00s\00 \00i\00n\00 \00t\00h\00i\00s\00 \00b\00o\00a\00t\00)\00\n\00\n\00R\00u\00s\00s\00i\00a\00n\00 \00(\00r\00u\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\12\04 \00G\040\04I\040\04E\04 \00N\043\040\04 \006\048\04;\04 \001\04K\04 \00F\048\04B\04@\04C\04A\04?\00 \00\14\040\04,\00 \00=\04>\04 \00D\040\04;\04L\04H\048\042\04K\049\04 \00M\04:\047\045\04<\04?\04;\04O\04@\04!\00\n\00 \00 \00(\00=\00 \00W\00o\00u\00l\00d\00 \00a\00 \00c\00i\00t\00r\00u\00s\00 \00l\00i\00v\00e\00 \00i\00n\00 \00t\00h\00e\00 \00b\00u\00s\00h\00e\00s\00 \00o\00f\00 \00s\00o\00u\00t\00h\00?\00 \00Y\00e\00s\00,\00 \00b\00u\00t\00 \00o\00n\00l\00y\00 \00a\00 \00f\00a\00k\00e\00 \00o\00n\00e\00!\00)\00\n\00\n\00 \00 \00!\04J\045\04H\04L\04 \006\045\04 \005\04I\04Q\04 \00M\04B\048\04E\04 \00<\04O\043\04:\048\04E\04 \00D\04@\040\04=\04F\04C\047\04A\04:\048\04E\04 \001\04C\04;\04>\04:\04 \004\040\04 \002\04K\04?\045\049\04 \00G\040\04N\04\n\00 \00 \00(\00=\00 \00E\00a\00t\00 \00s\00o\00m\00e\00 \00m\00o\00r\00e\00 \00o\00f\00 \00t\00h\00e\00s\00e\00 \00f\00r\00e\00s\00h\00 \00F\00r\00e\00n\00c\00h\00 \00l\00o\00a\00f\00s\00 \00a\00n\00d\00 \00h\00a\00v\00e\00 \00s\00o\00m\00e\00 \00t\00e\00a\00)\00\n\00\n\00T\00h\00a\00i\00 \00(\00t\00h\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00[\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00|\00-\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\n\00 \00 \00O\0e \00@\0e\1b\0eG\0e\19\0e!\0e\19\0e8\0e)\0e\"\0eL\0e*\0e8\0e\14\0e\1b\0e#\0e0\0e@\0e*\0e#\0e4\0e\10\0e@\0e%\0e4\0e(\0e\04\0e8\0e\13\0e\04\0eH\0e2\0e \00 \00\01\0e\'\0eH\0e2\0e\1a\0e#\0e#\0e\14\0e2\0e\1d\0e9\0e\07\0e*\0e1\0e\15\0e\'\0eL\0e@\0e\14\0e#\0e1\0e\08\0e\t\0e2\0e\19\0e\n\00 \00 \00\08\0e\07\0e\1d\0eH\0e2\0e\1f\0e1\0e\19\0e\1e\0e1\0e\12\0e\19\0e2\0e\'\0e4\0e\n\0e2\0e\01\0e2\0e#\0e \00 \00 \00 \00 \00 \00 \00 \00 \00 \00 \00-\0e\"\0eH\0e2\0e%\0eI\0e2\0e\07\0e\1c\0e%\0e2\0e\r\0e$\0eE\0e@\0e\02\0eH\0e\19\0e\06\0eH\0e2\0e\1a\0e5\0e\11\0e2\0eC\0e\04\0e#\0e\n\00 \00 \00D\0e!\0eH\0e\16\0e7\0e-\0eB\0e\17\0e)\0eB\0e\01\0e#\0e\18\0eA\0e\n\0eH\0e\07\0e\0b\0e1\0e\14\0e.\0e6\0e\14\0e.\0e1\0e\14\0e\14\0eH\0e2\0e \00 \00 \00 \00 \00+\0e1\0e\14\0e-\0e \0e1\0e\"\0e@\0e+\0e!\0e7\0e-\0e\19\0e\01\0e5\0e,\0e2\0e-\0e1\0e\n\0e\0c\0e2\0e*\0e1\0e\"\0e\n\00 \00 \00\1b\0e\0f\0e4\0e\1a\0e1\0e\15\0e4\0e\1b\0e#\0e0\0e\1e\0e$\0e\15\0e4\0e\01\0e\0e\0e\01\0e3\0e+\0e\19\0e\14\0eC\0e\08\0e \00 \00 \00 \00 \00 \00 \00 \00\1e\0e9\0e\14\0e\08\0e2\0eC\0e+\0eI\0e\08\0eJ\0e0\0eF\0e \00\08\0eK\0e2\0eF\0e \00\19\0eH\0e2\0e\1f\0e1\0e\07\0e@\0e-\0e\"\0e \00/\0e\n\00\n\00 \00 \00[\00T\00h\00e\00 \00c\00o\00p\00y\00r\00i\00g\00h\00t\00 \00f\00o\00r\00 \00t\00h\00e\00 \00T\00h\00a\00i\00 \00e\00x\00a\00m\00p\00l\00e\00 \00i\00s\00 \00o\00w\00n\00e\00d\00 \00b\00y\00 \00T\00h\00e\00 \00C\00o\00m\00p\00u\00t\00e\00r\00\n\00 \00 \00A\00s\00s\00o\00c\00i\00a\00t\00i\00o\00n\00 \00o\00f\00 \00T\00h\00a\00i\00l\00a\00n\00d\00 \00u\00n\00d\00e\00r\00 \00t\00h\00e\00 \00R\00o\00y\00a\00l\00 \00P\00a\00t\00r\00o\00n\00a\00g\00e\00 \00o\00f\00 \00H\00i\00s\00 \00M\00a\00j\00e\00s\00t\00y\00 \00t\00h\00e\00\n\00 \00 \00K\00i\00n\00g\00.\00]\00\n\00\n\00T\00u\00r\00k\00i\00s\00h\00 \00(\00t\00r\00)\00\n\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00P\00i\00j\00a\00m\00a\00l\001\01 \00h\00a\00s\00t\00a\00,\00 \00y\00a\00\1f\011\01z\00 \00_\01o\00f\00\f6\00r\00e\00 \00\e7\00a\00b\00u\00c\00a\00k\00 \00g\00\fc\00v\00e\00n\00d\00i\00.\00\n\00 \00 \00(\00=\00P\00a\00t\00i\00e\00n\00t\00 \00w\00i\00t\00h\00 \00p\00a\00j\00a\00m\00a\00s\00,\00 \00t\00r\00u\00s\00t\00e\00d\00 \00s\00w\00a\00r\00t\00h\00y\00 \00d\00r\00i\00v\00e\00r\00 \00q\00u\00i\00c\00k\00l\00y\00)\00\n\00\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n") + (data (i32.const 22784) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -102,7 +102,7 @@ if i32.const 0 i32.const 1216 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -651,10 +651,10 @@ if unreachable end - i32.const 55568 + i32.const 55584 i32.const 0 i32.store $0 - i32.const 57136 + i32.const 57152 i32.const 0 i32.store $0 loop $for-loop|0 @@ -665,7 +665,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 55568 + i32.const 55584 i32.add i32.const 0 i32.store $0 offset=4 @@ -683,7 +683,7 @@ i32.add i32.const 2 i32.shl - i32.const 55568 + i32.const 55584 i32.add i32.const 0 i32.store $0 offset=96 @@ -701,13 +701,13 @@ br $for-loop|0 end end - i32.const 55568 - i32.const 57140 + i32.const 55584 + i32.const 57156 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 55568 + i32.const 55584 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -792,7 +792,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 55568 + i32.const 55572 i32.lt_u if local.get $0 @@ -886,13 +886,13 @@ if i32.const 0 i32.const 1216 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 55568 + i32.const 55572 i32.lt_u if local.get $0 @@ -915,7 +915,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 55568 + i32.const 55572 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1115,7 +1115,7 @@ if i32.const 1152 i32.const 1216 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1640,11 +1640,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -1670,7 +1673,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1682,7 +1685,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1711,7 +1714,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 55568 + i32.const 55572 i32.sub i32.const 1 i32.shr_u @@ -1745,7 +1748,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1923,7 +1926,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -1976,7 +1979,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2024,7 +2027,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2186,7 +2189,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2352,7 +2355,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2408,7 +2411,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2631,7 +2634,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -2842,7 +2845,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3056,7 +3059,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3330,7 +3333,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3417,7 +3420,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3436,7 +3439,7 @@ i32.const 20 i32.sub i32.load $0 offset=16 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -3462,7 +3465,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3481,7 +3484,7 @@ i32.const -2 i32.and local.tee $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -3506,7 +3509,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3524,7 +3527,7 @@ local.get $0 local.get $1 call $~lib/string/String.UTF8.byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -3746,7 +3749,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 22804 i32.lt_s if i32.const 55600 @@ -3779,7 +3782,7 @@ local.get $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -4011,7 +4014,7 @@ if i32.const 0 i32.const 1216 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -4031,14 +4034,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 55568 + i32.const 55572 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1216 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -4052,7 +4055,7 @@ if i32.const 0 i32.const 1216 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -4074,7 +4077,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/std/string-nonnull.debug.wat b/tests/compiler/std/string-nonnull.debug.wat index 5f196bb90d..2d4d4bfe88 100644 --- a/tests/compiler/std/string-nonnull.debug.wat +++ b/tests/compiler/std/string-nonnull.debug.wat @@ -13,7 +13,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/string-nonnull.release.wat b/tests/compiler/std/string-nonnull.release.wat index 7cb59b60c9..7bca4447e8 100644 --- a/tests/compiler/std/string-nonnull.release.wat +++ b/tests/compiler/std/string-nonnull.release.wat @@ -5,7 +5,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33836)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index a3d3c50015..ab8d0f1270 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -67,482 +67,482 @@ (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 25392)) - (global $~lib/memory/__data_end i32 (i32.const 25416)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 58184)) - (global $~lib/memory/__heap_base i32 (i32.const 58184)) + (global $~lib/memory/__data_end i32 (i32.const 25420)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 58188)) + (global $~lib/memory/__heap_base i32 (i32.const 58188)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00\00\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\df\00\df\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\df\00a\00b\00\00\00\00\00\00\00") - (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\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 332) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00\00\00") + (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\df\00\df\00\00\00\00\00\00\00\00\00") + (data (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\df\00a\00b\00\00\00\00\00\00\00") + (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 576) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\d8\00\df\00\00\00\00\00\00\00\00") - (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\006\00\00\00\00\00\00\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00A\00\00\00B\00\00\00C\00\00\00") - (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00A\00B\00C\00\00\00\00\00\00\00") - (data (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\004\d8\00\00\06\df\00\00a\00\00\004\d8\00\00\07\df\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\004\d8\06\dfa\004\d8\07\df\00\00") - (data (i32.const 1100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\004\d8\06\df\00\00\00\00\00\00\00\00") - (data (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") - (data (i32.const 1164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00I\00\'\00m\00\00\00\00\00\00\00") - (data (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00 \00 \00 \00\00\00\00\00\00\00") - (data (i32.const 1292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 1324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \00 \00a\00b\00c\00\00\00") - (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 1388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\002\003\00a\00b\00c\00") - (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00b\00c\00 \00 \00\00\00") - (data (i32.const 1500) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 1532) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1580) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00,\00 \00I\00\00\00\00\00\00\00") - (data (i32.const 1676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1708) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1740) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00\00\00\00\00") - (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00d\00\00\00\00\00\00\00") - (data (i32.const 1804) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00f\00\00\00\00\00\00\00") - (data (i32.const 1836) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00z\00\00\00\00\00\00\00") - (data (i32.const 1868) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") - (data (i32.const 1900) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00b\00d\00d\00\00\00\00\00") - (data (i32.const 1932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00b\00 \00c\00\00\00\00\00") - (data (i32.const 1964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00 \00\t\00\r\00 \00\00\00\00\00\00\00") - (data (i32.const 2012) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00 \00\t\00\r\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2060) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2108) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2156) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\n\00\r\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 2204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00 \00 \00t\00r\00u\00e\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00t\00r\00u\00\00\00\00\00\00\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00T\00r\00u\00e\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\000\000\00\00\00\00\00\00\00") - (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") - (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\00b\001\000\001\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\00o\007\000\007\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\00x\00f\000\00f\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\00X\00F\000\00F\00\00\00") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\001\001\00\00\00\00\00\00\00") - (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00-\001\002\003\00\00\00\00\00") - (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00+\001\002\003\00\00\00\00\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00-\001\002\00.\003\00\00\00") - (data (i32.const 2764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00x\000\00\00\00\00\00\00\00") - (data (i32.const 2796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\00b\001\001\00\00\00\00\00") - (data (i32.const 2828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\n\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 2860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00( 1\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00) 1\00\00\00\00\00\00\00\00\00") - (data (i32.const 2924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00-\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 2956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\000\00X\00A\00B\00C\00D\00E\00F\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00A\00B\00C\00D\00E\00F\00") - (data (i32.const 3036) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\003\006\008\009\003\004\008\008\001\004\007\004\001\009\001\000\003\002\003\002\00\00\00\00\00") - (data (i32.const 3100) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\004\00\00\00-\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 3180) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\000\00x\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00") - (data (i32.const 3244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00=\d8%\dd\00\00\00\00\00\00") - (data (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\002\00b\00a\00d\00n\00u\00m\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00 \00\t\00\n\001\00\00\00\00\00") - (data (i32.const 3356) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\00 \00a\00b\00c\00\00\00") - (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00 \00a\00b\00c\00\00\00") - (data (i32.const 3468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00 \00\t\00\n\000\00 \00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00=\d8%\dd\00\00\00\00\00\00\00\00") - (data (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00b\00a\00d\00n\00u\00m\00") + (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\00\df\00\00\00\00\00\00\00\00") + (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\006\00\00\00\00\00\00\00") + (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00A\00\00\00B\00\00\00C\00\00\00") + (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00B\00C\00\00\00\00\00\00\00") + (data (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\004\d8\00\00\06\df\00\00a\00\00\004\d8\00\00\07\df\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\004\d8\06\dfa\004\d8\07\df\00\00") + (data (i32.const 1100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\004\d8\06\df\00\00\00\00\00\00\00\00") + (data (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") + (data (i32.const 1164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") + (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00I\00\'\00m\00\00\00\00\00\00\00") + (data (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00 \00 \00\00\00\00\00\00\00") + (data (i32.const 1292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data (i32.const 1324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00 \00a\00b\00c\00\00\00") + (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data (i32.const 1388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\003\00a\00b\00c\00") + (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00 \00 \00\00\00") + (data (i32.const 1500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c\00") + (data (i32.const 1532) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00,\00 \00I\00\00\00\00\00\00\00") + (data (i32.const 1676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00n\00u\00l\00l\00\00\00\00\00") + (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00d\00\00\00\00\00\00\00") + (data (i32.const 1804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00f\00\00\00\00\00\00\00") + (data (i32.const 1836) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00z\00\00\00\00\00\00\00") + (data (i32.const 1868) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") + (data (i32.const 1900) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00d\00d\00\00\00\00\00") + (data (i32.const 1932) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00 \00c\00\00\00\00\00") + (data (i32.const 1964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00 \00\t\00\r\00 \00\00\00\00\00\00\00") + (data (i32.const 2012) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00 \00\t\00\r\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2060) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2156) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\n\00\r\00 \00\00\00\00\00\00\00\00\00") + (data (i32.const 2204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00 \00 \00t\00r\00u\00e\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00r\00u\00\00\00\00\00\00\00") + (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00r\00u\00e\00\00\00\00\00") + (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\000\000\00\00\00\00\00\00\00") + (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") + (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00b\001\000\001\00\00\00") + (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00o\007\000\007\00\00\00") + (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00x\00f\000\00f\00\00\00") + (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00X\00F\000\00F\00\00\00") + (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\001\001\00\00\00\00\00\00\00") + (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\00x\001\00g\00\00\00\00\00") + (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\001\002\003\00\00\00\00\00") + (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\001\002\003\00\00\00\00\00") + (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\002\00.\003\00\00\00") + (data (i32.const 2764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00x\000\00\00\00\00\00\00\00") + (data (i32.const 2796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\00b\001\001\00\00\00\00\00") + (data (i32.const 2828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\n\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 2860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00( 1\00\00\00\00\00\00\00\00\00") + (data (i32.const 2892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00) 1\00\00\00\00\00\00\00\00\00") + (data (i32.const 2924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 2956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\000\00X\00A\00B\00C\00D\00E\00F\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00A\00B\00C\00D\00E\00F\00") + (data (i32.const 3036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\003\006\008\009\003\004\008\008\001\004\007\004\001\009\001\000\003\002\003\002\00\00\00\00\00") + (data (i32.const 3100) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00-\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 3180) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\000\00x\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00") + (data (i32.const 3244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00=\d8%\dd\00\00\00\00\00\00") + (data (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\002\00b\00a\00d\00n\00u\00m\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00 \00\t\00\n\001\00\00\00\00\00") + (data (i32.const 3356) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00 \00a\00b\00c\00\00\00") + (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00 \00a\00b\00c\00\00\00") + (data (i32.const 3468) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00 \00\t\00\n\000\00 \00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00=\d8%\dd\00\00\00\00\00\00\00\00") + (data (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00b\00a\00d\00n\00u\00m\00") (data (i32.const 3648) "\00\00\00\00\00\00\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") - (data (i32.const 3836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00\00\00\00\00\00\00\00\00") - (data (i32.const 3884) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00\00\00\00\00\00\00\00\00") - (data (i32.const 3948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\00.\00\00\00\00\00\00\00\00\00") - (data (i32.const 3980) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00.\000\000\00\00\00\00\00") - (data (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\00-\005\00\00\00\00\00") - (data (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00-\001\00e\00-\005\00\00\00") - (data (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4124) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\00-\001\00\00\00\00\00") - (data (i32.const 4204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\000\00.\001\00e\00-\000\00") - (data (i32.const 4236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\001\00\00\00\00\00\00\00") - (data (i32.const 4268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00.\002\005\00\00\00\00\00\00\00") - (data (i32.const 4300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\00+\003\00a\00") - (data (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4428) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\008\00") - (data (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\009\00") - (data (i32.const 4588) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4636) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00_\000\00\00\00\00\00\00\00") - (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00_\001\00\00\00\00\00\00\00") - (data (i32.const 4796) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 4844) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004\00\00\00\00\00\00\00") - (data (i32.const 4892) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009\00\00\00\00\00") - (data (i32.const 4940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\00-\006\000\00\00\00") - (data (i32.const 4972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\006\000\00\00\00\00\00") - (data (i32.const 5004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\002\003\00.\004\00e\00") - (data (i32.const 5036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\00x\00\00\00\00\00\00\00\00\00") - (data (i32.const 5068) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g\00\00\00\00\00") - (data (i32.const 5116) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00") - (data (i32.const 5164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\001\00.\00s\001\00\00\00") - (data (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00x\005\00\00\00\00\00\00\00") - (data (i32.const 5324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00x\00D\00\00\00\00\00\00\00") - (data (i32.const 5356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\0b\001\00.\001\00\00\00\00\00") - (data (i32.const 5388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001\00") - (data (i32.const 5420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001\00") - (data (i32.const 5452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00( ( -\001\00.\001\00") - (data (i32.const 5484) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00) ) -\001\00.\001\00") - (data (i32.const 5516) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\000\000\000\000\00\00\00") - (data (i32.const 5548) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\000\000\000\00a\00\00\00") - (data (i32.const 5580) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\000\000\000\001\00\00\00") - (data (i32.const 5612) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\000\00\00\00") - (data (i32.const 5644) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\00a\00\00\00") - (data (i32.const 5676) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\001\00e\00\00\00\00\00") - (data (i32.const 5708) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\00e\00+\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\000\00e\00+\001\000\000\00") - (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00.\00-\001\00.\00\00\00") - (data (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00e\00-\001\00.\002\00") - (data (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\00e\00x\00\00\00\00\00\00\00") - (data (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\001\00x\00\00\00\00\00") - (data (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\00-\00x\00\00\00\00\00") - (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\00-\001\00x\00\00\00") - (data (i32.const 5980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\000\00.\00\00\00\00\00\00\00") - (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00.\000\000\00\00\00\00\00\00\00") - (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00.\000\00.\00\00\00\00\00\00\00") - (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00.\001\00.\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\00.\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\00a\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00.\00.\001\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\000\00.\001\00.\001\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\000\00.\00 \001\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00+\000\00.\000\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00-\000\00.\000\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00+\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00-\00.\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00-\00-\000\00\00\00\00\00\00\00") - (data (i32.const 6492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00+\00+\000\00\00\00\00\00\00\00") - (data (i32.const 6524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00.\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 6556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00.\00.\000\00\00\00\00\00\00\00") - (data (i32.const 6588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00.\00.\00\00\00\00\00\00\00\00\00") - (data (i32.const 6652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 6684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\0e\18\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\0e\181\00.\001\00\00\00\00\00") - (data (i32.const 6780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\0e\18\0e\181\00.\001\00\00\00") - (data (i32.const 6812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 6876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\002\002\00\00\00\00\00") - (data (i32.const 6908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\002\00\00\00") - (data (i32.const 6940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\002\003\00\00\00\00\00") - (data (i32.const 6972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\003\00\00\00") - (data (i32.const 7004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\003\007\00\00\00\00\00") - (data (i32.const 7036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\007\00\00\00") - (data (i32.const 7068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\00e\003\008\00\00\00\00\00") - (data (i32.const 7100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\008\00\00\00") - (data (i32.const 7132) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00\00\00") - (data (i32.const 7196) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7276) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\005\00e\00-\003\002\004\00") - (data (i32.const 7308) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004\00\00\00") - (data (i32.const 7356) "\8c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006\00") - (data (i32.const 7500) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7548) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7596) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7692) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 7740) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 7788) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\003\006\000\00") - (data (i32.const 7820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7868) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8012) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 8060) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00I\00n\00f\00i\00\00\00\00\00") - (data (i32.const 8092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8140) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8188) "\bc\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003\00\00\00") - (data (i32.const 8380) "\bc\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003\00\00\00") - (data (i32.const 8572) "\bc\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007\00\00\00") - (data (i32.const 8764) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004\00\00\00\00\00") - (data (i32.const 8924) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004\00\00\00\00\00") - (data (i32.const 9084) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000\00\00\00\00\00") - (data (i32.const 9244) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004\00\00\00\00\00") - (data (i32.const 9404) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\00\00\00\00\00") - (data (i32.const 9564) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003\00") - (data (i32.const 9676) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000\00\00\00\00\00") - (data (i32.const 9788) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001\00\00\00\00\00") - (data (i32.const 9900) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002\00\00\00\00\00") - (data (i32.const 10012) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003\00\00\00\00\00") - (data (i32.const 10124) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004\00\00\00\00\00") - (data (i32.const 10236) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005\00\00\00\00\00") - (data (i32.const 10348) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006\00\00\00\00\00") - (data (i32.const 10460) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007\00\00\00\00\00") - (data (i32.const 10572) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008\00\00\00\00\00") - (data (i32.const 10684) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001\00\00\00\00\00") - (data (i32.const 10796) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002\00\00\00\00\00") - (data (i32.const 10908) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003\00\00\00\00\00") - (data (i32.const 11020) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004\00\00\00\00\00") - (data (i32.const 11132) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005\00\00\00\00\00") - (data (i32.const 11244) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006\00\00\00\00\00") - (data (i32.const 11356) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006\00\00\00\00\00") - (data (i32.const 11468) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008\00\00\00\00\00") - (data (i32.const 11580) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009\00\00\00\00\00") - (data (i32.const 11692) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002\00\00\00") - (data (i32.const 11804) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000\00\00\00") - (data (i32.const 11916) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007\00\00\00") - (data (i32.const 12028) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005\00") - (data (i32.const 12140) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009\00") - (data (i32.const 12252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00 \00\t\00\n\00\00\00\00\00\00\00") - (data (i32.const 12284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00 \00\t\00\n\00\r\00.\001\00") - (data (i32.const 12316) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 12380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001\00\00\00\00\00") - (data (i32.const 12412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002\00\00\00\00\00") - (data (i32.const 12444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00k\00e\001\00\00\00\00\00\00\00") - (data (i32.const 12476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00k\00e\002\00\00\00\00\00\00\00") - (data (i32.const 12508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002\00\00\00") - (data (i32.const 12540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001\00\00\00") - (data (i32.const 12572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00\00\00\00\00\00\00") - (data (i32.const 12716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00\00\00\00\00\00\00\00\00") - (data (i32.const 12764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 12796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 12828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 12860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 12892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\000\001\00\00\00\00\00\00\00") - (data (i32.const 12924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\002\00\00\00\00\00\00\00") - (data (i32.const 12956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") - (data (i32.const 12988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\002\003\003\00\00\00\00\00") - (data (i32.const 13020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00a\00a\00\00\00\00\00\00\00") - (data (i32.const 13100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13148) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a\00\00\00") - (data (i32.const 13180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 13212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c\00\00\00") - (data (i32.const 13292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c\00\00\00") - (data (i32.const 13324) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c\00\00\00\00\00") - (data (i32.const 13356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c\00\00\00\00\00") - (data (i32.const 13388) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00+\00+\00\00\00\00\00\00\00\00\00") - (data (i32.const 13484) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+\00\00\00\00\00") - (data (i32.const 13516) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00+\00+\00+\00\00\00\00\00\00\00") - (data (i32.const 13596) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+\00\00\00") - (data (i32.const 13692) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c\00") - (data (i32.const 13724) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c\00\00\00\00\00") - (data (i32.const 13756) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") - (data (i32.const 13788) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+\00\00\00\00\00") - (data (i32.const 13820) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00b\00c\00\00\00\00\00\00\00\00\00") - (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00+\00\00\00\00\00\00\00\00\00") - (data (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c\00\00\00") - (data (i32.const 13948) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13996) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") - (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00-\00-\00-\00\00\00\00\00\00\00") - (data (i32.const 14060) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00-\00-\00-\00b\00c\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00-\00-\00-\00-\00-\00\00\00") - (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00-\00-\00-\00-\00\00\00\00\00") - (data (i32.const 14172) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\00\00\00\00") - (data (i32.const 14220) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00-\00-\00-\00a\00\00\00\00\00") - (data (i32.const 14252) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h\00\00\00") - (data (i32.const 14428) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00\00\00") - (data (i32.const 14476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00e\00f\00g\00\00\00\00\00\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00e\00f\00g\00h\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 14668) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c\00\00\00") - (data (i32.const 14828) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c\00") - (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c\00") - (data (i32.const 14972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,\00") - (data (i32.const 15004) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 15132) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 3836) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00\00\00\00\00\00\00\00\00") + (data (i32.const 3884) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00\00\00\00\00\00\00\00\00") + (data (i32.const 3948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\00.\00\00\00\00\00\00\00\00\00") + (data (i32.const 3980) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00.\000\000\00\00\00\00\00") + (data (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\00-\005\00\00\00\00\00") + (data (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\00e\00-\005\00\00\00") + (data (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\00-\001\00\00\00\00\00") + (data (i32.const 4204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\000\00.\001\00e\00-\000\00") + (data (i32.const 4236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\001\00\00\00\00\00\00\00") + (data (i32.const 4268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\002\005\00\00\00\00\00\00\00") + (data (i32.const 4300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00.\00e\00+\003\00a\00") + (data (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4380) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4428) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00e\00+\003\000\008\00") + (data (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00e\00+\003\000\009\00") + (data (i32.const 4588) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00_\000\00\00\00\00\00\00\00") + (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00_\001\00\00\00\00\00\00\00") + (data (i32.const 4796) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 4844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004\00\00\00\00\00\00\00") + (data (i32.const 4892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009\00\00\00\00\00") + (data (i32.const 4940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\006\000\00\00\00") + (data (i32.const 4972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\006\000\00\00\00\00\00") + (data (i32.const 5004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\003\00.\004\00e\00") + (data (i32.const 5036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\00x\00\00\00\00\00\00\00\00\00") + (data (i32.const 5068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g\00\00\00\00\00") + (data (i32.const 5116) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00") + (data (i32.const 5164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\001\00.\00s\001\00\00\00") + (data (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00x\005\00\00\00\00\00\00\00") + (data (i32.const 5324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00x\00D\00\00\00\00\00\00\00") + (data (i32.const 5356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00\0b\001\00.\001\00\00\00\00\00") + (data (i32.const 5388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001\00") + (data (i32.const 5420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001\00") + (data (i32.const 5452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00( ( -\001\00.\001\00") + (data (i32.const 5484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00) ) -\001\00.\001\00") + (data (i32.const 5516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\000\000\000\00\00\00") + (data (i32.const 5548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\000\000\00a\00\00\00") + (data (i32.const 5580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\000\000\001\00\00\00") + (data (i32.const 5612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\00.\000\000\00\00\00") + (data (i32.const 5644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\00.\000\00a\00\00\00") + (data (i32.const 5676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\001\00e\00\00\00\00\00") + (data (i32.const 5708) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00e\00+\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\000\00e\00+\001\000\000\00") + (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00.\00-\001\00.\00\00\00") + (data (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00e\00-\001\00.\002\00") + (data (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00e\00x\00\00\00\00\00\00\00") + (data (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\001\00x\00\00\00\00\00") + (data (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\00-\00x\00\00\00\00\00") + (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\001\00x\00\00\00") + (data (i32.const 5980) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\000\00.\00\00\00\00\00\00\00") + (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\000\000\00\00\00\00\00\00\00") + (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\000\00.\00\00\00\00\00\00\00") + (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\001\00.\00\00\00\00\00\00\00") + (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\00.\00\00\00\00\00\00\00") + (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\00a\00\00\00\00\00\00\00") + (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00.\00.\001\00\00\00\00\00") + (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00.\001\00.\001\00\00\00") + (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\00.\00 \001\00\00\00\00\00") + (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\000\00.\000\00\00\00\00\00") + (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\000\00.\000\00\00\00\00\00") + (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00+\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 6412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00.\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\000\00\00\00\00\00\00\00") + (data (i32.const 6492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\000\00\00\00\00\00\00\00") + (data (i32.const 6524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00.\00a\00\00\00\00\00\00\00\00\00") + (data (i32.const 6556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\00.\000\00\00\00\00\00\00\00") + (data (i32.const 6588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00.\00.\00\00\00\00\00\00\00\00\00") + (data (i32.const 6652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 6684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\0e\18\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00\0e\181\00.\001\00\00\00\00\00") + (data (i32.const 6780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\0e\18\0e\181\00.\001\00\00\00") + (data (i32.const 6812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data (i32.const 6876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\002\002\00\00\00\00\00") + (data (i32.const 6908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\002\002\00\00\00") + (data (i32.const 6940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\002\003\00\00\00\00\00") + (data (i32.const 6972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\002\003\00\00\00") + (data (i32.const 7004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\003\007\00\00\00\00\00") + (data (i32.const 7036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\003\007\00\00\00") + (data (i32.const 7068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\003\008\00\00\00\00\00") + (data (i32.const 7100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\003\008\00\00\00") + (data (i32.const 7132) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00\00\00") + (data (i32.const 7196) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\005\00e\00-\003\002\004\00") + (data (i32.const 7308) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004\00\00\00") + (data (i32.const 7356) "\8c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006\00") + (data (i32.const 7500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7548) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 7740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 7788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00.\00e\003\006\000\00") + (data (i32.const 7820) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7868) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8012) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 8060) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00I\00n\00f\00i\00\00\00\00\00") + (data (i32.const 8092) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8140) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8188) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003\00\00\00") + (data (i32.const 8380) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003\00\00\00") + (data (i32.const 8572) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007\00\00\00") + (data (i32.const 8764) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004\00\00\00\00\00") + (data (i32.const 8924) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004\00\00\00\00\00") + (data (i32.const 9084) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000\00\00\00\00\00") + (data (i32.const 9244) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004\00\00\00\00\00") + (data (i32.const 9404) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\00\00\00\00\00") + (data (i32.const 9564) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003\00") + (data (i32.const 9676) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000\00\00\00\00\00") + (data (i32.const 9788) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001\00\00\00\00\00") + (data (i32.const 9900) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002\00\00\00\00\00") + (data (i32.const 10012) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003\00\00\00\00\00") + (data (i32.const 10124) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004\00\00\00\00\00") + (data (i32.const 10236) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005\00\00\00\00\00") + (data (i32.const 10348) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006\00\00\00\00\00") + (data (i32.const 10460) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007\00\00\00\00\00") + (data (i32.const 10572) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008\00\00\00\00\00") + (data (i32.const 10684) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001\00\00\00\00\00") + (data (i32.const 10796) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002\00\00\00\00\00") + (data (i32.const 10908) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003\00\00\00\00\00") + (data (i32.const 11020) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004\00\00\00\00\00") + (data (i32.const 11132) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005\00\00\00\00\00") + (data (i32.const 11244) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006\00\00\00\00\00") + (data (i32.const 11356) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006\00\00\00\00\00") + (data (i32.const 11468) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008\00\00\00\00\00") + (data (i32.const 11580) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009\00\00\00\00\00") + (data (i32.const 11692) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002\00\00\00") + (data (i32.const 11804) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000\00\00\00") + (data (i32.const 11916) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007\00\00\00") + (data (i32.const 12028) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005\00") + (data (i32.const 12140) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009\00") + (data (i32.const 12252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\t\00\n\00\00\00\00\00\00\00") + (data (i32.const 12284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00 \00\t\00\n\00\r\00.\001\00") + (data (i32.const 12316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 12380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00k\00e\00y\001\00\00\00\00\00") + (data (i32.const 12412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00k\00e\00y\002\00\00\00\00\00") + (data (i32.const 12444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00k\00e\001\00\00\00\00\00\00\00") + (data (i32.const 12476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00k\00e\002\00\00\00\00\00\00\00") + (data (i32.const 12508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00k\00e\00y\001\002\00\00\00") + (data (i32.const 12540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00k\00e\00y\001\001\00\00\00") + (data (i32.const 12572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00\00\00\00\00\00\00") + (data (i32.const 12716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00\00\00\00\00\00\00\00\00") + (data (i32.const 12764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") + (data (i32.const 12796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00a\00\00\00\00\00\00\00\00\00") + (data (i32.const 12828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 12860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 12892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\000\001\00\00\00\00\00\00\00") + (data (i32.const 12924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\002\00\00\00\00\00\00\00") + (data (i32.const 12956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") + (data (i32.const 12988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\003\00\00\00\00\00") + (data (i32.const 13020) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00a\00a\00\00\00\00\00\00\00") + (data (i32.const 13100) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00a\00a\00a\00a\00\00\00") + (data (i32.const 13180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") + (data (i32.const 13212) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00-\00b\00-\00c\00\00\00") + (data (i32.const 13292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00+\00b\00-\00c\00\00\00") + (data (i32.const 13324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\00a\00b\00c\00\00\00\00\00") + (data (i32.const 13356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00\n\00a\00b\00c\00\00\00\00\00") + (data (i32.const 13388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00+\00+\00\00\00\00\00\00\00\00\00") + (data (i32.const 13484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00+\00+\00\00\00\00\00") + (data (i32.const 13516) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\00+\00\00\00\00\00\00\00") + (data (i32.const 13596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+\00\00\00") + (data (i32.const 13692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c\00") + (data (i32.const 13724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00c\00c\00c\00c\00\00\00\00\00") + (data (i32.const 13756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") + (data (i32.const 13788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\00+\00+\00+\00\00\00\00\00") + (data (i32.const 13820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00c\00\00\00\00\00\00\00\00\00") + (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00+\00\00\00\00\00\00\00\00\00") + (data (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00+\00b\00+\00c\00\00\00") + (data (i32.const 13948) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13996) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") + (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\00-\00\00\00\00\00\00\00") + (data (i32.const 14060) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00-\00-\00b\00c\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\00-\00-\00-\00-\00\00\00") + (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\00-\00-\00-\00\00\00\00\00") + (data (i32.const 14172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\00\00\00\00") + (data (i32.const 14220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\00-\00-\00a\00\00\00\00\00") + (data (i32.const 14252) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") + (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00j\00k\00l\00m\00n\00\00\00") + (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00c\00d\00e\00f\00g\00\00\00") + (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00d\00e\00f\00g\00h\00\00\00") + (data (i32.const 14428) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00\00\00") + (data (i32.const 14476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00e\00f\00g\00\00\00\00\00\00\00") + (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00e\00f\00g\00h\00\00\00\00\00") + (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 14668) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00,\00b\00,\00c\00\00\00") + (data (i32.const 14828) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") + (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c\00") + (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c\00") + (data (i32.const 14972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,\00") + (data (i32.const 15004) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 15132) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") (data (i32.const 15196) "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\00") - (data (i32.const 15596) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 16652) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000\00\00\00") - (data (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005\00\00\00") - (data (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006\00") - (data (i32.const 16908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 16956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\001\002\003\004\005\006\007\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17052) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 17148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00\00\00\00\00\00\00\00\00") - (data (i32.const 17196) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00") - (data (i32.const 17244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 17276) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00-\001\002\008\00\00\00\00\00") - (data (i32.const 17308) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00-\003\002\007\006\008\00") - (data (i32.const 17340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\000\000\000\00\00\00\00\00") - (data (i32.const 17372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00") - (data (i32.const 17420) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 17468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\007\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 17500) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\004\00d\002\00\00\00\00\00\00\00") - (data (i32.const 17532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\003\000\003\009\00\00\00\00\00") - (data (i32.const 17564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\00e\002\004\000\00\00\00") - (data (i32.const 17596) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\000\00f\004\004\007\00") - (data (i32.const 17628) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\002\00d\006\008\007\00") - (data (i32.const 17660) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00b\00c\006\001\004\00e\00") - (data (i32.const 17692) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\007\005\00b\00c\00d\001\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17740) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17788) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\008\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17884) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17932) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00-\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18028) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\008\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\001\001\00\00\00\00\00\00\00") - (data (i32.const 18108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\001\001\001\000\00\00\00\00\00") - (data (i32.const 18140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\001\001\001\000\001\00\00\00") - (data (i32.const 18172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\001\001\001\000\001\001\00") - (data (i32.const 18204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00") - (data (i32.const 18252) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18332) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18428) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18524) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18620) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00") - (data (i32.const 18764) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\001\000\002\000\000\002\000\002\002\002\000\001\002\002\001\001\001\001\002\001\000\00\00\00") - (data (i32.const 18828) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18892) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\003\002\002\004\004\000\000\002\004\002\003\001\004\000\00") - (data (i32.const 18940) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\003\007\007\007\007\007\007\007\007\007\007\00\00\00\00\00\00\00") - (data (i32.const 18988) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\001\009\000\004\004\004\000\005\005\003\00\00\00\00\00\00\00\00\00") - (data (i32.const 19036) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\00a\002\000\00d\00c\00d\008\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19084) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00a\007\00f\00f\00d\00a\009\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19132) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\002\008\001\00d\005\005\00i\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19180) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00b\002\008\00j\00p\00d\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\003\00v\00v\00v\00v\00v\00v\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\001\00z\001\004\001\00z\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19420) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007\00\00\00\00\00\00\00\00\00") - (data (i32.const 19468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00") - (data (i32.const 19516) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00") - (data (i32.const 19564) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\00\00\00") - (data (i32.const 19612) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001\00") - (data (i32.const 19660) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19724) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19788) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19852) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 19916) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00") - (data (i32.const 19980) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00\00\00\00\00") - (data (i32.const 20044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004\00\00\00") - (data (i32.const 20076) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00\00\00\00\00\00\00") - (data (i32.const 20124) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00") - (data (i32.const 20172) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00") - (data (i32.const 20220) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20284) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 20348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00") - (data (i32.const 20412) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00\00\00\00\00") - (data (i32.const 20476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\005\006\007\008\009\00a\00b\00c\00d\00e\001\00\00\00\00\00\00\00") - (data (i32.const 20572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\004\005\006\007\008\009\00a\00b\00c\00d\00e\001\00\00\00\00\00") - (data (i32.const 20620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00\00\00") - (data (i32.const 20668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00") - (data (i32.const 20716) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20780) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20844) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20908) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20972) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21036) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00-\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21100) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00b\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21228) "\9c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\80\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21388) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00D\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 21484) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00R\00\00\001\001\001\001\002\002\002\000\000\002\002\001\002\002\001\002\000\001\000\001\002\001\001\000\002\000\001\002\000\002\001\000\002\001\000\002\001\001\002\002\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21596) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21692) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\008\00\00\002\002\001\004\002\002\000\003\000\003\001\001\004\004\000\000\004\002\004\001\002\001\001\002\002\004\003\000\00\00\00\00\00") - (data (i32.const 21772) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\001\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\00") - (data (i32.const 21836) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\003\003\005\005\000\000\005\001\006\00a\004\002\009\000\007\001\002\008\004\00\00\00\00\00\00\00") - (data (i32.const 21900) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\002\00c\001\00d\005\006\00b\006\004\008\00c\006\00c\00d\001\001\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21964) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\006\007\009\007\009\00g\006\000\00f\005\004\002\008\000\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 22028) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\005\00e\008\00g\004\00g\00g\00g\007\00g\005\006\00d\00i\00f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 22092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\004\00e\00o\008\00h\00f\00a\00m\006\00f\00l\00l\00m\00o\00") - (data (i32.const 22140) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00f\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00\00\00") - (data (i32.const 22188) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\003\00w\005\00e\001\001\002\006\004\00s\00g\00s\00f\00\00\00") - (data (i32.const 22236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 22268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 15596) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 16652) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\000\000\000\00\00\00") + (data (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\002\003\004\005\00\00\00") + (data (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\003\004\005\006\00") + (data (i32.const 16908) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 16956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\002\003\004\005\006\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17004) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\002\003\004\005\006\007\008\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17052) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17100) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 17148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00\00\00\00\00\00\00\00\00") + (data (i32.const 17196) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00") + (data (i32.const 17244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 17276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\001\002\008\00\00\00\00\00") + (data (i32.const 17308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00-\003\002\007\006\008\00") + (data (i32.const 17340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\000\000\000\00\00\00\00\00") + (data (i32.const 17372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00") + (data (i32.const 17420) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00\00\00\00\00\00\00\00\00") + (data (i32.const 17468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\007\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 17500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\004\00d\002\00\00\00\00\00\00\00") + (data (i32.const 17532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\003\000\003\009\00\00\00\00\00") + (data (i32.const 17564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\002\004\000\00\00\00") + (data (i32.const 17596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\000\00f\004\004\007\00") + (data (i32.const 17628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\00d\006\008\007\00") + (data (i32.const 17660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00b\00c\006\001\004\00e\00") + (data (i32.const 17692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\007\005\00b\00c\00d\001\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17788) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17836) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\008\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17884) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17932) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 17980) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00-\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18028) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\008\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18076) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\001\001\00\00\00\00\00\00\00") + (data (i32.const 18108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\001\001\000\00\00\00\00\00") + (data (i32.const 18140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\001\001\000\001\00\00\00") + (data (i32.const 18172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\001\001\000\001\001\00") + (data (i32.const 18204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00") + (data (i32.const 18252) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18332) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18428) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18524) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18620) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00") + (data (i32.const 18764) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\001\000\002\000\000\002\000\002\002\002\000\001\002\002\001\001\001\001\002\001\000\00\00\00") + (data (i32.const 18828) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 18892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\003\002\002\004\004\000\000\002\004\002\003\001\004\000\00") + (data (i32.const 18940) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\003\007\007\007\007\007\007\007\007\007\007\00\00\00\00\00\00\00") + (data (i32.const 18988) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\009\000\004\004\004\000\005\005\003\00\00\00\00\00\00\00\00\00") + (data (i32.const 19036) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00a\002\000\00d\00c\00d\008\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19084) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\007\00f\00f\00d\00a\009\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19132) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\002\008\001\00d\005\005\00i\003\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19180) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\002\008\00j\00p\00d\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\003\00v\00v\00v\00v\00v\00v\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00z\001\004\001\00z\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19420) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007\00\00\00\00\00\00\00\00\00") + (data (i32.const 19468) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00") + (data (i32.const 19516) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00") + (data (i32.const 19564) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\00\00\00") + (data (i32.const 19612) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001\00") + (data (i32.const 19660) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19724) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19788) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 19852) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00") + (data (i32.const 19916) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00") + (data (i32.const 19980) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00\00\00\00\00") + (data (i32.const 20044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\002\003\004\00\00\00") + (data (i32.const 20076) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00\00\00\00\00\00\00") + (data (i32.const 20124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00") + (data (i32.const 20172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00") + (data (i32.const 20220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 20284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00") + (data (i32.const 20348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00") + (data (i32.const 20412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00\00\00\00\00") + (data (i32.const 20476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 20524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\005\006\007\008\009\00a\00b\00c\00d\00e\001\00\00\00\00\00\00\00") + (data (i32.const 20572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\004\005\006\007\008\009\00a\00b\00c\00d\00e\001\00\00\00\00\00") + (data (i32.const 20620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00\00\00") + (data (i32.const 20668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00") + (data (i32.const 20716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 20780) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 20844) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 20908) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 20972) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00-\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21100) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00b\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21228) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21388) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 21484) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00R\00\00\001\001\001\001\002\002\002\000\000\002\002\001\002\002\001\002\000\001\000\001\002\001\001\000\002\000\001\002\000\002\001\000\002\001\000\002\001\001\002\002\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21596) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21692) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\002\002\001\004\002\002\000\003\000\003\001\001\004\004\000\000\004\002\004\001\002\001\001\002\002\004\003\000\00\00\00\00\00") + (data (i32.const 21772) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\001\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\00") + (data (i32.const 21836) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\003\003\005\005\000\000\005\001\006\00a\004\002\009\000\007\001\002\008\004\00\00\00\00\00\00\00") + (data (i32.const 21900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\002\00c\001\00d\005\006\00b\006\004\008\00c\006\00c\00d\001\001\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21964) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\006\007\009\007\009\00g\006\000\00f\005\004\002\008\000\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 22028) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\005\00e\008\00g\004\00g\00g\00g\007\00g\005\006\00d\00i\00f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 22092) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\004\00e\00o\008\00h\00f\00a\00m\006\00f\00l\00l\00m\00o\00") + (data (i32.const 22140) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00f\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00\00\00") + (data (i32.const 22188) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\003\00w\005\00e\001\001\002\006\004\00s\00g\00s\00f\00\00\00") + (data (i32.const 22236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 22268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 22320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 22376) "\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_\rXf\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_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -8243,6 +8246,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -8256,6 +8262,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -8310,6 +8319,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__visit @@ -8321,11 +8333,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid + end + return end return end @@ -8401,7 +8416,7 @@ if i32.const 0 i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.set $24 @@ -8419,7 +8434,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -8463,7 +8478,7 @@ if i32.const 0 i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.set $24 @@ -8486,7 +8501,7 @@ global.get $~lib/memory/__stack_pointer local.get $length i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $result @@ -8505,7 +8520,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $charStr i32.store $0 offset=12 @@ -8550,7 +8565,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $result|14 @@ -8572,7 +8587,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $result|15 @@ -8606,7 +8621,7 @@ local.get $len i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 offset=24 @@ -8686,7 +8701,7 @@ local.get $len|22 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out|23 i32.store $0 offset=32 @@ -9246,7 +9261,7 @@ end i32.const 2 i32.const 2 - i32.const 3 + i32.const 4 i32.const 912 call $~lib/rt/__newArray local.set $55 @@ -9278,7 +9293,7 @@ end i32.const 3 i32.const 2 - i32.const 3 + i32.const 4 i32.const 976 call $~lib/rt/__newArray local.set $55 @@ -9310,7 +9325,7 @@ end i32.const 5 i32.const 2 - i32.const 3 + i32.const 4 i32.const 1040 call $~lib/rt/__newArray local.set $55 @@ -24677,7 +24692,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -24717,7 +24732,7 @@ i32.const 2 local.get $hasSur i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -24757,7 +24772,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -24812,7 +24827,7 @@ local.get $length i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -24877,7 +24892,7 @@ i32.const 2 local.get $hasSur i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -24989,7 +25004,7 @@ local.set $prependSize global.get $~lib/memory/__stack_pointer local.get $targetSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25099,7 +25114,7 @@ local.set $appendSize global.get $~lib/memory/__stack_pointer local.get $targetSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25230,7 +25245,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25319,7 +25334,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25445,7 +25460,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25506,7 +25521,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25605,7 +25620,7 @@ i32.mul i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25697,7 +25712,7 @@ local.get $olen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25846,7 +25861,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -25928,7 +25943,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out|14 i32.store $0 offset=4 @@ -25997,7 +26012,7 @@ local.get $thisLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out|16 i32.store $0 offset=8 @@ -26236,7 +26251,7 @@ local.get $len i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26337,7 +26352,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26482,7 +26497,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26634,7 +26649,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26674,7 +26689,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26709,7 +26724,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26798,7 +26813,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26834,7 +26849,7 @@ local.get $decimals|7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26863,7 +26878,7 @@ local.get $decimals|11 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26959,7 +26974,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -26985,7 +27000,7 @@ local.get $decimals|8 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27023,7 +27038,7 @@ local.get $decimals|12 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27050,7 +27065,7 @@ local.get $decimals|16 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27162,7 +27177,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27192,7 +27207,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27234,7 +27249,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27265,7 +27280,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -27359,7 +27374,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 2d6baca0ae..f5e49409dc 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -38,938 +38,938 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 59208)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 59212)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g") + (data (i32.const 1048) "\02\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g") (data (i32.const 1100) ",") - (data (i32.const 1112) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\01\00\00\00\02\00\00\00\df") + (data (i32.const 1160) "\02\00\00\00\02\00\00\00\df") (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\01\00\00\00\04\00\00\00\df\00\df") + (data (i32.const 1192) "\02\00\00\00\04\00\00\00\df\00\df") (data (i32.const 1212) "\1c") - (data (i32.const 1224) "\01\00\00\00\06\00\00\00\df\00a\00b") + (data (i32.const 1224) "\02\00\00\00\06\00\00\00\df\00a\00b") (data (i32.const 1244) "<") - (data (i32.const 1256) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1256) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1308) ",") - (data (i32.const 1320) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 1320) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") (data (i32.const 1356) "<") - (data (i32.const 1368) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1368) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1432) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1548) ",") - (data (i32.const 1560) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1628) "<") - (data (i32.const 1640) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1640) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\01") + (data (i32.const 1704) "\02") (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\01\00\00\00\02\00\00\00h") + (data (i32.const 1736) "\02\00\00\00\02\00\00\00h") (data (i32.const 1756) "\1c") - (data (i32.const 1768) "\01\00\00\00\02") + (data (i32.const 1768) "\02\00\00\00\02") (data (i32.const 1788) "\1c") - (data (i32.const 1800) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1800) "\02\00\00\00\02\00\00\00a") (data (i32.const 1820) "\1c") - (data (i32.const 1832) "\01\00\00\00\02\00\00\00@") + (data (i32.const 1832) "\02\00\00\00\02\00\00\00@") (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\01\00\00\00\02\00\00\006") + (data (i32.const 1864) "\02\00\00\00\02\00\00\006") (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\01\00\00\00\04\00\00\00\00\d8\00\df") + (data (i32.const 1896) "\02\00\00\00\04\00\00\00\00\d8\00\df") (data (i32.const 1916) "\1c") - (data (i32.const 1932) "\08\00\00\00\00\00\00\006") + (data (i32.const 1928) "\01\00\00\00\08\00\00\00\00\00\00\006") (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\01\00\00\00\04\00\00\00\00\006") + (data (i32.const 1960) "\02\00\00\00\04\00\00\00\00\006") (data (i32.const 1980) "\1c") - (data (i32.const 1996) "\0c\00\00\00A\00\00\00B\00\00\00C") + (data (i32.const 1992) "\01\00\00\00\0c\00\00\00A\00\00\00B\00\00\00C") (data (i32.const 2012) "\1c") - (data (i32.const 2024) "\01\00\00\00\06\00\00\00A\00B\00C") + (data (i32.const 2024) "\02\00\00\00\06\00\00\00A\00B\00C") (data (i32.const 2044) ",") - (data (i32.const 2060) "\14\00\00\004\d8\00\00\06\df\00\00a\00\00\004\d8\00\00\07\df") + (data (i32.const 2056) "\01\00\00\00\14\00\00\004\d8\00\00\06\df\00\00a\00\00\004\d8\00\00\07\df") (data (i32.const 2092) "\1c") - (data (i32.const 2104) "\01\00\00\00\n\00\00\004\d8\06\dfa\004\d8\07\df") + (data (i32.const 2104) "\02\00\00\00\n\00\00\004\d8\06\dfa\004\d8\07\df") (data (i32.const 2124) "\1c") - (data (i32.const 2136) "\01\00\00\00\04\00\00\004\d8\06\df") + (data (i32.const 2136) "\02\00\00\00\04\00\00\004\d8\06\df") (data (i32.const 2156) "\1c") - (data (i32.const 2168) "\01\00\00\00\04\00\00\00h\00i") + (data (i32.const 2168) "\02\00\00\00\04\00\00\00h\00i") (data (i32.const 2188) "\1c") - (data (i32.const 2200) "\01\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") + (data (i32.const 2200) "\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") (data (i32.const 2220) "\1c") - (data (i32.const 2232) "\01\00\00\00\06\00\00\00I\00\'\00m") + (data (i32.const 2232) "\02\00\00\00\06\00\00\00I\00\'\00m") (data (i32.const 2252) "\1c") - (data (i32.const 2264) "\01\00\00\00\02\00\00\00 ") + (data (i32.const 2264) "\02\00\00\00\02\00\00\00 ") (data (i32.const 2284) "\1c") - (data (i32.const 2296) "\01\00\00\00\06\00\00\00 \00 \00 ") + (data (i32.const 2296) "\02\00\00\00\06\00\00\00 \00 \00 ") (data (i32.const 2316) "\1c") - (data (i32.const 2328) "\01\00\00\00\06\00\00\00a\00b\00c") + (data (i32.const 2328) "\02\00\00\00\06\00\00\00a\00b\00c") (data (i32.const 2348) "\1c") - (data (i32.const 2360) "\01\00\00\00\n\00\00\00 \00 \00a\00b\00c") + (data (i32.const 2360) "\02\00\00\00\n\00\00\00 \00 \00a\00b\00c") (data (i32.const 2380) "\1c") - (data (i32.const 2392) "\01\00\00\00\06\00\00\001\002\003") + (data (i32.const 2392) "\02\00\00\00\06\00\00\001\002\003") (data (i32.const 2412) "\1c") - (data (i32.const 2424) "\01\00\00\00\0c\00\00\001\002\003\00a\00b\00c") + (data (i32.const 2424) "\02\00\00\00\0c\00\00\001\002\003\00a\00b\00c") (data (i32.const 2444) ",") - (data (i32.const 2456) "\01\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c") + (data (i32.const 2456) "\02\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c") (data (i32.const 2492) "\1c") - (data (i32.const 2504) "\01\00\00\00\n\00\00\00a\00b\00c\00 \00 ") + (data (i32.const 2504) "\02\00\00\00\n\00\00\00a\00b\00c\00 \00 ") (data (i32.const 2524) "\1c") - (data (i32.const 2536) "\01\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c") + (data (i32.const 2536) "\02\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c") (data (i32.const 2556) ",") - (data (i32.const 2568) "\01\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b") + (data (i32.const 2568) "\02\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b") (data (i32.const 2604) "\1c") - (data (i32.const 2616) "\01\00\00\00\02\00\00\00,") + (data (i32.const 2616) "\02\00\00\00\02\00\00\00,") (data (i32.const 2636) "\1c") - (data (i32.const 2648) "\01\00\00\00\02\00\00\00x") + (data (i32.const 2648) "\02\00\00\00\02\00\00\00x") (data (i32.const 2668) "\1c") - (data (i32.const 2680) "\01\00\00\00\06\00\00\00,\00 \00I") + (data (i32.const 2680) "\02\00\00\00\06\00\00\00,\00 \00I") (data (i32.const 2700) "\1c") - (data (i32.const 2712) "\01\00\00\00\02\00\00\00g") + (data (i32.const 2712) "\02\00\00\00\02\00\00\00g") (data (i32.const 2732) "\1c") - (data (i32.const 2744) "\01\00\00\00\02\00\00\00i") + (data (i32.const 2744) "\02\00\00\00\02\00\00\00i") (data (i32.const 2764) "\1c") - (data (i32.const 2776) "\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 2776) "\02\00\00\00\08\00\00\00n\00u\00l\00l") (data (i32.const 2796) "\1c") - (data (i32.const 2808) "\01\00\00\00\06\00\00\00a\00b\00d") + (data (i32.const 2808) "\02\00\00\00\06\00\00\00a\00b\00d") (data (i32.const 2828) "\1c") - (data (i32.const 2840) "\01\00\00\00\06\00\00\00a\00b\00f") + (data (i32.const 2840) "\02\00\00\00\06\00\00\00a\00b\00f") (data (i32.const 2860) "\1c") - (data (i32.const 2872) "\01\00\00\00\06\00\00\00a\00b\00z") + (data (i32.const 2872) "\02\00\00\00\06\00\00\00a\00b\00z") (data (i32.const 2892) "\1c") - (data (i32.const 2904) "\01\00\00\00\08\00\00\00a\00b\00c\00d") + (data (i32.const 2904) "\02\00\00\00\08\00\00\00a\00b\00c\00d") (data (i32.const 2924) "\1c") - (data (i32.const 2936) "\01\00\00\00\08\00\00\00a\00b\00d\00d") + (data (i32.const 2936) "\02\00\00\00\08\00\00\00a\00b\00d\00d") (data (i32.const 2956) "\1c") - (data (i32.const 2968) "\01\00\00\00\08\00\00\00a\00b\00 \00c") + (data (i32.const 2968) "\02\00\00\00\08\00\00\00a\00b\00 \00c") (data (i32.const 2988) ",") - (data (i32.const 3000) "\01\00\00\00\16\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00 \00\t\00\r\00 ") + (data (i32.const 3000) "\02\00\00\00\16\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00 \00\t\00\r\00 ") (data (i32.const 3036) ",") - (data (i32.const 3048) "\01\00\00\00\0e\00\00\00a\00b\00c\00 \00\t\00\r\00 ") + (data (i32.const 3048) "\02\00\00\00\0e\00\00\00a\00b\00c\00 \00\t\00\r\00 ") (data (i32.const 3084) ",") - (data (i32.const 3096) "\01\00\00\00\0e\00\00\00 \00\n\00\t\00\r\00a\00b\00c") + (data (i32.const 3096) "\02\00\00\00\0e\00\00\00 \00\n\00\t\00\r\00a\00b\00c") (data (i32.const 3132) ",") - (data (i32.const 3144) "\01\00\00\00\0e\00\00\00\t\00\n\00 \00t\00r\00u\00e") + (data (i32.const 3144) "\02\00\00\00\0e\00\00\00\t\00\n\00 \00t\00r\00u\00e") (data (i32.const 3180) ",") - (data (i32.const 3192) "\01\00\00\00\14\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\n\00\r\00 ") + (data (i32.const 3192) "\02\00\00\00\14\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\n\00\r\00 ") (data (i32.const 3228) ",") - (data (i32.const 3240) "\01\00\00\00\12\00\00\00 \00 \00t\00r\00u\00e\00a\00b\00c") + (data (i32.const 3240) "\02\00\00\00\12\00\00\00 \00 \00t\00r\00u\00e\00a\00b\00c") (data (i32.const 3276) "\1c") - (data (i32.const 3288) "\01\00\00\00\06\00\00\00t\00r\00u") + (data (i32.const 3288) "\02\00\00\00\06\00\00\00t\00r\00u") (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\01\00\00\00\08\00\00\00T\00r\00u\00e") + (data (i32.const 3320) "\02\00\00\00\08\00\00\00T\00r\00u\00e") (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 3352) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\01\00\00\00\02\00\00\000") + (data (i32.const 3384) "\02\00\00\00\02\00\00\000") (data (i32.const 3404) "\1c") - (data (i32.const 3416) "\01\00\00\00\06\00\00\000\000\000") + (data (i32.const 3416) "\02\00\00\00\06\00\00\000\000\000") (data (i32.const 3436) "\1c") - (data (i32.const 3448) "\01\00\00\00\02\00\00\001") + (data (i32.const 3448) "\02\00\00\00\02\00\00\001") (data (i32.const 3468) "\1c") - (data (i32.const 3480) "\01\00\00\00\08\00\00\000\000\000\001") + (data (i32.const 3480) "\02\00\00\00\08\00\00\000\000\000\001") (data (i32.const 3500) "\1c") - (data (i32.const 3512) "\01\00\00\00\n\00\00\000\00b\001\000\001") + (data (i32.const 3512) "\02\00\00\00\n\00\00\000\00b\001\000\001") (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\01\00\00\00\n\00\00\000\00o\007\000\007") + (data (i32.const 3544) "\02\00\00\00\n\00\00\000\00o\007\000\007") (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\01\00\00\00\n\00\00\000\00x\00f\000\00f") + (data (i32.const 3576) "\02\00\00\00\n\00\00\000\00x\00f\000\00f") (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\01\00\00\00\n\00\00\000\00X\00F\000\00F") + (data (i32.const 3608) "\02\00\00\00\n\00\00\000\00X\00F\000\00F") (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\01\00\00\00\06\00\00\000\001\001") + (data (i32.const 3640) "\02\00\00\00\06\00\00\000\001\001") (data (i32.const 3660) "\1c") - (data (i32.const 3672) "\01\00\00\00\08\00\00\000\00x\001\00g") + (data (i32.const 3672) "\02\00\00\00\08\00\00\000\00x\001\00g") (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\01\00\00\00\08\00\00\00-\001\002\003") + (data (i32.const 3704) "\02\00\00\00\08\00\00\00-\001\002\003") (data (i32.const 3724) "\1c") - (data (i32.const 3736) "\01\00\00\00\08\00\00\00+\001\002\003") + (data (i32.const 3736) "\02\00\00\00\08\00\00\00+\001\002\003") (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\01\00\00\00\n\00\00\00-\001\002\00.\003") + (data (i32.const 3768) "\02\00\00\00\n\00\00\00-\001\002\00.\003") (data (i32.const 3788) "\1c") - (data (i32.const 3800) "\01\00\00\00\06\00\00\000\00x\000") + (data (i32.const 3800) "\02\00\00\00\06\00\00\000\00x\000") (data (i32.const 3820) "\1c") - (data (i32.const 3832) "\01\00\00\00\08\00\00\000\00b\001\001") + (data (i32.const 3832) "\02\00\00\00\08\00\00\000\00b\001\001") (data (i32.const 3852) "\1c") - (data (i32.const 3864) "\01\00\00\00\04\00\00\00\n\001") + (data (i32.const 3864) "\02\00\00\00\04\00\00\00\n\001") (data (i32.const 3884) "\1c") - (data (i32.const 3896) "\01\00\00\00\04\00\00\00( 1") + (data (i32.const 3896) "\02\00\00\00\04\00\00\00( 1") (data (i32.const 3916) "\1c") - (data (i32.const 3928) "\01\00\00\00\04\00\00\00) 1") + (data (i32.const 3928) "\02\00\00\00\04\00\00\00) 1") (data (i32.const 3948) "\1c") - (data (i32.const 3960) "\01\00\00\00\04\00\00\00-\000") + (data (i32.const 3960) "\02\00\00\00\04\00\00\00-\000") (data (i32.const 3980) ",") - (data (i32.const 3992) "\01\00\00\00\10\00\00\000\00X\00A\00B\00C\00D\00E\00F") + (data (i32.const 3992) "\02\00\00\00\10\00\00\000\00X\00A\00B\00C\00D\00E\00F") (data (i32.const 4028) "\1c") - (data (i32.const 4040) "\01\00\00\00\0c\00\00\00A\00B\00C\00D\00E\00F") + (data (i32.const 4040) "\02\00\00\00\0c\00\00\00A\00B\00C\00D\00E\00F") (data (i32.const 4060) "<") - (data (i32.const 4072) "\01\00\00\00(\00\00\003\006\008\009\003\004\008\008\001\004\007\004\001\009\001\000\003\002\003\002") + (data (i32.const 4072) "\02\00\00\00(\00\00\003\006\008\009\003\004\008\008\001\004\007\004\001\009\001\000\003\002\003\002") (data (i32.const 4124) "L") - (data (i32.const 4136) "\01\00\00\004\00\00\00-\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (data (i32.const 4136) "\02\00\00\004\00\00\00-\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") (data (i32.const 4204) "<") - (data (i32.const 4216) "\01\00\00\00,\00\00\000\00x\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (data (i32.const 4216) "\02\00\00\00,\00\00\000\00x\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") (data (i32.const 4268) "\1c") - (data (i32.const 4280) "\01\00\00\00\06\00\00\001\00=\d8%\dd") + (data (i32.const 4280) "\02\00\00\00\06\00\00\001\00=\d8%\dd") (data (i32.const 4300) ",") - (data (i32.const 4312) "\01\00\00\00\0e\00\00\002\00b\00a\00d\00n\00u\00m") + (data (i32.const 4312) "\02\00\00\00\0e\00\00\002\00b\00a\00d\00n\00u\00m") (data (i32.const 4348) "\1c") - (data (i32.const 4360) "\01\00\00\00\08\00\00\00 \00\t\00\n\001") + (data (i32.const 4360) "\02\00\00\00\08\00\00\00 \00\t\00\n\001") (data (i32.const 4380) ",") - (data (i32.const 4392) "\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002") + (data (i32.const 4392) "\02\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002") (data (i32.const 4428) "\1c") - (data (i32.const 4440) "\01\00\00\00\n\00\00\000\00 \00a\00b\00c") + (data (i32.const 4440) "\02\00\00\00\n\00\00\000\00 \00a\00b\00c") (data (i32.const 4460) "\1c") - (data (i32.const 4472) "\01\00\00\00\n\00\00\001\00 \00a\00b\00c") + (data (i32.const 4472) "\02\00\00\00\n\00\00\001\00 \00a\00b\00c") (data (i32.const 4492) ",") - (data (i32.const 4504) "\01\00\00\00\10\00\00\00 \00\t\00\n\000\00 \00a\00b\00c") + (data (i32.const 4504) "\02\00\00\00\10\00\00\00 \00\t\00\n\000\00 \00a\00b\00c") (data (i32.const 4540) "\1c") - (data (i32.const 4552) "\01\00\00\00\02\00\00\00-") + (data (i32.const 4552) "\02\00\00\00\02\00\00\00-") (data (i32.const 4572) "\1c") - (data (i32.const 4584) "\01\00\00\00\02\00\00\00+") + (data (i32.const 4584) "\02\00\00\00\02\00\00\00+") (data (i32.const 4604) "\1c") - (data (i32.const 4616) "\01\00\00\00\04\00\00\00=\d8%\dd") + (data (i32.const 4616) "\02\00\00\00\04\00\00\00=\d8%\dd") (data (i32.const 4636) "\1c") - (data (i32.const 4648) "\01\00\00\00\0c\00\00\00b\00a\00d\00n\00u\00m") + (data (i32.const 4648) "\02\00\00\00\0c\00\00\00b\00a\00d\00n\00u\00m") (data (i32.const 4678) "\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") (data (i32.const 4860) ",") - (data (i32.const 4872) "\01\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F") + (data (i32.const 4872) "\02\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F") (data (i32.const 4908) "<") - (data (i32.const 4920) "\01\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F") + (data (i32.const 4920) "\02\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F") (data (i32.const 4972) "\1c") - (data (i32.const 4984) "\01\00\00\00\04\00\00\001\00.") + (data (i32.const 4984) "\02\00\00\00\04\00\00\001\00.") (data (i32.const 5004) "\1c") - (data (i32.const 5016) "\01\00\00\00\08\00\00\001\00.\000\000") + (data (i32.const 5016) "\02\00\00\00\08\00\00\001\00.\000\000") (data (i32.const 5036) "\1c") - (data (i32.const 5048) "\01\00\00\00\08\00\00\001\00e\00-\005") + (data (i32.const 5048) "\02\00\00\00\08\00\00\001\00e\00-\005") (data (i32.const 5068) "\1c") - (data (i32.const 5080) "\01\00\00\00\n\00\00\00-\001\00e\00-\005") + (data (i32.const 5080) "\02\00\00\00\n\00\00\00-\001\00e\00-\005") (data (i32.const 5100) ",") - (data (i32.const 5112) "\01\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002") + (data (i32.const 5112) "\02\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002") (data (i32.const 5148) ",") - (data (i32.const 5160) "\01\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002") + (data (i32.const 5160) "\02\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002") (data (i32.const 5196) "\1c") - (data (i32.const 5208) "\01\00\00\00\08\00\00\001\00e\00-\001") + (data (i32.const 5208) "\02\00\00\00\08\00\00\001\00e\00-\001") (data (i32.const 5228) "\1c") - (data (i32.const 5240) "\01\00\00\00\0c\00\00\000\00.\001\00e\00-\000") + (data (i32.const 5240) "\02\00\00\00\0c\00\00\000\00.\001\00e\00-\000") (data (i32.const 5260) "\1c") - (data (i32.const 5272) "\01\00\00\00\06\00\00\000\00.\001") + (data (i32.const 5272) "\02\00\00\00\06\00\00\000\00.\001") (data (i32.const 5292) "\1c") - (data (i32.const 5304) "\01\00\00\00\06\00\00\00.\002\005") + (data (i32.const 5304) "\02\00\00\00\06\00\00\00.\002\005") (data (i32.const 5324) "\1c") - (data (i32.const 5336) "\01\00\00\00\0c\00\00\001\00.\00e\00+\003\00a") + (data (i32.const 5336) "\02\00\00\00\0c\00\00\001\00.\00e\00+\003\00a") (data (i32.const 5356) ",") - (data (i32.const 5368) "\01\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000") + (data (i32.const 5368) "\02\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000") (data (i32.const 5404) ",") - (data (i32.const 5416) "\01\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000") + (data (i32.const 5416) "\02\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000") (data (i32.const 5452) ",") - (data (i32.const 5464) "\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003") + (data (i32.const 5464) "\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003") (data (i32.const 5500) ",") - (data (i32.const 5512) "\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004") + (data (i32.const 5512) "\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004") (data (i32.const 5548) "\1c") - (data (i32.const 5560) "\01\00\00\00\0c\00\00\001\00e\00+\003\000\008") + (data (i32.const 5560) "\02\00\00\00\0c\00\00\001\00e\00+\003\000\008") (data (i32.const 5580) "\1c") - (data (i32.const 5592) "\01\00\00\00\0c\00\00\001\00e\00+\003\000\009") + (data (i32.const 5592) "\02\00\00\00\0c\00\00\001\00e\00+\003\000\009") (data (i32.const 5612) ",") - (data (i32.const 5624) "\01\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000") + (data (i32.const 5624) "\02\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000") (data (i32.const 5660) ",") - (data (i32.const 5672) "\01\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000") + (data (i32.const 5672) "\02\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000") (data (i32.const 5708) ",") - (data (i32.const 5720) "\01\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000") + (data (i32.const 5720) "\02\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000") (data (i32.const 5756) "\1c") - (data (i32.const 5768) "\01\00\00\00\06\00\00\001\00_\000") + (data (i32.const 5768) "\02\00\00\00\06\00\00\001\00_\000") (data (i32.const 5788) "\1c") - (data (i32.const 5800) "\01\00\00\00\06\00\00\001\00_\001") + (data (i32.const 5800) "\02\00\00\00\06\00\00\001\00_\001") (data (i32.const 5820) ",") - (data (i32.const 5832) "\01\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002") + (data (i32.const 5832) "\02\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002") (data (i32.const 5868) ",") - (data (i32.const 5880) "\01\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004") + (data (i32.const 5880) "\02\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004") (data (i32.const 5916) ",") - (data (i32.const 5928) "\01\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009") + (data (i32.const 5928) "\02\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009") (data (i32.const 5964) "\1c") - (data (i32.const 5976) "\01\00\00\00\n\00\00\001\00e\00-\006\000") + (data (i32.const 5976) "\02\00\00\00\n\00\00\001\00e\00-\006\000") (data (i32.const 5996) "\1c") - (data (i32.const 6008) "\01\00\00\00\08\00\00\001\00e\006\000") + (data (i32.const 6008) "\02\00\00\00\08\00\00\001\00e\006\000") (data (i32.const 6028) "\1c") - (data (i32.const 6040) "\01\00\00\00\0c\00\00\001\002\003\00.\004\00e") + (data (i32.const 6040) "\02\00\00\00\0c\00\00\001\002\003\00.\004\00e") (data (i32.const 6060) "\1c") - (data (i32.const 6072) "\01\00\00\00\04\00\00\001\00x") + (data (i32.const 6072) "\02\00\00\00\04\00\00\001\00x") (data (i32.const 6092) ",") - (data (i32.const 6104) "\01\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g") + (data (i32.const 6104) "\02\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g") (data (i32.const 6140) ",") - (data (i32.const 6152) "\01\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g") + (data (i32.const 6152) "\02\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g") (data (i32.const 6188) ",") - (data (i32.const 6200) "\01\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g") + (data (i32.const 6200) "\02\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g") (data (i32.const 6236) ",") - (data (i32.const 6248) "\01\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001") + (data (i32.const 6248) "\02\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001") (data (i32.const 6284) "\1c") - (data (i32.const 6296) "\01\00\00\00\n\00\00\001\001\00.\00s\001") + (data (i32.const 6296) "\02\00\00\00\n\00\00\001\001\00.\00s\001") (data (i32.const 6316) "\1c") - (data (i32.const 6328) "\01\00\00\00\06\00\00\000\00x\005") + (data (i32.const 6328) "\02\00\00\00\06\00\00\000\00x\005") (data (i32.const 6348) "\1c") - (data (i32.const 6360) "\01\00\00\00\06\00\00\000\00x\00D") + (data (i32.const 6360) "\02\00\00\00\06\00\00\000\00x\00D") (data (i32.const 6380) "\1c") - (data (i32.const 6392) "\01\00\00\00\08\00\00\00\0b\001\00.\001") + (data (i32.const 6392) "\02\00\00\00\08\00\00\00\0b\001\00.\001") (data (i32.const 6412) "\1c") - (data (i32.const 6424) "\01\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001") + (data (i32.const 6424) "\02\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001") (data (i32.const 6444) "\1c") - (data (i32.const 6456) "\01\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001") + (data (i32.const 6456) "\02\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001") (data (i32.const 6476) "\1c") - (data (i32.const 6488) "\01\00\00\00\0c\00\00\00( ( -\001\00.\001") + (data (i32.const 6488) "\02\00\00\00\0c\00\00\00( ( -\001\00.\001") (data (i32.const 6508) "\1c") - (data (i32.const 6520) "\01\00\00\00\0c\00\00\00) ) -\001\00.\001") + (data (i32.const 6520) "\02\00\00\00\0c\00\00\00) ) -\001\00.\001") (data (i32.const 6540) "\1c") - (data (i32.const 6552) "\01\00\00\00\n\00\00\000\000\000\000\000") + (data (i32.const 6552) "\02\00\00\00\n\00\00\000\000\000\000\000") (data (i32.const 6572) "\1c") - (data (i32.const 6584) "\01\00\00\00\n\00\00\000\000\000\000\00a") + (data (i32.const 6584) "\02\00\00\00\n\00\00\000\000\000\000\00a") (data (i32.const 6604) "\1c") - (data (i32.const 6616) "\01\00\00\00\n\00\00\000\000\000\000\001") + (data (i32.const 6616) "\02\00\00\00\n\00\00\000\000\000\000\001") (data (i32.const 6636) "\1c") - (data (i32.const 6648) "\01\00\00\00\n\00\00\000\000\00.\000\000") + (data (i32.const 6648) "\02\00\00\00\n\00\00\000\000\00.\000\000") (data (i32.const 6668) "\1c") - (data (i32.const 6680) "\01\00\00\00\n\00\00\000\000\00.\000\00a") + (data (i32.const 6680) "\02\00\00\00\n\00\00\000\000\00.\000\00a") (data (i32.const 6700) "\1c") - (data (i32.const 6712) "\01\00\00\00\08\00\00\001\00e\001\00e") + (data (i32.const 6712) "\02\00\00\00\08\00\00\001\00e\001\00e") (data (i32.const 6732) ",") - (data (i32.const 6744) "\01\00\00\00\0e\00\00\001\00e\00+\000\000\000\001") + (data (i32.const 6744) "\02\00\00\00\0e\00\00\001\00e\00+\000\000\000\001") (data (i32.const 6780) "\1c") - (data (i32.const 6792) "\01\00\00\00\0c\00\00\000\00e\00+\001\000\000") + (data (i32.const 6792) "\02\00\00\00\0c\00\00\000\00e\00+\001\000\000") (data (i32.const 6812) "\1c") - (data (i32.const 6824) "\01\00\00\00\n\00\00\001\00.\00-\001\00.") + (data (i32.const 6824) "\02\00\00\00\n\00\00\001\00.\00-\001\00.") (data (i32.const 6844) "\1c") - (data (i32.const 6856) "\01\00\00\00\0c\00\00\001\00e\00-\001\00.\002") + (data (i32.const 6856) "\02\00\00\00\0c\00\00\001\00e\00-\001\00.\002") (data (i32.const 6876) "\1c") - (data (i32.const 6888) "\01\00\00\00\06\00\00\001\00e\00x") + (data (i32.const 6888) "\02\00\00\00\06\00\00\001\00e\00x") (data (i32.const 6908) "\1c") - (data (i32.const 6920) "\01\00\00\00\08\00\00\001\00e\001\00x") + (data (i32.const 6920) "\02\00\00\00\08\00\00\001\00e\001\00x") (data (i32.const 6940) "\1c") - (data (i32.const 6952) "\01\00\00\00\08\00\00\001\00e\00-\00x") + (data (i32.const 6952) "\02\00\00\00\08\00\00\001\00e\00-\00x") (data (i32.const 6972) "\1c") - (data (i32.const 6984) "\01\00\00\00\n\00\00\001\00e\00-\001\00x") + (data (i32.const 6984) "\02\00\00\00\n\00\00\001\00e\00-\001\00x") (data (i32.const 7004) ",") - (data (i32.const 7016) "\01\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x") + (data (i32.const 7016) "\02\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x") (data (i32.const 7052) "\1c") - (data (i32.const 7064) "\01\00\00\00\06\00\00\000\000\00.") + (data (i32.const 7064) "\02\00\00\00\06\00\00\000\000\00.") (data (i32.const 7084) "\1c") - (data (i32.const 7096) "\01\00\00\00\06\00\00\00.\000\000") + (data (i32.const 7096) "\02\00\00\00\06\00\00\00.\000\000") (data (i32.const 7116) "\1c") - (data (i32.const 7128) "\01\00\00\00\06\00\00\00.\000\00.") + (data (i32.const 7128) "\02\00\00\00\06\00\00\00.\000\00.") (data (i32.const 7148) "\1c") - (data (i32.const 7160) "\01\00\00\00\06\00\00\00.\001\00.") + (data (i32.const 7160) "\02\00\00\00\06\00\00\00.\001\00.") (data (i32.const 7180) "\1c") - (data (i32.const 7192) "\01\00\00\00\06\00\00\000\00.\00.") + (data (i32.const 7192) "\02\00\00\00\06\00\00\000\00.\00.") (data (i32.const 7212) "\1c") - (data (i32.const 7224) "\01\00\00\00\06\00\00\000\00.\00a") + (data (i32.const 7224) "\02\00\00\00\06\00\00\000\00.\00a") (data (i32.const 7244) "\1c") - (data (i32.const 7256) "\01\00\00\00\08\00\00\001\00.\00.\001") + (data (i32.const 7256) "\02\00\00\00\08\00\00\001\00.\00.\001") (data (i32.const 7276) "\1c") - (data (i32.const 7288) "\01\00\00\00\n\00\00\000\00.\001\00.\001") + (data (i32.const 7288) "\02\00\00\00\n\00\00\000\00.\001\00.\001") (data (i32.const 7308) "\1c") - (data (i32.const 7320) "\01\00\00\00\08\00\00\000\00.\00 \001") + (data (i32.const 7320) "\02\00\00\00\08\00\00\000\00.\00 \001") (data (i32.const 7340) "\1c") - (data (i32.const 7352) "\01\00\00\00\08\00\00\00+\000\00.\000") + (data (i32.const 7352) "\02\00\00\00\08\00\00\00+\000\00.\000") (data (i32.const 7372) "\1c") - (data (i32.const 7384) "\01\00\00\00\08\00\00\00-\000\00.\000") + (data (i32.const 7384) "\02\00\00\00\08\00\00\00-\000\00.\000") (data (i32.const 7404) "\1c") - (data (i32.const 7416) "\01\00\00\00\04\00\00\00+\000") + (data (i32.const 7416) "\02\00\00\00\04\00\00\00+\000") (data (i32.const 7436) ",") - (data (i32.const 7448) "\01\00\00\00\0e\00\00\00-\00.\000\000\000\000\000") + (data (i32.const 7448) "\02\00\00\00\0e\00\00\00-\00.\000\000\000\000\000") (data (i32.const 7484) "\1c") - (data (i32.const 7496) "\01\00\00\00\06\00\00\00-\00-\000") + (data (i32.const 7496) "\02\00\00\00\06\00\00\00-\00-\000") (data (i32.const 7516) "\1c") - (data (i32.const 7528) "\01\00\00\00\06\00\00\00+\00+\000") + (data (i32.const 7528) "\02\00\00\00\06\00\00\00+\00+\000") (data (i32.const 7548) "\1c") - (data (i32.const 7560) "\01\00\00\00\04\00\00\00.\00a") + (data (i32.const 7560) "\02\00\00\00\04\00\00\00.\00a") (data (i32.const 7580) "\1c") - (data (i32.const 7592) "\01\00\00\00\06\00\00\00.\00.\000") + (data (i32.const 7592) "\02\00\00\00\06\00\00\00.\00.\000") (data (i32.const 7612) "\1c") - (data (i32.const 7624) "\01\00\00\00\02\00\00\00.") + (data (i32.const 7624) "\02\00\00\00\02\00\00\00.") (data (i32.const 7644) "\1c") - (data (i32.const 7656) "\01\00\00\00\04\00\00\00.\00.") + (data (i32.const 7656) "\02\00\00\00\04\00\00\00.\00.") (data (i32.const 7676) "\1c") - (data (i32.const 7688) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 7688) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 7708) "\1c") - (data (i32.const 7720) "\01\00\00\00\02\00\00\00\0b") + (data (i32.const 7720) "\02\00\00\00\02\00\00\00\0b") (data (i32.const 7740) "\1c") - (data (i32.const 7752) "\01\00\00\00\02\00\00\00\0e\18") + (data (i32.const 7752) "\02\00\00\00\02\00\00\00\0e\18") (data (i32.const 7772) "\1c") - (data (i32.const 7784) "\01\00\00\00\08\00\00\00\0e\181\00.\001") + (data (i32.const 7784) "\02\00\00\00\08\00\00\00\0e\181\00.\001") (data (i32.const 7804) "\1c") - (data (i32.const 7816) "\01\00\00\00\n\00\00\00\0e\18\0e\181\00.\001") + (data (i32.const 7816) "\02\00\00\00\n\00\00\00\0e\18\0e\181\00.\001") (data (i32.const 7836) "\1c") - (data (i32.const 7848) "\01\00\00\00\02\00\00\00\0c") + (data (i32.const 7848) "\02\00\00\00\02\00\00\00\0c") (data (i32.const 7868) "\1c") - (data (i32.const 7880) "\01\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 7880) "\02\00\00\00\08\00\00\00t\00r\00u\00e") (data (i32.const 7900) "\1c") - (data (i32.const 7912) "\01\00\00\00\08\00\00\001\00e\002\002") + (data (i32.const 7912) "\02\00\00\00\08\00\00\001\00e\002\002") (data (i32.const 7932) "\1c") - (data (i32.const 7944) "\01\00\00\00\n\00\00\001\00e\00-\002\002") + (data (i32.const 7944) "\02\00\00\00\n\00\00\001\00e\00-\002\002") (data (i32.const 7964) "\1c") - (data (i32.const 7976) "\01\00\00\00\08\00\00\001\00e\002\003") + (data (i32.const 7976) "\02\00\00\00\08\00\00\001\00e\002\003") (data (i32.const 7996) "\1c") - (data (i32.const 8008) "\01\00\00\00\n\00\00\001\00e\00-\002\003") + (data (i32.const 8008) "\02\00\00\00\n\00\00\001\00e\00-\002\003") (data (i32.const 8028) "\1c") - (data (i32.const 8040) "\01\00\00\00\08\00\00\001\00e\003\007") + (data (i32.const 8040) "\02\00\00\00\08\00\00\001\00e\003\007") (data (i32.const 8060) "\1c") - (data (i32.const 8072) "\01\00\00\00\n\00\00\001\00e\00-\003\007") + (data (i32.const 8072) "\02\00\00\00\n\00\00\001\00e\00-\003\007") (data (i32.const 8092) "\1c") - (data (i32.const 8104) "\01\00\00\00\08\00\00\001\00e\003\008") + (data (i32.const 8104) "\02\00\00\00\08\00\00\001\00e\003\008") (data (i32.const 8124) "\1c") - (data (i32.const 8136) "\01\00\00\00\n\00\00\001\00e\00-\003\008") + (data (i32.const 8136) "\02\00\00\00\n\00\00\001\00e\00-\003\008") (data (i32.const 8156) "<") - (data (i32.const 8168) "\01\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006") + (data (i32.const 8168) "\02\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006") (data (i32.const 8220) "L") - (data (i32.const 8232) "\01\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008") + (data (i32.const 8232) "\02\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008") (data (i32.const 8300) "\1c") - (data (i32.const 8312) "\01\00\00\00\0c\00\00\005\00e\00-\003\002\004") + (data (i32.const 8312) "\02\00\00\00\0c\00\00\005\00e\00-\003\002\004") (data (i32.const 8332) ",") - (data (i32.const 8344) "\01\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004") + (data (i32.const 8344) "\02\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004") (data (i32.const 8380) "\8c") - (data (i32.const 8392) "\01\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006") + (data (i32.const 8392) "\02\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006") (data (i32.const 8524) ",") - (data (i32.const 8536) "\01\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005") + (data (i32.const 8536) "\02\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005") (data (i32.const 8572) ",") - (data (i32.const 8584) "\01\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009") + (data (i32.const 8584) "\02\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009") (data (i32.const 8620) ",") - (data (i32.const 8632) "\01\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005") + (data (i32.const 8632) "\02\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005") (data (i32.const 8668) ",") - (data (i32.const 8680) "\01\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009") + (data (i32.const 8680) "\02\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009") (data (i32.const 8716) ",") - (data (i32.const 8728) "\01\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000") + (data (i32.const 8728) "\02\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000") (data (i32.const 8764) ",") - (data (i32.const 8776) "\01\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000") + (data (i32.const 8776) "\02\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000") (data (i32.const 8812) "\1c") - (data (i32.const 8824) "\01\00\00\00\0c\00\00\001\00.\00e\003\006\000") + (data (i32.const 8824) "\02\00\00\00\0c\00\00\001\00.\00e\003\006\000") (data (i32.const 8844) ",") - (data (i32.const 8856) "\01\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 8856) "\02\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 8892) ",") - (data (i32.const 8904) "\01\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 8904) "\02\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 8940) ",") - (data (i32.const 8952) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 8952) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 8988) ",") - (data (i32.const 9000) "\01\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x") + (data (i32.const 9000) "\02\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x") (data (i32.const 9036) ",") - (data (i32.const 9048) "\01\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001") + (data (i32.const 9048) "\02\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001") (data (i32.const 9084) "\1c") - (data (i32.const 9096) "\01\00\00\00\08\00\00\00I\00n\00f\00i") + (data (i32.const 9096) "\02\00\00\00\08\00\00\00I\00n\00f\00i") (data (i32.const 9116) ",") - (data (i32.const 9128) "\01\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t") + (data (i32.const 9128) "\02\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t") (data (i32.const 9164) ",") - (data (i32.const 9176) "\01\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 9176) "\02\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 9212) "\bc") - (data (i32.const 9224) "\01\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003") + (data (i32.const 9224) "\02\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003") (data (i32.const 9404) "\bc") - (data (i32.const 9416) "\01\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003") + (data (i32.const 9416) "\02\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003") (data (i32.const 9596) "\bc") - (data (i32.const 9608) "\01\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007") + (data (i32.const 9608) "\02\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007") (data (i32.const 9788) "\9c") - (data (i32.const 9800) "\01\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004") + (data (i32.const 9800) "\02\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004") (data (i32.const 9948) "\9c") - (data (i32.const 9960) "\01\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004") + (data (i32.const 9960) "\02\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004") (data (i32.const 10108) "\9c") - (data (i32.const 10120) "\01\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000") + (data (i32.const 10120) "\02\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000") (data (i32.const 10268) "\9c") - (data (i32.const 10280) "\01\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004") + (data (i32.const 10280) "\02\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004") (data (i32.const 10428) "\9c") - (data (i32.const 10440) "\01\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009") + (data (i32.const 10440) "\02\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009") (data (i32.const 10588) "l") - (data (i32.const 10600) "\01\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003") + (data (i32.const 10600) "\02\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003") (data (i32.const 10700) "l") - (data (i32.const 10712) "\01\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000") + (data (i32.const 10712) "\02\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000") (data (i32.const 10812) "l") - (data (i32.const 10824) "\01\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001") + (data (i32.const 10824) "\02\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001") (data (i32.const 10924) "l") - (data (i32.const 10936) "\01\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002") + (data (i32.const 10936) "\02\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002") (data (i32.const 11036) "l") - (data (i32.const 11048) "\01\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003") + (data (i32.const 11048) "\02\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003") (data (i32.const 11148) "l") - (data (i32.const 11160) "\01\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004") + (data (i32.const 11160) "\02\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004") (data (i32.const 11260) "l") - (data (i32.const 11272) "\01\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005") + (data (i32.const 11272) "\02\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005") (data (i32.const 11372) "l") - (data (i32.const 11384) "\01\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006") + (data (i32.const 11384) "\02\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006") (data (i32.const 11484) "l") - (data (i32.const 11496) "\01\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007") + (data (i32.const 11496) "\02\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007") (data (i32.const 11596) "l") - (data (i32.const 11608) "\01\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008") + (data (i32.const 11608) "\02\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008") (data (i32.const 11708) "l") - (data (i32.const 11720) "\01\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001") + (data (i32.const 11720) "\02\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001") (data (i32.const 11820) "l") - (data (i32.const 11832) "\01\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002") + (data (i32.const 11832) "\02\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002") (data (i32.const 11932) "l") - (data (i32.const 11944) "\01\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003") + (data (i32.const 11944) "\02\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003") (data (i32.const 12044) "l") - (data (i32.const 12056) "\01\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004") + (data (i32.const 12056) "\02\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004") (data (i32.const 12156) "l") - (data (i32.const 12168) "\01\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005") + (data (i32.const 12168) "\02\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005") (data (i32.const 12268) "l") - (data (i32.const 12280) "\01\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006") + (data (i32.const 12280) "\02\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006") (data (i32.const 12380) "l") - (data (i32.const 12392) "\01\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006") + (data (i32.const 12392) "\02\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006") (data (i32.const 12492) "l") - (data (i32.const 12504) "\01\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008") + (data (i32.const 12504) "\02\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008") (data (i32.const 12604) "l") - (data (i32.const 12616) "\01\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009") + (data (i32.const 12616) "\02\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009") (data (i32.const 12716) "l") - (data (i32.const 12728) "\01\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002") + (data (i32.const 12728) "\02\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002") (data (i32.const 12828) "l") - (data (i32.const 12840) "\01\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000") + (data (i32.const 12840) "\02\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000") (data (i32.const 12940) "l") - (data (i32.const 12952) "\01\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007") + (data (i32.const 12952) "\02\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007") (data (i32.const 13052) "l") - (data (i32.const 13064) "\01\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005") + (data (i32.const 13064) "\02\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005") (data (i32.const 13164) "l") - (data (i32.const 13176) "\01\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009") + (data (i32.const 13176) "\02\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009") (data (i32.const 13276) "\1c") - (data (i32.const 13288) "\01\00\00\00\06\00\00\00 \00\t\00\n") + (data (i32.const 13288) "\02\00\00\00\06\00\00\00 \00\t\00\n") (data (i32.const 13308) "\1c") - (data (i32.const 13320) "\01\00\00\00\0c\00\00\00 \00\t\00\n\00\r\00.\001") + (data (i32.const 13320) "\02\00\00\00\0c\00\00\00 \00\t\00\n\00\r\00.\001") (data (i32.const 13340) "\1c") - (data (i32.const 13352) "\01\00\00\00\02\00\00\00b") + (data (i32.const 13352) "\02\00\00\00\02\00\00\00b") (data (i32.const 13372) "\1c") - (data (i32.const 13384) "\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 13384) "\02\00\00\00\04\00\00\00a\00b") (data (i32.const 13404) "\1c") - (data (i32.const 13416) "\01\00\00\00\08\00\00\00k\00e\00y\001") + (data (i32.const 13416) "\02\00\00\00\08\00\00\00k\00e\00y\001") (data (i32.const 13436) "\1c") - (data (i32.const 13448) "\01\00\00\00\08\00\00\00k\00e\00y\002") + (data (i32.const 13448) "\02\00\00\00\08\00\00\00k\00e\00y\002") (data (i32.const 13468) "\1c") - (data (i32.const 13480) "\01\00\00\00\06\00\00\00k\00e\001") + (data (i32.const 13480) "\02\00\00\00\06\00\00\00k\00e\001") (data (i32.const 13500) "\1c") - (data (i32.const 13512) "\01\00\00\00\06\00\00\00k\00e\002") + (data (i32.const 13512) "\02\00\00\00\06\00\00\00k\00e\002") (data (i32.const 13532) "\1c") - (data (i32.const 13544) "\01\00\00\00\n\00\00\00k\00e\00y\001\002") + (data (i32.const 13544) "\02\00\00\00\n\00\00\00k\00e\00y\001\002") (data (i32.const 13564) "\1c") - (data (i32.const 13576) "\01\00\00\00\n\00\00\00k\00e\00y\001\001") + (data (i32.const 13576) "\02\00\00\00\n\00\00\00k\00e\00y\001\001") (data (i32.const 13596) ",") - (data (i32.const 13608) "\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") + (data (i32.const 13608) "\02\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") (data (i32.const 13644) ",") - (data (i32.const 13656) "\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") + (data (i32.const 13656) "\02\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") (data (i32.const 13692) ",") - (data (i32.const 13704) "\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") + (data (i32.const 13704) "\02\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") (data (i32.const 13740) ",") - (data (i32.const 13752) "\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") + (data (i32.const 13752) "\02\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") (data (i32.const 13788) "\1c") - (data (i32.const 13800) "\01\00\00\00\04\00\00\00b\00a") + (data (i32.const 13800) "\02\00\00\00\04\00\00\00b\00a") (data (i32.const 13820) "\1c") - (data (i32.const 13832) "\01\00\00\00\04\00\00\00a\00a") + (data (i32.const 13832) "\02\00\00\00\04\00\00\00a\00a") (data (i32.const 13852) "\1c") - (data (i32.const 13864) "\01\00\00\00\04\00\00\001\000") + (data (i32.const 13864) "\02\00\00\00\04\00\00\001\000") (data (i32.const 13884) "\1c") - (data (i32.const 13896) "\01\00\00\00\04\00\00\001\001") + (data (i32.const 13896) "\02\00\00\00\04\00\00\001\001") (data (i32.const 13916) "\1c") - (data (i32.const 13928) "\01\00\00\00\06\00\00\001\000\001") + (data (i32.const 13928) "\02\00\00\00\06\00\00\001\000\001") (data (i32.const 13948) "\1c") - (data (i32.const 13960) "\01\00\00\00\06\00\00\001\002\002") + (data (i32.const 13960) "\02\00\00\00\06\00\00\001\002\002") (data (i32.const 13980) "\1c") - (data (i32.const 13992) "\01\00\00\00\08\00\00\001\002\003\004") + (data (i32.const 13992) "\02\00\00\00\08\00\00\001\002\003\004") (data (i32.const 14012) "\1c") - (data (i32.const 14024) "\01\00\00\00\08\00\00\001\002\003\003") + (data (i32.const 14024) "\02\00\00\00\08\00\00\001\002\003\003") (data (i32.const 14044) ",") - (data (i32.const 14056) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 14056) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 14092) "\1c") - (data (i32.const 14104) "\01\00\00\00\06\00\00\00a\00a\00a") + (data (i32.const 14104) "\02\00\00\00\06\00\00\00a\00a\00a") (data (i32.const 14124) ",") - (data (i32.const 14136) "\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") + (data (i32.const 14136) "\02\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") (data (i32.const 14172) "\1c") - (data (i32.const 14184) "\01\00\00\00\n\00\00\00a\00a\00a\00a\00a") + (data (i32.const 14184) "\02\00\00\00\n\00\00\00a\00a\00a\00a\00a") (data (i32.const 14204) "\1c") - (data (i32.const 14216) "\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") + (data (i32.const 14216) "\02\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") (data (i32.const 14236) ",") - (data (i32.const 14248) "\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") + (data (i32.const 14248) "\02\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") (data (i32.const 14284) "\1c") - (data (i32.const 14296) "\01\00\00\00\n\00\00\00a\00-\00b\00-\00c") + (data (i32.const 14296) "\02\00\00\00\n\00\00\00a\00-\00b\00-\00c") (data (i32.const 14316) "\1c") - (data (i32.const 14328) "\01\00\00\00\n\00\00\00a\00+\00b\00-\00c") + (data (i32.const 14328) "\02\00\00\00\n\00\00\00a\00+\00b\00-\00c") (data (i32.const 14348) "\1c") - (data (i32.const 14360) "\01\00\00\00\08\00\00\00+\00a\00b\00c") + (data (i32.const 14360) "\02\00\00\00\08\00\00\00+\00a\00b\00c") (data (i32.const 14380) "\1c") - (data (i32.const 14392) "\01\00\00\00\08\00\00\00\n\00a\00b\00c") + (data (i32.const 14392) "\02\00\00\00\08\00\00\00\n\00a\00b\00c") (data (i32.const 14412) "\1c") - (data (i32.const 14424) "\01\00\00\00\02\00\00\00\n") + (data (i32.const 14424) "\02\00\00\00\02\00\00\00\n") (data (i32.const 14444) "\1c") - (data (i32.const 14456) "\01\00\00\00\02\00\00\00c") + (data (i32.const 14456) "\02\00\00\00\02\00\00\00c") (data (i32.const 14476) "\1c") - (data (i32.const 14488) "\01\00\00\00\04\00\00\00+\00+") + (data (i32.const 14488) "\02\00\00\00\04\00\00\00+\00+") (data (i32.const 14508) "\1c") - (data (i32.const 14520) "\01\00\00\00\08\00\00\00a\00b\00+\00+") + (data (i32.const 14520) "\02\00\00\00\08\00\00\00a\00b\00+\00+") (data (i32.const 14540) ",") - (data (i32.const 14552) "\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c") + (data (i32.const 14552) "\02\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c") (data (i32.const 14588) "\1c") - (data (i32.const 14600) "\01\00\00\00\06\00\00\00+\00+\00+") + (data (i32.const 14600) "\02\00\00\00\06\00\00\00+\00+\00+") (data (i32.const 14620) ",") - (data (i32.const 14632) "\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a") + (data (i32.const 14632) "\02\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a") (data (i32.const 14668) ",") - (data (i32.const 14680) "\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+") + (data (i32.const 14680) "\02\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+") (data (i32.const 14716) "\1c") - (data (i32.const 14728) "\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c") + (data (i32.const 14728) "\02\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c") (data (i32.const 14748) "\1c") - (data (i32.const 14760) "\01\00\00\00\08\00\00\00c\00c\00c\00c") + (data (i32.const 14760) "\02\00\00\00\08\00\00\00c\00c\00c\00c") (data (i32.const 14780) "\1c") - (data (i32.const 14792) "\01\00\00\00\04\00\00\00c\00c") + (data (i32.const 14792) "\02\00\00\00\04\00\00\00c\00c") (data (i32.const 14812) "\1c") - (data (i32.const 14824) "\01\00\00\00\08\00\00\00+\00+\00+\00+") + (data (i32.const 14824) "\02\00\00\00\08\00\00\00+\00+\00+\00+") (data (i32.const 14844) "\1c") - (data (i32.const 14856) "\01\00\00\00\02\00\00\00e") + (data (i32.const 14856) "\02\00\00\00\02\00\00\00e") (data (i32.const 14876) "\1c") - (data (i32.const 14888) "\01\00\00\00\04\00\00\00b\00c") + (data (i32.const 14888) "\02\00\00\00\04\00\00\00b\00c") (data (i32.const 14908) "\1c") - (data (i32.const 14920) "\01\00\00\00\04\00\00\00a\00+") + (data (i32.const 14920) "\02\00\00\00\04\00\00\00a\00+") (data (i32.const 14940) "\1c") - (data (i32.const 14952) "\01\00\00\00\n\00\00\00a\00+\00b\00+\00c") + (data (i32.const 14952) "\02\00\00\00\n\00\00\00a\00+\00b\00+\00c") (data (i32.const 14972) ",") - (data (i32.const 14984) "\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+") + (data (i32.const 14984) "\02\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+") (data (i32.const 15020) "\1c") - (data (i32.const 15032) "\01\00\00\00\n\00\00\00a\00b\00c\00d\00e") + (data (i32.const 15032) "\02\00\00\00\n\00\00\00a\00b\00c\00d\00e") (data (i32.const 15052) "\1c") - (data (i32.const 15064) "\01\00\00\00\06\00\00\00-\00-\00-") + (data (i32.const 15064) "\02\00\00\00\06\00\00\00-\00-\00-") (data (i32.const 15084) ",") - (data (i32.const 15096) "\01\00\00\00\0e\00\00\00-\00-\00-\00b\00c\00d\00e") + (data (i32.const 15096) "\02\00\00\00\0e\00\00\00-\00-\00-\00b\00c\00d\00e") (data (i32.const 15132) "\1c") - (data (i32.const 15144) "\01\00\00\00\n\00\00\00-\00-\00-\00-\00-") + (data (i32.const 15144) "\02\00\00\00\n\00\00\00-\00-\00-\00-\00-") (data (i32.const 15164) "\1c") - (data (i32.const 15176) "\01\00\00\00\08\00\00\00-\00-\00-\00-") + (data (i32.const 15176) "\02\00\00\00\08\00\00\00-\00-\00-\00-") (data (i32.const 15196) ",") - (data (i32.const 15208) "\01\00\00\00\18\00\00\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-") + (data (i32.const 15208) "\02\00\00\00\18\00\00\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-") (data (i32.const 15244) "\1c") - (data (i32.const 15256) "\01\00\00\00\08\00\00\00-\00-\00-\00a") + (data (i32.const 15256) "\02\00\00\00\08\00\00\00-\00-\00-\00a") (data (i32.const 15276) ",") - (data (i32.const 15288) "\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") + (data (i32.const 15288) "\02\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") (data (i32.const 15324) "\1c") - (data (i32.const 15336) "\01\00\00\00\02\00\00\00n") + (data (i32.const 15336) "\02\00\00\00\02\00\00\00n") (data (i32.const 15356) "\1c") - (data (i32.const 15368) "\01\00\00\00\n\00\00\00j\00k\00l\00m\00n") + (data (i32.const 15368) "\02\00\00\00\n\00\00\00j\00k\00l\00m\00n") (data (i32.const 15388) "\1c") - (data (i32.const 15400) "\01\00\00\00\n\00\00\00c\00d\00e\00f\00g") + (data (i32.const 15400) "\02\00\00\00\n\00\00\00c\00d\00e\00f\00g") (data (i32.const 15420) "\1c") - (data (i32.const 15432) "\01\00\00\00\n\00\00\00d\00e\00f\00g\00h") + (data (i32.const 15432) "\02\00\00\00\n\00\00\00d\00e\00f\00g\00h") (data (i32.const 15452) ",") - (data (i32.const 15464) "\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") + (data (i32.const 15464) "\02\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") (data (i32.const 15500) ",") - (data (i32.const 15512) "\01\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i") + (data (i32.const 15512) "\02\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i") (data (i32.const 15548) "\1c") - (data (i32.const 15560) "\01\00\00\00\06\00\00\00e\00f\00g") + (data (i32.const 15560) "\02\00\00\00\06\00\00\00e\00f\00g") (data (i32.const 15580) "\1c") - (data (i32.const 15592) "\01\00\00\00\08\00\00\00e\00f\00g\00h") + (data (i32.const 15592) "\02\00\00\00\08\00\00\00e\00f\00g\00h") (data (i32.const 15612) "\1c") - (data (i32.const 15624) "\01\00\00\00\02\00\00\00d") + (data (i32.const 15624) "\02\00\00\00\02\00\00\00d") (data (i32.const 15644) ",") - (data (i32.const 15656) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 15656) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 15692) "|") - (data (i32.const 15704) "\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 15704) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (data (i32.const 15820) "\1c") - (data (i32.const 15832) "\01\00\00\00\n\00\00\00a\00,\00b\00,\00c") + (data (i32.const 15832) "\02\00\00\00\n\00\00\00a\00,\00b\00,\00c") (data (i32.const 15852) ",") - (data (i32.const 15864) "\01\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c") + (data (i32.const 15864) "\02\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c") (data (i32.const 15900) "\1c") - (data (i32.const 15912) "\01\00\00\00\04\00\00\00,\00 ") + (data (i32.const 15912) "\02\00\00\00\04\00\00\00,\00 ") (data (i32.const 15932) "\1c") - (data (i32.const 15944) "\01\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c") + (data (i32.const 15944) "\02\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c") (data (i32.const 15964) "\1c") - (data (i32.const 15976) "\01\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c") + (data (i32.const 15976) "\02\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c") (data (i32.const 15996) "\1c") - (data (i32.const 16008) "\01\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,") + (data (i32.const 16008) "\02\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,") (data (i32.const 16028) "|") - (data (i32.const 16040) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 16040) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 16156) "<") - (data (i32.const 16168) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 16168) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 16220) "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 16620) "\1c\04") - (data (i32.const 16632) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 16632) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 17676) "\\") - (data (i32.const 17688) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 17688) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 17772) "\1c") - (data (i32.const 17784) "\01\00\00\00\02\00\00\008") + (data (i32.const 17784) "\02\00\00\00\02\00\00\008") (data (i32.const 17804) "\1c") - (data (i32.const 17816) "\01\00\00\00\04\00\00\001\002") + (data (i32.const 17816) "\02\00\00\00\04\00\00\001\002") (data (i32.const 17836) "\1c") - (data (i32.const 17848) "\01\00\00\00\n\00\00\00-\001\000\000\000") + (data (i32.const 17848) "\02\00\00\00\n\00\00\00-\001\000\000\000") (data (i32.const 17868) "\1c") - (data (i32.const 17880) "\01\00\00\00\n\00\00\001\002\003\004\005") + (data (i32.const 17880) "\02\00\00\00\n\00\00\001\002\003\004\005") (data (i32.const 17900) "\1c") - (data (i32.const 17912) "\01\00\00\00\0c\00\00\001\002\003\004\005\006") + (data (i32.const 17912) "\02\00\00\00\0c\00\00\001\002\003\004\005\006") (data (i32.const 17932) ",") - (data (i32.const 17944) "\01\00\00\00\0e\00\00\001\001\001\001\001\001\001") + (data (i32.const 17944) "\02\00\00\00\0e\00\00\001\001\001\001\001\001\001") (data (i32.const 17980) ",") - (data (i32.const 17992) "\01\00\00\00\0e\00\00\001\002\003\004\005\006\007") + (data (i32.const 17992) "\02\00\00\00\0e\00\00\001\002\003\004\005\006\007") (data (i32.const 18028) ",") - (data (i32.const 18040) "\01\00\00\00\10\00\00\001\002\003\004\005\006\007\008") + (data (i32.const 18040) "\02\00\00\00\10\00\00\001\002\003\004\005\006\007\008") (data (i32.const 18076) ",") - (data (i32.const 18088) "\01\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009") + (data (i32.const 18088) "\02\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009") (data (i32.const 18124) ",") - (data (i32.const 18136) "\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") + (data (i32.const 18136) "\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") (data (i32.const 18172) ",") - (data (i32.const 18184) "\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") + (data (i32.const 18184) "\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") (data (i32.const 18220) ",") - (data (i32.const 18232) "\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 18232) "\02\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") (data (i32.const 18268) "\1c") - (data (i32.const 18280) "\01\00\00\00\04\00\00\00-\001") + (data (i32.const 18280) "\02\00\00\00\04\00\00\00-\001") (data (i32.const 18300) "\1c") - (data (i32.const 18312) "\01\00\00\00\08\00\00\00-\001\002\008") + (data (i32.const 18312) "\02\00\00\00\08\00\00\00-\001\002\008") (data (i32.const 18332) "\1c") - (data (i32.const 18344) "\01\00\00\00\0c\00\00\00-\003\002\007\006\008") + (data (i32.const 18344) "\02\00\00\00\0c\00\00\00-\003\002\007\006\008") (data (i32.const 18364) "\1c") - (data (i32.const 18376) "\01\00\00\00\08\00\00\001\000\000\000") + (data (i32.const 18376) "\02\00\00\00\08\00\00\001\000\000\000") (data (i32.const 18396) ",") - (data (i32.const 18408) "\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 18408) "\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") (data (i32.const 18444) ",") - (data (i32.const 18456) "\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") + (data (i32.const 18456) "\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") (data (i32.const 18492) "\1c") - (data (i32.const 18504) "\01\00\00\00\04\00\00\007\00b") + (data (i32.const 18504) "\02\00\00\00\04\00\00\007\00b") (data (i32.const 18524) "\1c") - (data (i32.const 18536) "\01\00\00\00\06\00\00\004\00d\002") + (data (i32.const 18536) "\02\00\00\00\06\00\00\004\00d\002") (data (i32.const 18556) "\1c") - (data (i32.const 18568) "\01\00\00\00\08\00\00\003\000\003\009") + (data (i32.const 18568) "\02\00\00\00\08\00\00\003\000\003\009") (data (i32.const 18588) "\1c") - (data (i32.const 18600) "\01\00\00\00\n\00\00\001\00e\002\004\000") + (data (i32.const 18600) "\02\00\00\00\n\00\00\001\00e\002\004\000") (data (i32.const 18620) "\1c") - (data (i32.const 18632) "\01\00\00\00\0c\00\00\001\000\00f\004\004\007") + (data (i32.const 18632) "\02\00\00\00\0c\00\00\001\000\00f\004\004\007") (data (i32.const 18652) "\1c") - (data (i32.const 18664) "\01\00\00\00\0c\00\00\001\002\00d\006\008\007") + (data (i32.const 18664) "\02\00\00\00\0c\00\00\001\002\00d\006\008\007") (data (i32.const 18684) "\1c") - (data (i32.const 18696) "\01\00\00\00\0c\00\00\00b\00c\006\001\004\00e") + (data (i32.const 18696) "\02\00\00\00\0c\00\00\00b\00c\006\001\004\00e") (data (i32.const 18716) ",") - (data (i32.const 18728) "\01\00\00\00\0e\00\00\007\005\00b\00c\00d\001\005") + (data (i32.const 18728) "\02\00\00\00\0e\00\00\007\005\00b\00c\00d\001\005") (data (i32.const 18764) ",") - (data (i32.const 18776) "\01\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00e") + (data (i32.const 18776) "\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00e") (data (i32.const 18812) ",") - (data (i32.const 18824) "\01\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 18824) "\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 18860) ",") - (data (i32.const 18872) "\01\00\00\00\10\00\00\008\000\000\000\000\000\000\000") + (data (i32.const 18872) "\02\00\00\00\10\00\00\008\000\000\000\000\000\000\000") (data (i32.const 18908) ",") - (data (i32.const 18920) "\01\00\00\00\10\00\00\00f\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 18920) "\02\00\00\00\10\00\00\00f\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 18956) ",") - (data (i32.const 18968) "\01\00\00\00\12\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 18968) "\02\00\00\00\12\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 19004) ",") - (data (i32.const 19016) "\01\00\00\00\10\00\00\00-\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 19016) "\02\00\00\00\10\00\00\00-\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 19052) ",") - (data (i32.const 19064) "\01\00\00\00\12\00\00\00-\008\000\000\000\000\000\000\000") + (data (i32.const 19064) "\02\00\00\00\12\00\00\00-\008\000\000\000\000\000\000\000") (data (i32.const 19100) "\1c") - (data (i32.const 19112) "\01\00\00\00\06\00\00\001\001\001") + (data (i32.const 19112) "\02\00\00\00\06\00\00\001\001\001") (data (i32.const 19132) "\1c") - (data (i32.const 19144) "\01\00\00\00\08\00\00\001\001\001\000") + (data (i32.const 19144) "\02\00\00\00\08\00\00\001\001\001\000") (data (i32.const 19164) "\1c") - (data (i32.const 19176) "\01\00\00\00\n\00\00\001\001\001\000\001") + (data (i32.const 19176) "\02\00\00\00\n\00\00\001\001\001\000\001") (data (i32.const 19196) "\1c") - (data (i32.const 19208) "\01\00\00\00\0c\00\00\001\001\001\000\001\001") + (data (i32.const 19208) "\02\00\00\00\0c\00\00\001\001\001\000\001\001") (data (i32.const 19228) ",") - (data (i32.const 19240) "\01\00\00\00\18\00\00\001\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 19240) "\02\00\00\00\18\00\00\001\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 19276) "L") - (data (i32.const 19288) "\01\00\00\002\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 19288) "\02\00\00\002\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 19356) "\\") - (data (i32.const 19368) "\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\000") + (data (i32.const 19368) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\000") (data (i32.const 19452) "\\") - (data (i32.const 19464) "\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000") + (data (i32.const 19464) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000") (data (i32.const 19548) "\\") - (data (i32.const 19560) "\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000") + (data (i32.const 19560) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000") (data (i32.const 19644) "\\") - (data (i32.const 19656) "\01\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 19656) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 19740) ",") - (data (i32.const 19752) "\01\00\00\00\18\00\00\00-\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 19752) "\02\00\00\00\18\00\00\00-\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 19788) "<") - (data (i32.const 19800) "\01\00\00\00*\00\00\001\000\002\000\000\002\000\002\002\002\000\001\002\002\001\001\001\001\002\001\000") + (data (i32.const 19800) "\02\00\00\00*\00\00\001\000\002\000\000\002\000\002\002\002\000\001\002\002\001\001\001\001\002\001\000") (data (i32.const 19852) "<") - (data (i32.const 19864) "\01\00\00\00 \00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003") + (data (i32.const 19864) "\02\00\00\00 \00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003") (data (i32.const 19916) ",") - (data (i32.const 19928) "\01\00\00\00\1c\00\00\003\002\002\004\004\000\000\002\004\002\003\001\004\000") + (data (i32.const 19928) "\02\00\00\00\1c\00\00\003\002\002\004\004\000\000\002\004\002\003\001\004\000") (data (i32.const 19964) ",") - (data (i32.const 19976) "\01\00\00\00\16\00\00\003\007\007\007\007\007\007\007\007\007\007") + (data (i32.const 19976) "\02\00\00\00\16\00\00\003\007\007\007\007\007\007\007\007\007\007") (data (i32.const 20012) ",") - (data (i32.const 20024) "\01\00\00\00\14\00\00\001\009\000\004\004\004\000\005\005\003") + (data (i32.const 20024) "\02\00\00\00\14\00\00\001\009\000\004\004\004\000\005\005\003") (data (i32.const 20060) ",") - (data (i32.const 20072) "\01\00\00\00\12\00\00\001\00a\002\000\00d\00c\00d\008\000") + (data (i32.const 20072) "\02\00\00\00\12\00\00\001\00a\002\000\00d\00c\00d\008\000") (data (i32.const 20108) ",") - (data (i32.const 20120) "\01\00\00\00\10\00\00\00a\007\00f\00f\00d\00a\009\000") + (data (i32.const 20120) "\02\00\00\00\10\00\00\00a\007\00f\00f\00d\00a\009\000") (data (i32.const 20156) ",") - (data (i32.const 20168) "\01\00\00\00\10\00\00\002\008\001\00d\005\005\00i\003") + (data (i32.const 20168) "\02\00\00\00\10\00\00\002\008\001\00d\005\005\00i\003") (data (i32.const 20204) ",") - (data (i32.const 20216) "\01\00\00\00\0e\00\00\00b\002\008\00j\00p\00d\00l") + (data (i32.const 20216) "\02\00\00\00\0e\00\00\00b\002\008\00j\00p\00d\00l") (data (i32.const 20252) ",") - (data (i32.const 20264) "\01\00\00\00\0e\00\00\003\00v\00v\00v\00v\00v\00v") + (data (i32.const 20264) "\02\00\00\00\0e\00\00\003\00v\00v\00v\00v\00v\00v") (data (i32.const 20300) ",") - (data (i32.const 20312) "\01\00\00\00\0e\00\00\001\00z\001\004\001\00z\003") + (data (i32.const 20312) "\02\00\00\00\0e\00\00\001\00z\001\004\001\00z\003") (data (i32.const 20348) ",") - (data (i32.const 20360) "\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009") + (data (i32.const 20360) "\02\00\00\00\10\00\00\009\009\009\009\009\009\009\009") (data (i32.const 20396) ",") - (data (i32.const 20408) "\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") + (data (i32.const 20408) "\02\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") (data (i32.const 20444) ",") - (data (i32.const 20456) "\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007") + (data (i32.const 20456) "\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007") (data (i32.const 20492) ",") - (data (i32.const 20504) "\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20504) "\02\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 20540) ",") - (data (i32.const 20552) "\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20552) "\02\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 20588) ",") - (data (i32.const 20600) "\01\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000") + (data (i32.const 20600) "\02\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000") (data (i32.const 20636) ",") - (data (i32.const 20648) "\01\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001") + (data (i32.const 20648) "\02\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001") (data (i32.const 20684) "<") - (data (i32.const 20696) "\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20696) "\02\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 20748) "<") - (data (i32.const 20760) "\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20760) "\02\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 20812) "<") - (data (i32.const 20824) "\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20824) "\02\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 20876) "<") - (data (i32.const 20888) "\01\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20888) "\02\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 20940) "<") - (data (i32.const 20952) "\01\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 20952) "\02\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 21004) "<") - (data (i32.const 21016) "\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") + (data (i32.const 21016) "\02\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") (data (i32.const 21068) "\1c") - (data (i32.const 21080) "\01\00\00\00\n\00\00\00-\001\002\003\004") + (data (i32.const 21080) "\02\00\00\00\n\00\00\00-\001\002\003\004") (data (i32.const 21100) ",") - (data (i32.const 21112) "\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") + (data (i32.const 21112) "\02\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") (data (i32.const 21148) ",") - (data (i32.const 21160) "\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 21160) "\02\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 21196) ",") - (data (i32.const 21208) "\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 21208) "\02\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 21244) "<") - (data (i32.const 21256) "\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 21256) "\02\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 21308) "<") - (data (i32.const 21320) "\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 21320) "\02\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") (data (i32.const 21372) "<") - (data (i32.const 21384) "\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") + (data (i32.const 21384) "\02\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") (data (i32.const 21436) "<") - (data (i32.const 21448) "\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") + (data (i32.const 21448) "\02\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") (data (i32.const 21500) ",") - (data (i32.const 21512) "\01\00\00\00\12\00\00\001\00f\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 21512) "\02\00\00\00\12\00\00\001\00f\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 21548) ",") - (data (i32.const 21560) "\01\00\00\00\16\00\00\005\006\007\008\009\00a\00b\00c\00d\00e\001") + (data (i32.const 21560) "\02\00\00\00\16\00\00\005\006\007\008\009\00a\00b\00c\00d\00e\001") (data (i32.const 21596) ",") - (data (i32.const 21608) "\01\00\00\00\18\00\00\004\005\006\007\008\009\00a\00b\00c\00d\00e\001") + (data (i32.const 21608) "\02\00\00\00\18\00\00\004\005\006\007\008\009\00a\00b\00c\00d\00e\001") (data (i32.const 21644) ",") - (data (i32.const 21656) "\01\00\00\00\1a\00\00\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") + (data (i32.const 21656) "\02\00\00\00\1a\00\00\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") (data (i32.const 21692) ",") - (data (i32.const 21704) "\01\00\00\00\1c\00\00\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") + (data (i32.const 21704) "\02\00\00\00\1c\00\00\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") (data (i32.const 21740) "<") - (data (i32.const 21752) "\01\00\00\00\1e\00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") + (data (i32.const 21752) "\02\00\00\00\1e\00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") (data (i32.const 21804) "<") - (data (i32.const 21816) "\01\00\00\00 \00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\000") + (data (i32.const 21816) "\02\00\00\00 \00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\000") (data (i32.const 21868) "<") - (data (i32.const 21880) "\01\00\00\00 \00\00\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 21880) "\02\00\00\00 \00\00\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 21932) "<") - (data (i32.const 21944) "\01\00\00\00 \00\00\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 21944) "\02\00\00\00 \00\00\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 21996) "<") - (data (i32.const 22008) "\01\00\00\00\"\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") + (data (i32.const 22008) "\02\00\00\00\"\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") (data (i32.const 22060) "<") - (data (i32.const 22072) "\01\00\00\00\"\00\00\00-\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (data (i32.const 22072) "\02\00\00\00\"\00\00\00-\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") (data (i32.const 22124) "|") - (data (i32.const 22136) "\01\00\00\00b\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 22136) "\02\00\00\00b\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 22252) "\9c") - (data (i32.const 22264) "\01\00\00\00\80\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 22264) "\02\00\00\00\80\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 22412) "\\") - (data (i32.const 22424) "\01\00\00\00D\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") + (data (i32.const 22424) "\02\00\00\00D\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") (data (i32.const 22508) "l") - (data (i32.const 22520) "\01\00\00\00R\00\00\001\001\001\001\002\002\002\000\000\002\002\001\002\002\001\002\000\001\000\001\002\001\001\000\002\000\001\002\000\002\001\000\002\001\000\002\001\001\002\002\000") + (data (i32.const 22520) "\02\00\00\00R\00\00\001\001\001\001\002\002\002\000\000\002\002\001\002\002\001\002\000\001\000\001\002\001\001\000\002\000\001\002\000\002\001\000\002\001\000\002\001\001\002\002\000") (data (i32.const 22620) "\\") - (data (i32.const 22632) "\01\00\00\00@\00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003") + (data (i32.const 22632) "\02\00\00\00@\00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003") (data (i32.const 22716) "L") - (data (i32.const 22728) "\01\00\00\008\00\00\002\002\001\004\002\002\000\003\000\003\001\001\004\004\000\000\004\002\004\001\002\001\001\002\002\004\003\000") + (data (i32.const 22728) "\02\00\00\008\00\00\002\002\001\004\002\002\000\003\000\003\001\001\004\004\000\000\004\002\004\001\002\001\001\002\002\004\003\000") (data (i32.const 22796) "<") - (data (i32.const 22808) "\01\00\00\00,\00\00\001\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007") + (data (i32.const 22808) "\02\00\00\00,\00\00\001\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007") (data (i32.const 22860) "<") - (data (i32.const 22872) "\01\00\00\00&\00\00\003\003\005\005\000\000\005\001\006\00a\004\002\009\000\007\001\002\008\004") + (data (i32.const 22872) "\02\00\00\00&\00\00\003\003\005\005\000\000\005\001\006\00a\004\002\009\000\007\001\002\008\004") (data (i32.const 22924) "<") - (data (i32.const 22936) "\01\00\00\00\"\00\00\002\00c\001\00d\005\006\00b\006\004\008\00c\006\00c\00d\001\001\000") + (data (i32.const 22936) "\02\00\00\00\"\00\00\002\00c\001\00d\005\006\00b\006\004\008\00c\006\00c\00d\001\001\000") (data (i32.const 22988) "<") - (data (i32.const 23000) "\01\00\00\00 \00\00\006\007\009\007\009\00g\006\000\00f\005\004\002\008\000\001\000") + (data (i32.const 23000) "\02\00\00\00 \00\00\006\007\009\007\009\00g\006\000\00f\005\004\002\008\000\001\000") (data (i32.const 23052) "<") - (data (i32.const 23064) "\01\00\00\00\1e\00\00\005\00e\008\00g\004\00g\00g\00g\007\00g\005\006\00d\00i\00f") + (data (i32.const 23064) "\02\00\00\00\1e\00\00\005\00e\008\00g\004\00g\00g\00g\007\00g\005\006\00d\00i\00f") (data (i32.const 23116) ",") - (data (i32.const 23128) "\01\00\00\00\1c\00\00\004\00e\00o\008\00h\00f\00a\00m\006\00f\00l\00l\00m\00o") + (data (i32.const 23128) "\02\00\00\00\1c\00\00\004\00e\00o\008\00h\00f\00a\00m\006\00f\00l\00l\00m\00o") (data (i32.const 23164) ",") - (data (i32.const 23176) "\01\00\00\00\1a\00\00\00f\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v") + (data (i32.const 23176) "\02\00\00\00\1a\00\00\00f\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v") (data (i32.const 23212) ",") - (data (i32.const 23224) "\01\00\00\00\1a\00\00\003\00w\005\00e\001\001\002\006\004\00s\00g\00s\00f") + (data (i32.const 23224) "\02\00\00\00\1a\00\00\003\00w\005\00e\001\001\002\006\004\00s\00g\00s\00f") (data (i32.const 23260) "\1c") - (data (i32.const 23272) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 23272) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 23292) ",") - (data (i32.const 23304) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 23304) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 23400) "\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_\rXf\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 block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/string/String> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/string/String> $invalid + end + return end return end @@ -6578,7 +6581,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -6603,7 +6606,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 1 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -6652,7 +6655,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 1 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -6675,7 +6678,7 @@ i32.gt_s select local.tee $2 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $3 @@ -6692,7 +6695,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 offset=12 @@ -6729,7 +6732,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.tee $6 @@ -6755,7 +6758,7 @@ i32.const 1 i32.shl local.tee $10 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=24 @@ -6812,7 +6815,7 @@ i32.const 1 i32.shl local.tee $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=32 @@ -6843,7 +6846,7 @@ return end i32.const 0 - i32.const 4 + i32.const 5 i32.const 0 call $~lib/rt/__newArray local.set $3 @@ -6873,7 +6876,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -7063,7 +7066,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 59208 + i32.const 59212 i32.sub i32.const 1 i32.shr_u @@ -7375,7 +7378,7 @@ unreachable end i32.const 2 - i32.const 3 + i32.const 4 i32.const 1936 call $~lib/rt/__newArray local.set $0 @@ -7404,7 +7407,7 @@ unreachable end i32.const 3 - i32.const 3 + i32.const 4 i32.const 2000 call $~lib/rt/__newArray local.set $0 @@ -7433,7 +7436,7 @@ unreachable end i32.const 5 - i32.const 3 + i32.const 4 i32.const 2064 call $~lib/rt/__newArray local.set $0 @@ -21040,7 +21043,7 @@ end i32.const 0 global.set $std/string/str - i32.const 59208 + i32.const 59212 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -21087,7 +21090,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21118,7 +21121,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -21144,7 +21147,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21165,7 +21168,7 @@ i32.gt_s local.tee $3 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -21193,7 +21196,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21211,7 +21214,7 @@ i32.const 2 i32.shl local.tee $4 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.set $3 local.get $2 @@ -21261,7 +21264,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21281,7 +21284,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -21328,7 +21331,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21349,7 +21352,7 @@ i32.gt_u local.tee $2 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -21407,7 +21410,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21451,7 +21454,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 @@ -21526,7 +21529,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21570,7 +21573,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -21651,7 +21654,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21779,7 +21782,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -21804,7 +21807,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -21931,7 +21934,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -21955,7 +21958,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -22176,7 +22179,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -22201,7 +22204,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -22241,7 +22244,7 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -22270,7 +22273,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -22338,7 +22341,7 @@ i32.mul i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -22384,7 +22387,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -22458,7 +22461,7 @@ local.get $4 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -22526,7 +22529,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -22598,7 +22601,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -22667,7 +22670,7 @@ i32.const 1 i32.shl local.tee $3 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 @@ -22731,7 +22734,7 @@ local.get $4 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=8 @@ -22877,7 +22880,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -22958,7 +22961,7 @@ i32.const 1 i32.shl local.tee $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -22983,7 +22986,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -23047,7 +23050,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -23073,7 +23076,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -23164,7 +23167,7 @@ end global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -23186,7 +23189,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -23250,7 +23253,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -23356,7 +23359,7 @@ i32.shl local.get $3 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -23385,7 +23388,7 @@ i32.shl local.get $3 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -23517,7 +23520,7 @@ i32.shl local.get $3 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -23553,7 +23556,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -23645,7 +23648,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -23670,7 +23673,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -23796,7 +23799,7 @@ local.tee $0 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -23824,7 +23827,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -23922,7 +23925,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -23985,7 +23988,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24012,7 +24015,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24133,7 +24136,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24162,7 +24165,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -24275,7 +24278,7 @@ i32.shl local.get $4 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24342,7 +24345,7 @@ i32.shl local.get $4 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24373,7 +24376,7 @@ i32.shl local.get $4 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24500,7 +24503,7 @@ i32.shl local.get $4 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -24533,7 +24536,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26440 + i32.const 26444 i32.lt_s if i32.const 59232 @@ -24593,7 +24596,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -24633,7 +24636,7 @@ if i32.const 0 i32.const 1440 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index 6ec5213459..fdc5b59397 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -42,45 +42,45 @@ (global $~lib/symbol/_Symbol.isConcatSpreadable i32 (i32.const 2)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1632)) - (global $~lib/memory/__data_end i32 (i32.const 1656)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34424)) - (global $~lib/memory/__heap_base i32 (i32.const 34424)) + (global $~lib/memory/__data_end i32 (i32.const 1660)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) + (global $~lib/memory/__heap_base i32 (i32.const 34428)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00\00\00") + (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 716) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00\00\00\00\00\00\00") - (data (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00m\00a\00t\00c\00h\00\00\00") - (data (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") - (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00s\00p\00l\00i\00t\00\00\00") - (data (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00\00\00\00\00\00\00") - (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00\00\00\00\00\00\00") - (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00\00\00\00\00\00\00") - (data (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1388) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1436) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00\00\00\00\00\00\00") - (data (i32.const 1484) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00\00\00\00\00\00\00") - (data (i32.const 1548) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 1632) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02\00") + (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00\00\00\00\00\00\00") + (data (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00m\00a\00t\00c\00h\00\00\00") + (data (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") + (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00p\00l\00i\00t\00\00\00") + (data (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00\00\00\00\00\00\00") + (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00\00\00\00\00\00\00") + (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00\00\00\00\00\00\00") + (data (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1388) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1436) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00\00\00\00\00\00\00") + (data (i32.const 1484) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00\00\00\00\00\00\00") + (data (i32.const 1548) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -167,7 +167,7 @@ if i32.const 0 i32.const 176 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -237,7 +237,7 @@ if i32.const 0 i32.const 176 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -254,7 +254,7 @@ if i32.const 0 i32.const 176 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -305,7 +305,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -351,7 +351,7 @@ if (result i32) i32.const 0 i32.const 176 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1616,7 +1616,7 @@ if i32.const 0 i32.const 176 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2210,7 +2210,7 @@ if i32.const 112 i32.const 176 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2269,7 +2269,7 @@ if i32.const 0 i32.const 176 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -3305,6 +3305,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3313,6 +3316,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/map/Map<~lib/string/String,usize>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) (local $cur i32) @@ -3378,6 +3384,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map<~lib/string/String,usize>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map<~lib/string/String,usize>#__visit @@ -3447,6 +3456,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/map/Map#__visit @@ -3458,11 +3470,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid + end + return end return end @@ -3522,7 +3537,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -3588,7 +3603,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -4536,7 +4551,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -4847,7 +4862,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 80f74f357c..92be460320 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -30,70 +30,70 @@ (global $std/symbol/key3 (mut i32) (i32.const 0)) (global $std/symbol/key4 (mut i32) (i32.const 0)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35448)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35452)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\06\00\00\001\002\003") + (data (i32.const 1048) "\02\00\00\00\06\00\00\001\002\003") (data (i32.const 1068) ",") - (data (i32.const 1080) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") (data (i32.const 1116) "<") - (data (i32.const 1128) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1128) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1180) "<") - (data (i32.const 1192) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1308) "<") - (data (i32.const 1320) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1320) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1372) ",") - (data (i32.const 1384) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1452) "<") - (data (i32.const 1464) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1516) ",") - (data (i32.const 1528) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1528) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1564) "<") - (data (i32.const 1576) "\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 1576) "\02\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 1628) "<") - (data (i32.const 1640) "\01\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") + (data (i32.const 1640) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") (data (i32.const 1692) ",") - (data (i32.const 1704) "\01\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") + (data (i32.const 1704) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") (data (i32.const 1740) "<") - (data (i32.const 1752) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1752) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01") + (data (i32.const 1816) "\02") (data (i32.const 1836) ",") - (data (i32.const 1848) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") + (data (i32.const 1848) "\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") (data (i32.const 1884) "<") - (data (i32.const 1896) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") + (data (i32.const 1896) "\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") (data (i32.const 1948) ",") - (data (i32.const 1960) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") + (data (i32.const 1960) "\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h") + (data (i32.const 2008) "\02\00\00\00\n\00\00\00m\00a\00t\00c\00h") (data (i32.const 2028) ",") - (data (i32.const 2040) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") + (data (i32.const 2040) "\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") (data (i32.const 2076) "\1c") - (data (i32.const 2088) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") + (data (i32.const 2088) "\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") (data (i32.const 2108) ",") - (data (i32.const 2120) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") + (data (i32.const 2120) "\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") (data (i32.const 2156) "\1c") - (data (i32.const 2168) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t") + (data (i32.const 2168) "\02\00\00\00\n\00\00\00s\00p\00l\00i\00t") (data (i32.const 2188) ",") - (data (i32.const 2200) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") + (data (i32.const 2200) "\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") (data (i32.const 2236) ",") - (data (i32.const 2248) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") + (data (i32.const 2248) "\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") (data (i32.const 2284) ",") - (data (i32.const 2296) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") + (data (i32.const 2296) "\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") (data (i32.const 2332) ",") - (data (i32.const 2344) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") + (data (i32.const 2344) "\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") (data (i32.const 2380) "\1c") - (data (i32.const 2392) "\01\00\00\00\02\00\00\00)") + (data (i32.const 2392) "\02\00\00\00\02\00\00\00)") (data (i32.const 2412) ",") - (data (i32.const 2424) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data (i32.const 2424) "\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") (data (i32.const 2460) ",") - (data (i32.const 2472) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data (i32.const 2472) "\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") (data (i32.const 2508) "<") - (data (i32.const 2520) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") + (data (i32.const 2520) "\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") (data (i32.const 2572) "L") - (data (i32.const 2584) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") - (data (i32.const 2656) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02") + (data (i32.const 2584) "\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") + (data (i32.const 2656) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -163,7 +163,7 @@ if i32.const 0 i32.const 1200 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -196,7 +196,7 @@ if i32.const 0 i32.const 1200 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -216,14 +216,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 35448 + i32.const 35452 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1200 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -237,7 +237,7 @@ if i32.const 0 i32.const 1200 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -259,7 +259,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -985,7 +985,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 35448 + i32.const 35452 i32.lt_u if local.get $0 @@ -1079,13 +1079,13 @@ if i32.const 0 i32.const 1200 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 35448 + i32.const 35452 i32.lt_u if local.get $0 @@ -1108,7 +1108,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 35448 + i32.const 35452 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1308,7 +1308,7 @@ if i32.const 1136 i32.const 1200 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2000,7 +2000,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s if i32.const 35472 @@ -2042,7 +2042,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -2073,11 +2073,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid + end + return end return end @@ -2159,7 +2162,7 @@ local.tee $0 i32.add local.set $2 - loop $while-continue|04 + loop $while-continue|06 local.get $0 local.get $2 i32.lt_u @@ -2182,7 +2185,7 @@ i32.const 12 i32.add local.set $0 - br $while-continue|04 + br $while-continue|06 end end local.get $1 @@ -2210,7 +2213,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s if i32.const 35472 @@ -2294,7 +2297,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2345,7 +2348,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2354,7 +2357,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2413,7 +2416,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2422,7 +2425,7 @@ i64.store $0 local.get $0 i32.const 24 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2497,7 +2500,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2546,7 +2549,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2737,7 +2740,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2852,7 +2855,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -3083,7 +3086,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s if i32.const 35472 @@ -3199,7 +3202,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s if i32.const 35472 @@ -3437,7 +3440,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s if i32.const 35472 @@ -3498,7 +3501,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 35448 + i32.const 35452 i32.sub i32.const 1 i32.shr_u @@ -3772,7 +3775,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2680 + i32.const 2684 i32.lt_s if i32.const 35472 @@ -3798,7 +3801,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -3834,7 +3837,7 @@ if i32.const 0 i32.const 1200 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/trace.debug.wat b/tests/compiler/std/trace.debug.wat index 9645ed45e8..4576313547 100644 --- a/tests/compiler/std/trace.debug.wat +++ b/tests/compiler/std/trace.debug.wat @@ -9,14 +9,14 @@ (global $~lib/memory/__heap_base i32 (i32.const 33164)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00\00\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00\00\00") - (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00\00\00") + (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00\00\00") + (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 156) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/trace.release.wat b/tests/compiler/std/trace.release.wat index bcd8d60619..9df1cadfca 100644 --- a/tests/compiler/std/trace.release.wat +++ b/tests/compiler/std/trace.release.wat @@ -8,21 +8,21 @@ (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t") + (data (i32.const 1048) "\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t") (data (i32.const 1084) ",") - (data (i32.const 1096) "\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t") + (data (i32.const 1096) "\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t") (data (i32.const 1132) ",") - (data (i32.const 1144) "\01\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t") + (data (i32.const 1144) "\02\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t") (data (i32.const 1180) ",") - (data (i32.const 1192) "\01\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t") + (data (i32.const 1192) "\02\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t") (data (i32.const 1228) ",") - (data (i32.const 1240) "\01\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t") + (data (i32.const 1240) "\02\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t") (data (i32.const 1276) ",") - (data (i32.const 1288) "\01\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t") + (data (i32.const 1288) "\02\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t") (data (i32.const 1324) ",") - (data (i32.const 1336) "\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t") + (data (i32.const 1336) "\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t") (data (i32.const 1372) ",") - (data (i32.const 1384) "\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l") + (data (i32.const 1384) "\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~start (type $none_=>_none) diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 801fa79dd0..fa60e4ad91 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -99,315 +99,315 @@ (global $std/typedarray/setSource3 (mut i32) (i32.const 10160)) (global $std/typedarray/setSource7 (mut i32) (i32.const 10240)) (global $~lib/rt/__rtti_base i32 (i32.const 14976)) - (global $~lib/memory/__data_end i32 (i32.const 15292)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48060)) - (global $~lib/memory/__heap_base i32 (i32.const 48060)) + (global $~lib/memory/__data_end i32 (i32.const 15296)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48064)) + (global $~lib/memory/__heap_base i32 (i32.const 48064)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") - (data (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") - (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1052) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1100) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1468) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1516) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1564) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1612) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1660) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1708) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\00\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\00\00\00\00\00\00\00\00") - (data (i32.const 1852) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1916) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1948) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1980) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2012) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2044) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2076) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2108) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2140) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\1d\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2652) "\1c\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2684) "\1c\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2716) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2748) "\1c\00\00\00\00\00\00\00\00\00\00\00\"\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2780) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2812) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2844) "\1c\00\00\00\00\00\00\00\00\00\00\00%\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2876) "\1c\00\00\00\00\00\00\00\00\00\00\00&\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2908) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2940) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2972) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3036) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3228) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3260) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3292) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3356) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3388) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3484) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00E\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4028) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4060) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00G\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4092) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00H\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00I\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00J\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00K\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4220) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00L\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00M\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4284) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00N\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4316) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00O\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4348) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00P\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00R\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4444) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00S\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4476) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4508) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00U\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4540) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00V\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4572) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00W\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4604) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00X\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4636) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00Y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4668) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4700) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00[\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00\\\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00]\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4796) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00_\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00`\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00j\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5212) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00k\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5244) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00l\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5276) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00m\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5308) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00o\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5372) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00p\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5404) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00q\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5436) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5468) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5500) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5532) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00u\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00v\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00w\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00{\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00|\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00}\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00\81\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\82\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5980) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6012) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\84\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6044) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\85\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6076) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") - (data (i32.const 6108) ",\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\10\00\00\00\d0\17\00\00\d0\17\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\86\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\003\00\00\00\08\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\004\00\00\00\08\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\005\00\00\00\08\00\00\00\89\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\006\00\00\00\08\00\00\00\8a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\007\00\00\00\08\00\00\00\8b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\008\00\00\00\08\00\00\00\8c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\009\00\00\00\08\00\00\00\8d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00:\00\00\00\08\00\00\00\8e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00;\00\00\00\08\00\00\00\8f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6476) "\1c\00\00\00\00\00\00\00\00\00\00\00<\00\00\00\08\00\00\00\90\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6508) "<\00\00\00\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\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6572) ",\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\10\00\00\00\80\19\00\00\80\19\00\00$\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6620) "<\00\00\00\00\00\00\00\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\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n\00\00\00") - (data (i32.const 6684) ",\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\10\00\00\00\f0\19\00\00\f0\19\00\00,\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6764) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 6892) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 6956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") + (data (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1052) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1100) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1468) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1516) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1564) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1612) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1660) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1708) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\01\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\00\00\00\00\00\00\00\00") + (data (i32.const 1852) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1916) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1948) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1980) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2012) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2044) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2076) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2108) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2140) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\1d\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2652) "\1c\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2684) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2716) "\1c\00\00\00\00\00\00\00\00\00\00\00\"\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2748) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2780) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2812) "\1c\00\00\00\00\00\00\00\00\00\00\00%\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2844) "\1c\00\00\00\00\00\00\00\00\00\00\00&\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2876) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2908) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2940) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2972) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3036) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3228) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3260) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3292) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3356) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3388) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3484) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00E\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4028) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4060) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00G\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4092) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00H\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00I\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00J\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00K\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4220) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00L\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00M\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4284) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00N\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4316) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00O\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4348) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00P\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00R\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4444) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00S\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4476) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4508) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00U\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4540) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00V\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4572) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00W\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4604) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00X\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4636) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00Y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4668) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4700) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00[\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00\\\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00]\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4796) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00_\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00`\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00j\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5212) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00k\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5244) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00l\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5276) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00m\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5308) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00o\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5372) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00p\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5404) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00q\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5436) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00r\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5468) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5500) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5532) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00u\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00v\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00w\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00{\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00|\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00}\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\81\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\82\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5980) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6012) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\84\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6044) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\85\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") + (data (i32.const 6108) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\d0\17\00\00\d0\17\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\003\00\00\00\08\00\00\00\86\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\004\00\00\00\08\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\005\00\00\00\08\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\006\00\00\00\08\00\00\00\89\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\007\00\00\00\08\00\00\00\8a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\008\00\00\00\08\00\00\00\8b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\009\00\00\00\08\00\00\00\8c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00:\00\00\00\08\00\00\00\8d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00;\00\00\00\08\00\00\00\8e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00<\00\00\00\08\00\00\00\8f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6476) "\1c\00\00\00\00\00\00\00\00\00\00\00=\00\00\00\08\00\00\00\90\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6572) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\80\19\00\00\80\19\00\00$\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6620) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n\00\00\00") + (data (i32.const 6684) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\f0\19\00\00\f0\19\00\00,\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6764) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 6892) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 6956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 6988) "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\00") - (data (i32.const 7388) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8444) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 8652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 8684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8732) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7388) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8444) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 8652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 8684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 8784) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 8840) "\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_\rXf\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\10\00\00\00\80\'\00\00\80\'\00\00\18\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10188) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\92\91\90\00\00\00\00\00\00\00\00\00") - (data (i32.const 10220) ",\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\10\00\00\00\e0\'\00\00\e0\'\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") - (data (i32.const 10300) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10348) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") - (data (i32.const 10380) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") - (data (i32.const 10412) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") - (data (i32.const 10444) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") - (data (i32.const 10476) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") - (data (i32.const 10508) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 10556) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") - (data (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") - (data (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") - (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") - (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") - (data (i32.const 10716) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") - (data (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") - (data (i32.const 10844) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") - (data (i32.const 10876) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00defg\ff\ff\ff\00\00\00\00\00") - (data (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\03\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 10956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 11004) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11052) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11100) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11148) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") - (data (i32.const 11196) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\03\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 11244) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") - (data (i32.const 11292) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11436) ",\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") - (data (i32.const 11484) "<\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11548) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 11596) "<\00\00\00\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\04\00\00\00\05\00\00\00\06\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 11660) "<\00\00\00\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\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11724) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11788) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") - (data (i32.const 11852) "<\00\00\00\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") - (data (i32.const 11964) "<\00\00\00\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\04\00\00\00\05\00\00\00\06\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 12028) "<\00\00\00\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\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12092) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12156) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") - (data (i32.const 12220) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 12380) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12492) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12604) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12716) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12828) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12940) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") - (data (i32.const 12988) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13100) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13212) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13324) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13436) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13500) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00") - (data (i32.const 13548) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13612) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A\00\00\00\00\00\00\00\00") - (data (i32.const 13676) "<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2\00\00\00\00") - (data (i32.const 13740) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13852) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00") - (data (i32.const 13900) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14012) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\00\00\00\00\"@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14124) "l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00P\00\00\00\00\00\00\00\00\00Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff\00\00\00") - (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff\00\00\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00E\00\00\00\08\00\00\00\91\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00E\00\00\00\08\00\00\00\92\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\93\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\95\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\96\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\98\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\9a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\9b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\9c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\a0\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\a1\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\a2\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a4\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\a5\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14976) "N\00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9756) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\001\00.\000\00,\002\00.\000\00,\003\00.\000\00,\004\00.\000\00,\005\00.\000\00\00\00\00\00\00\00") + (data (i32.const 9820) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n\00\00\00") + (data (i32.const 9884) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00p&\00\00p&\00\00,\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 9964) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\e0&\00\00\e0&\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80@\00\00\a0@\00\00\c0@") + (data (i32.const 10044) ",\00\00\00\00\00\00\00\00\00\00\00>\00\00\00\10\00\00\000\'\00\000\'\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00") + (data (i32.const 10140) ",\00\00\00\00\00\00\00\00\00\00\00?\00\00\00\10\00\00\00\80\'\00\00\80\'\00\00\18\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\92\91\90\00\00\00\00\00\00\00\00\00") + (data (i32.const 10220) ",\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\10\00\00\00\e0\'\00\00\e0\'\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") + (data (i32.const 10300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") + (data (i32.const 10380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") + (data (i32.const 10412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") + (data (i32.const 10444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") + (data (i32.const 10476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") + (data (i32.const 10508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data (i32.const 10556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") + (data (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") + (data (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") + (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") + (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") + (data (i32.const 10716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") + (data (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") + (data (i32.const 10844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") + (data (i32.const 10876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\ff\ff\ff\00\00\00\00\00") + (data (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\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 10956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data (i32.const 11004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11052) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") + (data (i32.const 11196) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\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 11244) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") + (data (i32.const 11292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11436) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") + (data (i32.const 11484) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11548) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data (i32.const 11596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11660) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11724) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11788) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") + (data (i32.const 11852) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") + (data (i32.const 11964) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12028) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12092) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") + (data (i32.const 12220) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data (i32.const 12380) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12492) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12604) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12716) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12828) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12940) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") + (data (i32.const 12988) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13100) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13212) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13324) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13436) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00") + (data (i32.const 13548) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13612) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A\00\00\00\00\00\00\00\00") + (data (i32.const 13676) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2\00\00\00\00") + (data (i32.const 13740) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13852) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00") + (data (i32.const 13900) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14012) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\00\00\00\00\"@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14124) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff\00\00\00") + (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff\00\00\00") + (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\91\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\92\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\93\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\95\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\96\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\98\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\9a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\9f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\a0\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a1\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a2\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00N\00\00\00\08\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00N\00\00\00\08\00\00\00\a4\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\a5\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14976) "O\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 166 166 funcref) (elem $0 (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0) (export "memory" (memory $0)) @@ -477,7 +477,7 @@ if i32.const 0 i32.const 208 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -547,7 +547,7 @@ if i32.const 0 i32.const 208 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -564,7 +564,7 @@ if i32.const 0 i32.const 208 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -615,7 +615,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -661,7 +661,7 @@ if (result i32) i32.const 0 i32.const 208 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1926,7 +1926,7 @@ if i32.const 0 i32.const 208 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2520,7 +2520,7 @@ if i32.const 144 i32.const 208 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2579,7 +2579,7 @@ if i32.const 0 i32.const 208 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable @@ -39777,6 +39777,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -39785,6 +39788,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/typedarray/Int8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -39851,6 +39857,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit @@ -39868,6 +39877,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -39885,6 +39897,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -39900,6 +39915,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit @@ -39915,6 +39933,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit @@ -39930,6 +39951,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit @@ -39945,6 +39969,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit @@ -39960,6 +39987,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit @@ -39975,6 +40005,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit @@ -39990,6 +40023,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit @@ -40005,6 +40041,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit @@ -40020,6 +40059,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit @@ -40035,6 +40077,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit @@ -40050,6 +40095,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit @@ -40065,6 +40113,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit @@ -40080,6 +40131,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit @@ -40095,6 +40149,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit @@ -40110,6 +40167,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit @@ -40125,6 +40185,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit @@ -40140,6 +40203,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit @@ -40155,6 +40221,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit @@ -40170,6 +40239,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit @@ -40185,6 +40257,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit @@ -40200,6 +40275,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit @@ -40215,6 +40293,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit @@ -40230,6 +40311,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit @@ -40245,6 +40329,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit @@ -40260,6 +40347,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit @@ -40275,6 +40365,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit @@ -40290,6 +40383,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit @@ -40305,6 +40401,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit @@ -40320,6 +40419,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit @@ -40335,6 +40437,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit @@ -40350,6 +40455,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit @@ -40365,6 +40473,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit @@ -40380,6 +40491,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit @@ -40395,6 +40509,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit @@ -40410,6 +40527,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit @@ -40425,6 +40545,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit @@ -40440,6 +40563,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit @@ -40455,6 +40581,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit @@ -40470,6 +40599,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit @@ -40485,6 +40617,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit @@ -40500,6 +40635,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit @@ -40515,6 +40653,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit @@ -40530,6 +40671,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit @@ -40545,6 +40689,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit @@ -40562,6 +40709,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40579,6 +40729,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40596,6 +40749,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40613,6 +40769,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40630,6 +40789,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40647,6 +40809,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40664,6 +40829,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40681,6 +40849,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/array/Array#__visit @@ -40696,6 +40867,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit @@ -40711,6 +40885,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit @@ -40726,6 +40903,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit @@ -40741,6 +40921,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u16%2Cu16%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit @@ -40756,6 +40939,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit @@ -40771,6 +40957,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit @@ -40786,6 +40975,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit @@ -40801,6 +40993,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28u64%2Cu64%29=>i32>#__visit @@ -40816,6 +41011,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit @@ -40900,11 +41098,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%29=>i32> $~lib/function/Function<%28u8%2Cu8%29=>i32> $~lib/function/Function<%28i16%2Ci16%29=>i32> $~lib/function/Function<%28u16%2Cu16%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28i64%2Ci64%29=>i32> $~lib/function/Function<%28u64%2Cu64%29=>i32> $~lib/function/Function<%28f32%2Cf32%29=>i32> $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%29=>i32> $~lib/function/Function<%28u8%2Cu8%29=>i32> $~lib/function/Function<%28i16%2Ci16%29=>i32> $~lib/function/Function<%28u16%2Cu16%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28i64%2Ci64%29=>i32> $~lib/function/Function<%28u64%2Cu64%29=>i32> $~lib/function/Function<%28f32%2Cf32%29=>i32> $invalid + end + return end return end @@ -41300,8 +41501,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 48080 - i32.const 48128 + i32.const 48096 + i32.const 48144 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -55062,7 +55263,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 10288 call $~lib/rt/__newArray local.set $14 @@ -55083,7 +55284,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 10368 call $~lib/rt/__newArray local.set $14 @@ -55099,7 +55300,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 10400 call $~lib/rt/__newArray local.set $14 @@ -55122,7 +55323,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 10432 call $~lib/rt/__newArray local.set $14 @@ -55153,7 +55354,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 10464 call $~lib/rt/__newArray local.set $14 @@ -55359,7 +55560,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10496 call $~lib/rt/__newArray local.set $14 @@ -55380,7 +55581,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10576 call $~lib/rt/__newArray local.set $14 @@ -55396,7 +55597,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10608 call $~lib/rt/__newArray local.set $14 @@ -55419,7 +55620,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10640 call $~lib/rt/__newArray local.set $14 @@ -55450,7 +55651,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10672 call $~lib/rt/__newArray local.set $14 @@ -55656,7 +55857,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10704 call $~lib/rt/__newArray local.set $14 @@ -55677,7 +55878,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10800 call $~lib/rt/__newArray local.set $14 @@ -55693,7 +55894,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10832 call $~lib/rt/__newArray local.set $14 @@ -55716,7 +55917,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10864 call $~lib/rt/__newArray local.set $14 @@ -55747,7 +55948,7 @@ local.get $a i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 10896 call $~lib/rt/__newArray local.set $14 @@ -55953,7 +56154,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 10928 call $~lib/rt/__newArray local.set $14 @@ -55974,7 +56175,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 11024 call $~lib/rt/__newArray local.set $14 @@ -55990,7 +56191,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 11072 call $~lib/rt/__newArray local.set $14 @@ -56013,7 +56214,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 11120 call $~lib/rt/__newArray local.set $14 @@ -56044,7 +56245,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 11168 call $~lib/rt/__newArray local.set $14 @@ -56250,7 +56451,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 11216 call $~lib/rt/__newArray local.set $14 @@ -56271,7 +56472,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 11312 call $~lib/rt/__newArray local.set $14 @@ -56287,7 +56488,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 11360 call $~lib/rt/__newArray local.set $14 @@ -56310,7 +56511,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 11408 call $~lib/rt/__newArray local.set $14 @@ -56341,7 +56542,7 @@ local.get $a i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 11456 call $~lib/rt/__newArray local.set $14 @@ -56547,7 +56748,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 11504 call $~lib/rt/__newArray local.set $14 @@ -56568,7 +56769,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 11616 call $~lib/rt/__newArray local.set $14 @@ -56584,7 +56785,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 11680 call $~lib/rt/__newArray local.set $14 @@ -56607,7 +56808,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 11744 call $~lib/rt/__newArray local.set $14 @@ -56638,7 +56839,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 11808 call $~lib/rt/__newArray local.set $14 @@ -56844,7 +57045,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 11872 call $~lib/rt/__newArray local.set $14 @@ -56865,7 +57066,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 11984 call $~lib/rt/__newArray local.set $14 @@ -56881,7 +57082,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 12048 call $~lib/rt/__newArray local.set $14 @@ -56904,7 +57105,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 12112 call $~lib/rt/__newArray local.set $14 @@ -56935,7 +57136,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 12176 call $~lib/rt/__newArray local.set $14 @@ -57141,7 +57342,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 12240 call $~lib/rt/__newArray local.set $14 @@ -57162,7 +57363,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 12400 call $~lib/rt/__newArray local.set $14 @@ -57178,7 +57379,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 12512 call $~lib/rt/__newArray local.set $14 @@ -57201,7 +57402,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 12624 call $~lib/rt/__newArray local.set $14 @@ -57232,7 +57433,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 12736 call $~lib/rt/__newArray local.set $14 @@ -57438,7 +57639,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 12848 call $~lib/rt/__newArray local.set $14 @@ -57459,7 +57660,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 13008 call $~lib/rt/__newArray local.set $14 @@ -57475,7 +57676,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 13120 call $~lib/rt/__newArray local.set $14 @@ -57498,7 +57699,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 13232 call $~lib/rt/__newArray local.set $14 @@ -57529,7 +57730,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 13344 call $~lib/rt/__newArray local.set $14 @@ -57733,7 +57934,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 13456 call $~lib/rt/__newArray local.set $12 @@ -57754,7 +57955,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 13568 call $~lib/rt/__newArray local.set $12 @@ -57770,7 +57971,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 13632 call $~lib/rt/__newArray local.set $12 @@ -57803,7 +58004,7 @@ local.get $a i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 13696 call $~lib/rt/__newArray local.set $12 @@ -58005,7 +58206,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 13760 call $~lib/rt/__newArray local.set $12 @@ -58026,7 +58227,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 13920 call $~lib/rt/__newArray local.set $12 @@ -58042,7 +58243,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 14032 call $~lib/rt/__newArray local.set $12 @@ -58075,7 +58276,7 @@ local.get $a i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 14144 call $~lib/rt/__newArray local.set $12 @@ -60189,7 +60390,7 @@ local.get $3 i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 704 call $~lib/rt/__newArray local.set $100 @@ -60216,7 +60417,7 @@ local.get $3 i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 784 call $~lib/rt/__newArray local.set $100 @@ -60243,7 +60444,7 @@ local.get $3 i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 816 call $~lib/rt/__newArray local.set $100 @@ -60270,7 +60471,7 @@ local.get $3 i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 848 call $~lib/rt/__newArray local.set $100 @@ -60297,7 +60498,7 @@ local.get $3 i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 880 call $~lib/rt/__newArray local.set $100 @@ -60370,7 +60571,7 @@ local.get $14 i32.const 3 i32.const 0 - i32.const 15 + i32.const 16 i32.const 912 call $~lib/rt/__newArray local.set $100 @@ -60391,7 +60592,7 @@ local.get $3 i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 944 call $~lib/rt/__newArray local.set $100 @@ -60444,7 +60645,7 @@ local.get $19 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 976 call $~lib/rt/__newArray local.set $100 @@ -60471,7 +60672,7 @@ local.get $19 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1024 call $~lib/rt/__newArray local.set $100 @@ -60498,7 +60699,7 @@ local.get $19 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1072 call $~lib/rt/__newArray local.set $100 @@ -60525,7 +60726,7 @@ local.get $19 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1120 call $~lib/rt/__newArray local.set $100 @@ -60552,7 +60753,7 @@ local.get $19 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1168 call $~lib/rt/__newArray local.set $100 @@ -60629,7 +60830,7 @@ local.get $30 i32.const 3 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1216 call $~lib/rt/__newArray local.set $100 @@ -60650,7 +60851,7 @@ local.get $19 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1248 call $~lib/rt/__newArray local.set $100 @@ -60923,7 +61124,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1296 call $~lib/rt/__newArray local.set $100 @@ -60960,7 +61161,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1344 call $~lib/rt/__newArray local.set $100 @@ -60997,7 +61198,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1392 call $~lib/rt/__newArray local.set $100 @@ -61034,7 +61235,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1440 call $~lib/rt/__newArray local.set $100 @@ -61071,7 +61272,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1488 call $~lib/rt/__newArray local.set $100 @@ -61108,7 +61309,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1536 call $~lib/rt/__newArray local.set $100 @@ -61145,7 +61346,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1584 call $~lib/rt/__newArray local.set $100 @@ -61182,7 +61383,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1632 call $~lib/rt/__newArray local.set $100 @@ -61219,7 +61420,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1680 call $~lib/rt/__newArray local.set $100 @@ -61256,7 +61457,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1728 call $~lib/rt/__newArray local.set $100 @@ -61293,7 +61494,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1776 call $~lib/rt/__newArray local.set $100 @@ -61330,7 +61531,7 @@ local.get $100 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 1824 call $~lib/rt/__newArray local.set $100 @@ -61995,7 +62196,7 @@ local.get $90 i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 14256 call $~lib/rt/__newArray local.set $100 @@ -62059,7 +62260,7 @@ local.get $90 i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 14288 call $~lib/rt/__newArray local.set $100 @@ -62103,7 +62304,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62135,7 +62336,7 @@ local.get $alignLog2 i32.shl local.tee $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 offset=4 @@ -62175,7 +62376,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62210,7 +62411,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62245,7 +62446,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62280,7 +62481,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62315,7 +62516,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62350,7 +62551,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62385,7 +62586,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62420,7 +62621,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62455,7 +62656,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62490,7 +62691,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62525,7 +62726,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -62641,7 +62842,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -62774,7 +62975,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -62874,7 +63075,7 @@ local.set $bufferSize global.get $~lib/memory/__stack_pointer local.get $bufferSize - i32.const 0 + i32.const 1 local.get $data call $~lib/rt/__newBuffer local.tee $buffer @@ -63003,7 +63204,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -63196,13 +63397,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63297,13 +63498,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63398,13 +63599,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63499,13 +63700,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63600,13 +63801,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63701,13 +63902,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63802,13 +64003,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -63903,13 +64104,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64004,13 +64205,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64105,13 +64306,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64206,13 +64407,13 @@ local.set $byteLength global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $out i32.store $0 global.get $~lib/memory/__stack_pointer local.get $byteLength - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64304,7 +64505,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -64312,7 +64513,7 @@ local.get $len i32.const 0 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64427,7 +64628,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -64435,7 +64636,7 @@ local.get $len i32.const 0 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64550,7 +64751,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -64558,7 +64759,7 @@ local.get $len i32.const 0 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64673,7 +64874,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -64681,7 +64882,7 @@ local.get $len i32.const 1 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64796,7 +64997,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -64804,7 +65005,7 @@ local.get $len i32.const 1 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -64919,7 +65120,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -64927,7 +65128,7 @@ local.get $len i32.const 2 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -65042,7 +65243,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65050,7 +65251,7 @@ local.get $len i32.const 2 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -65165,7 +65366,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65173,7 +65374,7 @@ local.get $len i32.const 3 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -65288,7 +65489,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65296,7 +65497,7 @@ local.get $len i32.const 3 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -65411,7 +65612,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65419,7 +65620,7 @@ local.get $len i32.const 2 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -65534,7 +65735,7 @@ local.set $len global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65542,7 +65743,7 @@ local.get $len i32.const 3 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buf i32.store $0 offset=4 @@ -65721,7 +65922,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65854,7 +66055,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -65987,7 +66188,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66120,7 +66321,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66253,7 +66454,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66386,7 +66587,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66519,7 +66720,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66652,7 +66853,7 @@ local.set $end|5 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66767,7 +66968,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66807,7 +67008,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66842,7 +67043,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -66995,7 +67196,7 @@ end global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -67087,7 +67288,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -67245,7 +67446,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -67281,7 +67482,7 @@ local.get $decimals|7 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -67310,7 +67511,7 @@ local.get $decimals|11 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -67404,7 +67605,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -67575,7 +67776,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -67746,7 +67947,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -67917,7 +68118,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -68088,7 +68289,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -68278,7 +68479,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68308,7 +68509,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68350,7 +68551,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68381,7 +68582,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68484,7 +68685,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -68657,7 +68858,7 @@ local.get $decimals i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68683,7 +68884,7 @@ local.get $decimals|8 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68721,7 +68922,7 @@ local.get $decimals|12 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68748,7 +68949,7 @@ local.get $decimals|16 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -68841,7 +69042,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -69005,7 +69206,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -69086,7 +69287,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -69249,7 +69450,7 @@ local.get $estLen i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -69370,7 +69571,7 @@ end global.get $~lib/memory/__stack_pointer local.get $length - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer i32.store $0 @@ -69478,7 +69679,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -69594,7 +69795,7 @@ local.set $outSize global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -69704,7 +69905,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -69823,7 +70024,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -69942,7 +70143,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70061,7 +70262,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70180,7 +70381,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70299,7 +70500,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70418,7 +70619,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70537,7 +70738,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70656,7 +70857,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -70775,7 +70976,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $out i32.store $0 diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index bad83d351d..10893113a1 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -59,616 +59,616 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 49084)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 49088)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") (data (i32.const 1084) "<") - (data (i32.const 1096) "\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 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1160) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1212) "<") - (data (i32.const 1224) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1340) "<") - (data (i32.const 1352) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1404) ",") - (data (i32.const 1416) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1484) "<") - (data (i32.const 1496) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1548) "<") - (data (i32.const 1560) "\01\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1560) "\02\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1612) "<") - (data (i32.const 1624) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1624) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1676) "\1c") - (data (i32.const 1688) "\0e\00\00\00\08\00\00\00\01") + (data (i32.const 1688) "\0f\00\00\00\08\00\00\00\01") (data (i32.const 1708) "\1c") - (data (i32.const 1724) "\05\00\00\00\01\01\01\04\05") + (data (i32.const 1720) "\01\00\00\00\05\00\00\00\01\01\01\04\05") (data (i32.const 1740) ",") - (data (i32.const 1752) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1752) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 1788) "\1c") - (data (i32.const 1804) "\05") + (data (i32.const 1800) "\01\00\00\00\05") (data (i32.const 1820) "\1c") - (data (i32.const 1836) "\05\00\00\00\01\01") + (data (i32.const 1832) "\01\00\00\00\05\00\00\00\01\01") (data (i32.const 1852) "\1c") - (data (i32.const 1868) "\05\00\00\00\01\01\00\02\02") + (data (i32.const 1864) "\01\00\00\00\05\00\00\00\01\01\00\02\02") (data (i32.const 1884) "\1c") - (data (i32.const 1900) "\05\00\00\00\01\01\00\02\02") + (data (i32.const 1896) "\01\00\00\00\05\00\00\00\01\01\00\02\02") (data (i32.const 1916) "\1c") - (data (i32.const 1932) "\03") + (data (i32.const 1928) "\01\00\00\00\03") (data (i32.const 1948) "\1c") - (data (i32.const 1964) "\05\00\00\00\01\00\00\00\02") + (data (i32.const 1960) "\01\00\00\00\05\00\00\00\01\00\00\00\02") (data (i32.const 1980) ",") - (data (i32.const 1996) "\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 1992) "\01\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 2028) ",") - (data (i32.const 2044) "\14") + (data (i32.const 2040) "\01\00\00\00\14") (data (i32.const 2076) ",") - (data (i32.const 2092) "\14\00\00\00\01\00\00\00\01") + (data (i32.const 2088) "\01\00\00\00\14\00\00\00\01\00\00\00\01") (data (i32.const 2124) ",") - (data (i32.const 2140) "\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 2136) "\01\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 2172) ",") - (data (i32.const 2188) "\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 2184) "\01\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 2220) "\1c") - (data (i32.const 2236) "\0c") + (data (i32.const 2232) "\01\00\00\00\0c") (data (i32.const 2252) ",") - (data (i32.const 2268) "\14\00\00\00\01") + (data (i32.const 2264) "\01\00\00\00\14\00\00\00\01") (data (i32.const 2288) "\02") (data (i32.const 2300) ",") - (data (i32.const 2316) "\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2312) "\01\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 2348) ",") - (data (i32.const 2364) "\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") + (data (i32.const 2360) "\01\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 2396) ",") - (data (i32.const 2412) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 2408) "\01\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 2444) ",") - (data (i32.const 2460) "\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2456) "\01\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 2492) ",") - (data (i32.const 2508) "\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2504) "\01\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 2540) ",") - (data (i32.const 2556) "\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2552) "\01\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 2588) ",") - (data (i32.const 2604) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 2600) "\01\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 2636) ",") - (data (i32.const 2652) "\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2648) "\01\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 2684) ",") - (data (i32.const 2700) "\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2696) "\01\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 2732) ",") - (data (i32.const 2748) "\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2744) "\01\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 2780) ",") - (data (i32.const 2796) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 2792) "\01\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 2828) ",") - (data (i32.const 2844) "\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 2840) "\01\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 2876) "\1c") - (data (i32.const 2888) "\11\00\00\00\08\00\00\00\02") + (data (i32.const 2888) "\12\00\00\00\08\00\00\00\02") (data (i32.const 2908) "\1c") - (data (i32.const 2920) "\12\00\00\00\08\00\00\00\03") + (data (i32.const 2920) "\13\00\00\00\08\00\00\00\03") (data (i32.const 2940) "\1c") - (data (i32.const 2952) "\13\00\00\00\08\00\00\00\04") + (data (i32.const 2952) "\14\00\00\00\08\00\00\00\04") (data (i32.const 2972) "\1c") - (data (i32.const 2984) "\14\00\00\00\08\00\00\00\05") + (data (i32.const 2984) "\15\00\00\00\08\00\00\00\05") (data (i32.const 3004) "\1c") - (data (i32.const 3016) "\15\00\00\00\08\00\00\00\06") + (data (i32.const 3016) "\16\00\00\00\08\00\00\00\06") (data (i32.const 3036) "\1c") - (data (i32.const 3048) "\16\00\00\00\08\00\00\00\07") + (data (i32.const 3048) "\17\00\00\00\08\00\00\00\07") (data (i32.const 3068) "\1c") - (data (i32.const 3080) "\17\00\00\00\08\00\00\00\08") + (data (i32.const 3080) "\18\00\00\00\08\00\00\00\08") (data (i32.const 3100) "\1c") - (data (i32.const 3112) "\18\00\00\00\08\00\00\00\t") + (data (i32.const 3112) "\19\00\00\00\08\00\00\00\t") (data (i32.const 3132) "\1c") - (data (i32.const 3144) "\19\00\00\00\08\00\00\00\n") + (data (i32.const 3144) "\1a\00\00\00\08\00\00\00\n") (data (i32.const 3164) "\1c") - (data (i32.const 3176) "\1a\00\00\00\08\00\00\00\0b") + (data (i32.const 3176) "\1b\00\00\00\08\00\00\00\0b") (data (i32.const 3196) "\1c") - (data (i32.const 3208) "\1b\00\00\00\08\00\00\00\0c") + (data (i32.const 3208) "\1c\00\00\00\08\00\00\00\0c") (data (i32.const 3228) "\1c") - (data (i32.const 3240) "\11\00\00\00\08\00\00\00\r") + (data (i32.const 3240) "\12\00\00\00\08\00\00\00\r") (data (i32.const 3260) "\1c") - (data (i32.const 3272) "\12\00\00\00\08\00\00\00\0e") + (data (i32.const 3272) "\13\00\00\00\08\00\00\00\0e") (data (i32.const 3292) "\1c") - (data (i32.const 3304) "\13\00\00\00\08\00\00\00\0f") + (data (i32.const 3304) "\14\00\00\00\08\00\00\00\0f") (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\14\00\00\00\08\00\00\00\10") + (data (i32.const 3336) "\15\00\00\00\08\00\00\00\10") (data (i32.const 3356) "\1c") - (data (i32.const 3368) "\15\00\00\00\08\00\00\00\11") + (data (i32.const 3368) "\16\00\00\00\08\00\00\00\11") (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\16\00\00\00\08\00\00\00\12") + (data (i32.const 3400) "\17\00\00\00\08\00\00\00\12") (data (i32.const 3420) "\1c") - (data (i32.const 3432) "\17\00\00\00\08\00\00\00\13") + (data (i32.const 3432) "\18\00\00\00\08\00\00\00\13") (data (i32.const 3452) "\1c") - (data (i32.const 3464) "\18\00\00\00\08\00\00\00\14") + (data (i32.const 3464) "\19\00\00\00\08\00\00\00\14") (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\19\00\00\00\08\00\00\00\15") + (data (i32.const 3496) "\1a\00\00\00\08\00\00\00\15") (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\1a\00\00\00\08\00\00\00\16") + (data (i32.const 3528) "\1b\00\00\00\08\00\00\00\16") (data (i32.const 3548) "\1c") - (data (i32.const 3560) "\1b\00\00\00\08\00\00\00\17") + (data (i32.const 3560) "\1c\00\00\00\08\00\00\00\17") (data (i32.const 3580) "\1c") - (data (i32.const 3592) "\1c\00\00\00\08\00\00\00\18") + (data (i32.const 3592) "\1d\00\00\00\08\00\00\00\18") (data (i32.const 3612) "\1c") - (data (i32.const 3624) "\1d\00\00\00\08\00\00\00\19") + (data (i32.const 3624) "\1e\00\00\00\08\00\00\00\19") (data (i32.const 3644) "\1c") - (data (i32.const 3656) "\1e\00\00\00\08\00\00\00\1a") + (data (i32.const 3656) "\1f\00\00\00\08\00\00\00\1a") (data (i32.const 3676) "\1c") - (data (i32.const 3688) "\1f\00\00\00\08\00\00\00\1b") + (data (i32.const 3688) " \00\00\00\08\00\00\00\1b") (data (i32.const 3708) "\1c") - (data (i32.const 3720) " \00\00\00\08\00\00\00\1c") + (data (i32.const 3720) "!\00\00\00\08\00\00\00\1c") (data (i32.const 3740) "\1c") - (data (i32.const 3752) "!\00\00\00\08\00\00\00\1d") + (data (i32.const 3752) "\"\00\00\00\08\00\00\00\1d") (data (i32.const 3772) "\1c") - (data (i32.const 3784) "\"\00\00\00\08\00\00\00\1e") + (data (i32.const 3784) "#\00\00\00\08\00\00\00\1e") (data (i32.const 3804) "\1c") - (data (i32.const 3816) "#\00\00\00\08\00\00\00\1f") + (data (i32.const 3816) "$\00\00\00\08\00\00\00\1f") (data (i32.const 3836) "\1c") - (data (i32.const 3848) "$\00\00\00\08\00\00\00 ") + (data (i32.const 3848) "%\00\00\00\08\00\00\00 ") (data (i32.const 3868) "\1c") - (data (i32.const 3880) "%\00\00\00\08\00\00\00!") + (data (i32.const 3880) "&\00\00\00\08\00\00\00!") (data (i32.const 3900) "\1c") - (data (i32.const 3912) "&\00\00\00\08\00\00\00\"") + (data (i32.const 3912) "\'\00\00\00\08\00\00\00\"") (data (i32.const 3932) "\1c") - (data (i32.const 3944) "\'\00\00\00\08\00\00\00#") + (data (i32.const 3944) "(\00\00\00\08\00\00\00#") (data (i32.const 3964) "\1c") - (data (i32.const 3976) "(\00\00\00\08\00\00\00$") + (data (i32.const 3976) ")\00\00\00\08\00\00\00$") (data (i32.const 3996) "\1c") - (data (i32.const 4008) ")\00\00\00\08\00\00\00%") + (data (i32.const 4008) "*\00\00\00\08\00\00\00%") (data (i32.const 4028) "\1c") - (data (i32.const 4040) "*\00\00\00\08\00\00\00&") + (data (i32.const 4040) "+\00\00\00\08\00\00\00&") (data (i32.const 4060) "\1c") - (data (i32.const 4072) "+\00\00\00\08\00\00\00\'") + (data (i32.const 4072) ",\00\00\00\08\00\00\00\'") (data (i32.const 4092) "\1c") - (data (i32.const 4104) ",\00\00\00\08\00\00\00(") + (data (i32.const 4104) "-\00\00\00\08\00\00\00(") (data (i32.const 4124) "\1c") - (data (i32.const 4136) "-\00\00\00\08\00\00\00)") + (data (i32.const 4136) ".\00\00\00\08\00\00\00)") (data (i32.const 4156) "\1c") - (data (i32.const 4168) ".\00\00\00\08\00\00\00*") + (data (i32.const 4168) "/\00\00\00\08\00\00\00*") (data (i32.const 4188) "\1c") - (data (i32.const 4200) "/\00\00\00\08\00\00\00+") + (data (i32.const 4200) "0\00\00\00\08\00\00\00+") (data (i32.const 4220) "\1c") - (data (i32.const 4232) "0\00\00\00\08\00\00\00,") + (data (i32.const 4232) "1\00\00\00\08\00\00\00,") (data (i32.const 4252) "\1c") - (data (i32.const 4264) "1\00\00\00\08\00\00\00-") + (data (i32.const 4264) "2\00\00\00\08\00\00\00-") (data (i32.const 4284) "\1c") - (data (i32.const 4296) "\'\00\00\00\08\00\00\00.") + (data (i32.const 4296) "(\00\00\00\08\00\00\00.") (data (i32.const 4316) "\1c") - (data (i32.const 4328) "\'\00\00\00\08\00\00\00/") + (data (i32.const 4328) "(\00\00\00\08\00\00\00/") (data (i32.const 4348) "\1c") - (data (i32.const 4360) "(\00\00\00\08\00\00\000") + (data (i32.const 4360) ")\00\00\00\08\00\00\000") (data (i32.const 4380) "\1c") - (data (i32.const 4392) "(\00\00\00\08\00\00\001") + (data (i32.const 4392) ")\00\00\00\08\00\00\001") (data (i32.const 4412) "\1c") - (data (i32.const 4424) ")\00\00\00\08\00\00\002") + (data (i32.const 4424) "*\00\00\00\08\00\00\002") (data (i32.const 4444) "\1c") - (data (i32.const 4456) ")\00\00\00\08\00\00\003") + (data (i32.const 4456) "*\00\00\00\08\00\00\003") (data (i32.const 4476) "\1c") - (data (i32.const 4488) "*\00\00\00\08\00\00\004") + (data (i32.const 4488) "+\00\00\00\08\00\00\004") (data (i32.const 4508) "\1c") - (data (i32.const 4520) "*\00\00\00\08\00\00\005") + (data (i32.const 4520) "+\00\00\00\08\00\00\005") (data (i32.const 4540) "\1c") - (data (i32.const 4552) "+\00\00\00\08\00\00\006") + (data (i32.const 4552) ",\00\00\00\08\00\00\006") (data (i32.const 4572) "\1c") - (data (i32.const 4584) "+\00\00\00\08\00\00\007") + (data (i32.const 4584) ",\00\00\00\08\00\00\007") (data (i32.const 4604) "\1c") - (data (i32.const 4616) ",\00\00\00\08\00\00\008") + (data (i32.const 4616) "-\00\00\00\08\00\00\008") (data (i32.const 4636) "\1c") - (data (i32.const 4648) ",\00\00\00\08\00\00\009") + (data (i32.const 4648) "-\00\00\00\08\00\00\009") (data (i32.const 4668) "\1c") - (data (i32.const 4680) "-\00\00\00\08\00\00\00:") + (data (i32.const 4680) ".\00\00\00\08\00\00\00:") (data (i32.const 4700) "\1c") - (data (i32.const 4712) "-\00\00\00\08\00\00\00;") + (data (i32.const 4712) ".\00\00\00\08\00\00\00;") (data (i32.const 4732) "\1c") - (data (i32.const 4744) ".\00\00\00\08\00\00\00<") + (data (i32.const 4744) "/\00\00\00\08\00\00\00<") (data (i32.const 4764) "\1c") - (data (i32.const 4776) ".\00\00\00\08\00\00\00=") + (data (i32.const 4776) "/\00\00\00\08\00\00\00=") (data (i32.const 4796) "\1c") - (data (i32.const 4808) "/\00\00\00\08\00\00\00>") + (data (i32.const 4808) "0\00\00\00\08\00\00\00>") (data (i32.const 4828) "\1c") - (data (i32.const 4840) "/\00\00\00\08\00\00\00?") + (data (i32.const 4840) "0\00\00\00\08\00\00\00?") (data (i32.const 4860) "\1c") - (data (i32.const 4872) "0\00\00\00\08\00\00\00@") + (data (i32.const 4872) "1\00\00\00\08\00\00\00@") (data (i32.const 4892) "\1c") - (data (i32.const 4904) "0\00\00\00\08\00\00\00A") + (data (i32.const 4904) "1\00\00\00\08\00\00\00A") (data (i32.const 4924) "\1c") - (data (i32.const 4936) "1\00\00\00\08\00\00\00B") + (data (i32.const 4936) "2\00\00\00\08\00\00\00B") (data (i32.const 4956) "\1c") - (data (i32.const 4968) "1\00\00\00\08\00\00\00C") + (data (i32.const 4968) "2\00\00\00\08\00\00\00C") (data (i32.const 4988) "\1c") - (data (i32.const 5000) "\'\00\00\00\08\00\00\00D") + (data (i32.const 5000) "(\00\00\00\08\00\00\00D") (data (i32.const 5020) "\1c") - (data (i32.const 5032) "\'\00\00\00\08\00\00\00E") + (data (i32.const 5032) "(\00\00\00\08\00\00\00E") (data (i32.const 5052) "\1c") - (data (i32.const 5064) "(\00\00\00\08\00\00\00F") + (data (i32.const 5064) ")\00\00\00\08\00\00\00F") (data (i32.const 5084) "\1c") - (data (i32.const 5096) "(\00\00\00\08\00\00\00G") + (data (i32.const 5096) ")\00\00\00\08\00\00\00G") (data (i32.const 5116) "\1c") - (data (i32.const 5128) ")\00\00\00\08\00\00\00H") + (data (i32.const 5128) "*\00\00\00\08\00\00\00H") (data (i32.const 5148) "\1c") - (data (i32.const 5160) ")\00\00\00\08\00\00\00I") + (data (i32.const 5160) "*\00\00\00\08\00\00\00I") (data (i32.const 5180) "\1c") - (data (i32.const 5192) "*\00\00\00\08\00\00\00J") + (data (i32.const 5192) "+\00\00\00\08\00\00\00J") (data (i32.const 5212) "\1c") - (data (i32.const 5224) "*\00\00\00\08\00\00\00K") + (data (i32.const 5224) "+\00\00\00\08\00\00\00K") (data (i32.const 5244) "\1c") - (data (i32.const 5256) "+\00\00\00\08\00\00\00L") + (data (i32.const 5256) ",\00\00\00\08\00\00\00L") (data (i32.const 5276) "\1c") - (data (i32.const 5288) "+\00\00\00\08\00\00\00M") + (data (i32.const 5288) ",\00\00\00\08\00\00\00M") (data (i32.const 5308) "\1c") - (data (i32.const 5320) ",\00\00\00\08\00\00\00N") + (data (i32.const 5320) "-\00\00\00\08\00\00\00N") (data (i32.const 5340) "\1c") - (data (i32.const 5352) ",\00\00\00\08\00\00\00O") + (data (i32.const 5352) "-\00\00\00\08\00\00\00O") (data (i32.const 5372) "\1c") - (data (i32.const 5384) "-\00\00\00\08\00\00\00P") + (data (i32.const 5384) ".\00\00\00\08\00\00\00P") (data (i32.const 5404) "\1c") - (data (i32.const 5416) "-\00\00\00\08\00\00\00Q") + (data (i32.const 5416) ".\00\00\00\08\00\00\00Q") (data (i32.const 5436) "\1c") - (data (i32.const 5448) ".\00\00\00\08\00\00\00R") + (data (i32.const 5448) "/\00\00\00\08\00\00\00R") (data (i32.const 5468) "\1c") - (data (i32.const 5480) ".\00\00\00\08\00\00\00S") + (data (i32.const 5480) "/\00\00\00\08\00\00\00S") (data (i32.const 5500) "\1c") - (data (i32.const 5512) "/\00\00\00\08\00\00\00T") + (data (i32.const 5512) "0\00\00\00\08\00\00\00T") (data (i32.const 5532) "\1c") - (data (i32.const 5544) "/\00\00\00\08\00\00\00U") + (data (i32.const 5544) "0\00\00\00\08\00\00\00U") (data (i32.const 5564) "\1c") - (data (i32.const 5576) "0\00\00\00\08\00\00\00V") + (data (i32.const 5576) "1\00\00\00\08\00\00\00V") (data (i32.const 5596) "\1c") - (data (i32.const 5608) "0\00\00\00\08\00\00\00W") + (data (i32.const 5608) "1\00\00\00\08\00\00\00W") (data (i32.const 5628) "\1c") - (data (i32.const 5640) "1\00\00\00\08\00\00\00X") + (data (i32.const 5640) "2\00\00\00\08\00\00\00X") (data (i32.const 5660) "\1c") - (data (i32.const 5672) "1\00\00\00\08\00\00\00Y") + (data (i32.const 5672) "2\00\00\00\08\00\00\00Y") (data (i32.const 5692) "\1c") - (data (i32.const 5704) "\'\00\00\00\08\00\00\00Z") + (data (i32.const 5704) "(\00\00\00\08\00\00\00Z") (data (i32.const 5724) "\1c") - (data (i32.const 5736) "\'\00\00\00\08\00\00\00[") + (data (i32.const 5736) "(\00\00\00\08\00\00\00[") (data (i32.const 5756) "\1c") - (data (i32.const 5768) "(\00\00\00\08\00\00\00\\") + (data (i32.const 5768) ")\00\00\00\08\00\00\00\\") (data (i32.const 5788) "\1c") - (data (i32.const 5800) "(\00\00\00\08\00\00\00]") + (data (i32.const 5800) ")\00\00\00\08\00\00\00]") (data (i32.const 5820) "\1c") - (data (i32.const 5832) ")\00\00\00\08\00\00\00^") + (data (i32.const 5832) "*\00\00\00\08\00\00\00^") (data (i32.const 5852) "\1c") - (data (i32.const 5864) ")\00\00\00\08\00\00\00_") + (data (i32.const 5864) "*\00\00\00\08\00\00\00_") (data (i32.const 5884) "\1c") - (data (i32.const 5896) "*\00\00\00\08\00\00\00`") + (data (i32.const 5896) "+\00\00\00\08\00\00\00`") (data (i32.const 5916) "\1c") - (data (i32.const 5928) "*\00\00\00\08\00\00\00a") + (data (i32.const 5928) "+\00\00\00\08\00\00\00a") (data (i32.const 5948) "\1c") - (data (i32.const 5960) "+\00\00\00\08\00\00\00b") + (data (i32.const 5960) ",\00\00\00\08\00\00\00b") (data (i32.const 5980) "\1c") - (data (i32.const 5992) "+\00\00\00\08\00\00\00c") + (data (i32.const 5992) ",\00\00\00\08\00\00\00c") (data (i32.const 6012) "\1c") - (data (i32.const 6024) ",\00\00\00\08\00\00\00d") + (data (i32.const 6024) "-\00\00\00\08\00\00\00d") (data (i32.const 6044) "\1c") - (data (i32.const 6056) ",\00\00\00\08\00\00\00e") + (data (i32.const 6056) "-\00\00\00\08\00\00\00e") (data (i32.const 6076) "\1c") - (data (i32.const 6088) "-\00\00\00\08\00\00\00f") + (data (i32.const 6088) ".\00\00\00\08\00\00\00f") (data (i32.const 6108) "\1c") - (data (i32.const 6120) "-\00\00\00\08\00\00\00g") + (data (i32.const 6120) ".\00\00\00\08\00\00\00g") (data (i32.const 6140) "\1c") - (data (i32.const 6152) ".\00\00\00\08\00\00\00h") + (data (i32.const 6152) "/\00\00\00\08\00\00\00h") (data (i32.const 6172) "\1c") - (data (i32.const 6184) ".\00\00\00\08\00\00\00i") + (data (i32.const 6184) "/\00\00\00\08\00\00\00i") (data (i32.const 6204) "\1c") - (data (i32.const 6216) "/\00\00\00\08\00\00\00j") + (data (i32.const 6216) "0\00\00\00\08\00\00\00j") (data (i32.const 6236) "\1c") - (data (i32.const 6248) "/\00\00\00\08\00\00\00k") + (data (i32.const 6248) "0\00\00\00\08\00\00\00k") (data (i32.const 6268) "\1c") - (data (i32.const 6280) "0\00\00\00\08\00\00\00l") + (data (i32.const 6280) "1\00\00\00\08\00\00\00l") (data (i32.const 6300) "\1c") - (data (i32.const 6312) "0\00\00\00\08\00\00\00m") + (data (i32.const 6312) "1\00\00\00\08\00\00\00m") (data (i32.const 6332) "\1c") - (data (i32.const 6344) "1\00\00\00\08\00\00\00n") + (data (i32.const 6344) "2\00\00\00\08\00\00\00n") (data (i32.const 6364) "\1c") - (data (i32.const 6376) "1\00\00\00\08\00\00\00o") + (data (i32.const 6376) "2\00\00\00\08\00\00\00o") (data (i32.const 6396) "\1c") - (data (i32.const 6408) "\'\00\00\00\08\00\00\00p") + (data (i32.const 6408) "(\00\00\00\08\00\00\00p") (data (i32.const 6428) "\1c") - (data (i32.const 6440) "\'\00\00\00\08\00\00\00q") + (data (i32.const 6440) "(\00\00\00\08\00\00\00q") (data (i32.const 6460) "\1c") - (data (i32.const 6472) "(\00\00\00\08\00\00\00r") + (data (i32.const 6472) ")\00\00\00\08\00\00\00r") (data (i32.const 6492) "\1c") - (data (i32.const 6504) "(\00\00\00\08\00\00\00s") + (data (i32.const 6504) ")\00\00\00\08\00\00\00s") (data (i32.const 6524) "\1c") - (data (i32.const 6536) ")\00\00\00\08\00\00\00t") + (data (i32.const 6536) "*\00\00\00\08\00\00\00t") (data (i32.const 6556) "\1c") - (data (i32.const 6568) ")\00\00\00\08\00\00\00u") + (data (i32.const 6568) "*\00\00\00\08\00\00\00u") (data (i32.const 6588) "\1c") - (data (i32.const 6600) "*\00\00\00\08\00\00\00v") + (data (i32.const 6600) "+\00\00\00\08\00\00\00v") (data (i32.const 6620) "\1c") - (data (i32.const 6632) "*\00\00\00\08\00\00\00w") + (data (i32.const 6632) "+\00\00\00\08\00\00\00w") (data (i32.const 6652) "\1c") - (data (i32.const 6664) "+\00\00\00\08\00\00\00x") + (data (i32.const 6664) ",\00\00\00\08\00\00\00x") (data (i32.const 6684) "\1c") - (data (i32.const 6696) "+\00\00\00\08\00\00\00y") + (data (i32.const 6696) ",\00\00\00\08\00\00\00y") (data (i32.const 6716) "\1c") - (data (i32.const 6728) ",\00\00\00\08\00\00\00z") + (data (i32.const 6728) "-\00\00\00\08\00\00\00z") (data (i32.const 6748) "\1c") - (data (i32.const 6760) ",\00\00\00\08\00\00\00{") + (data (i32.const 6760) "-\00\00\00\08\00\00\00{") (data (i32.const 6780) "\1c") - (data (i32.const 6792) "-\00\00\00\08\00\00\00|") + (data (i32.const 6792) ".\00\00\00\08\00\00\00|") (data (i32.const 6812) "\1c") - (data (i32.const 6824) "-\00\00\00\08\00\00\00}") + (data (i32.const 6824) ".\00\00\00\08\00\00\00}") (data (i32.const 6844) "\1c") - (data (i32.const 6856) ".\00\00\00\08\00\00\00~") + (data (i32.const 6856) "/\00\00\00\08\00\00\00~") (data (i32.const 6876) "\1c") - (data (i32.const 6888) ".\00\00\00\08\00\00\00\7f") + (data (i32.const 6888) "/\00\00\00\08\00\00\00\7f") (data (i32.const 6908) "\1c") - (data (i32.const 6920) "/\00\00\00\08\00\00\00\80") + (data (i32.const 6920) "0\00\00\00\08\00\00\00\80") (data (i32.const 6940) "\1c") - (data (i32.const 6952) "/\00\00\00\08\00\00\00\81") + (data (i32.const 6952) "0\00\00\00\08\00\00\00\81") (data (i32.const 6972) "\1c") - (data (i32.const 6984) "0\00\00\00\08\00\00\00\82") + (data (i32.const 6984) "1\00\00\00\08\00\00\00\82") (data (i32.const 7004) "\1c") - (data (i32.const 7016) "0\00\00\00\08\00\00\00\83") + (data (i32.const 7016) "1\00\00\00\08\00\00\00\83") (data (i32.const 7036) "\1c") - (data (i32.const 7048) "1\00\00\00\08\00\00\00\84") + (data (i32.const 7048) "2\00\00\00\08\00\00\00\84") (data (i32.const 7068) "\1c") - (data (i32.const 7080) "1\00\00\00\08\00\00\00\85") + (data (i32.const 7080) "2\00\00\00\08\00\00\00\85") (data (i32.const 7100) "\1c") - (data (i32.const 7116) "\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") + (data (i32.const 7112) "\01\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") (data (i32.const 7132) ",") - (data (i32.const 7144) "\10\00\00\00\10\00\00\00\d0\1b\00\00\d0\1b\00\00\0c\00\00\00\03") + (data (i32.const 7144) "\11\00\00\00\10\00\00\00\d0\1b\00\00\d0\1b\00\00\0c\00\00\00\03") (data (i32.const 7180) "\1c") - (data (i32.const 7192) "2\00\00\00\08\00\00\00\86") + (data (i32.const 7192) "3\00\00\00\08\00\00\00\86") (data (i32.const 7212) "\1c") - (data (i32.const 7224) "3\00\00\00\08\00\00\00\87") + (data (i32.const 7224) "4\00\00\00\08\00\00\00\87") (data (i32.const 7244) "\1c") - (data (i32.const 7256) "4\00\00\00\08\00\00\00\88") + (data (i32.const 7256) "5\00\00\00\08\00\00\00\88") (data (i32.const 7276) "\1c") - (data (i32.const 7288) "5\00\00\00\08\00\00\00\89") + (data (i32.const 7288) "6\00\00\00\08\00\00\00\89") (data (i32.const 7308) "\1c") - (data (i32.const 7320) "6\00\00\00\08\00\00\00\8a") + (data (i32.const 7320) "7\00\00\00\08\00\00\00\8a") (data (i32.const 7340) "\1c") - (data (i32.const 7352) "7\00\00\00\08\00\00\00\8b") + (data (i32.const 7352) "8\00\00\00\08\00\00\00\8b") (data (i32.const 7372) "\1c") - (data (i32.const 7384) "8\00\00\00\08\00\00\00\8c") + (data (i32.const 7384) "9\00\00\00\08\00\00\00\8c") (data (i32.const 7404) "\1c") - (data (i32.const 7416) "9\00\00\00\08\00\00\00\8d") + (data (i32.const 7416) ":\00\00\00\08\00\00\00\8d") (data (i32.const 7436) "\1c") - (data (i32.const 7448) ":\00\00\00\08\00\00\00\8e") + (data (i32.const 7448) ";\00\00\00\08\00\00\00\8e") (data (i32.const 7468) "\1c") - (data (i32.const 7480) ";\00\00\00\08\00\00\00\8f") + (data (i32.const 7480) "<\00\00\00\08\00\00\00\8f") (data (i32.const 7500) "\1c") - (data (i32.const 7512) "<\00\00\00\08\00\00\00\90") + (data (i32.const 7512) "=\00\00\00\08\00\00\00\90") (data (i32.const 7532) "<") - (data (i32.const 7548) "$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 7544) "\01\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 7596) ",") - (data (i32.const 7608) "\10\00\00\00\10\00\00\00\80\1d\00\00\80\1d\00\00$\00\00\00\t") + (data (i32.const 7608) "\11\00\00\00\10\00\00\00\80\1d\00\00\80\1d\00\00$\00\00\00\t") (data (i32.const 7644) "<") - (data (i32.const 7660) ",\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n") + (data (i32.const 7656) "\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n") (data (i32.const 7708) ",") - (data (i32.const 7720) "\10\00\00\00\10\00\00\00\f0\1d\00\00\f0\1d\00\00,\00\00\00\0b") + (data (i32.const 7720) "\11\00\00\00\10\00\00\00\f0\1d\00\00\f0\1d\00\00,\00\00\00\0b") (data (i32.const 7756) "\1c") - (data (i32.const 7768) "\01") + (data (i32.const 7768) "\02") (data (i32.const 7788) "|") - (data (i32.const 7800) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 7800) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 7916) "<") - (data (i32.const 7928) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 7928) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 7980) "\1c") - (data (i32.const 7992) "\01\00\00\00\02\00\00\000") + (data (i32.const 7992) "\02\00\00\00\02\00\00\000") (data (i32.const 8012) "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 8412) "\1c\04") - (data (i32.const 8424) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 8424) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 9468) "\\") - (data (i32.const 9480) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 9480) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\01\00\00\00\02\00\00\00,") + (data (i32.const 9576) "\02\00\00\00\02\00\00\00,") (data (i32.const 9596) ",") - (data (i32.const 9608) "\01\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005") + (data (i32.const 9608) "\02\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005") (data (i32.const 9644) "\1c") - (data (i32.const 9656) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 9656) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 9676) "\1c") - (data (i32.const 9688) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 9688) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 9708) ",") - (data (i32.const 9720) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 9720) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 9756) ",") - (data (i32.const 9768) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 9768) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 9864) "\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_\rXf\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\10\00\00\000+\00\000+\00\00\0c\00\00\00\03") (data (i32.const 11116) ",") - (data (i32.const 11132) "\18") + (data (i32.const 11128) "\01\00\00\00\18") (data (i32.const 11142) "\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff") (data (i32.const 11164) ",") - (data (i32.const 11176) ">\00\00\00\10\00\00\00\80+\00\00\80+\00\00\18\00\00\00\03") + (data (i32.const 11176) "?\00\00\00\10\00\00\00\80+\00\00\80+\00\00\18\00\00\00\03") (data (i32.const 11212) "\1c") - (data (i32.const 11228) "\03\00\00\00\92\91\90") + (data (i32.const 11224) "\01\00\00\00\03\00\00\00\92\91\90") (data (i32.const 11244) ",") - (data (i32.const 11256) "\0f\00\00\00\10\00\00\00\e0+\00\00\e0+\00\00\03\00\00\00\03") + (data (i32.const 11256) "\10\00\00\00\10\00\00\00\e0+\00\00\e0+\00\00\03\00\00\00\03") (data (i32.const 11292) "\1c") - (data (i32.const 11308) "\n\00\00\00\01\02\03") + (data (i32.const 11304) "\01\00\00\00\n\00\00\00\01\02\03") (data (i32.const 11324) ",") - (data (i32.const 11336) "\01\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y") + (data (i32.const 11336) "\02\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y") (data (i32.const 11372) "\1c") - (data (i32.const 11388) "\n\00\00\00\01\02\03\04\05\06") + (data (i32.const 11384) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") (data (i32.const 11404) "\1c") - (data (i32.const 11420) "\n\00\00\00\01\02\03\04\05\06\07\08\t") + (data (i32.const 11416) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") (data (i32.const 11436) "\1c") - (data (i32.const 11452) "\n\00\00\00\01\02\00\00\00\06\07\08\t") + (data (i32.const 11448) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") (data (i32.const 11468) "\1c") - (data (i32.const 11484) "\n\00\00\00defg\e8\e9\ea\92\91\90") + (data (i32.const 11480) "\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90") (data (i32.const 11500) "\1c") - (data (i32.const 11516) "\n\00\00\00\01\02\03") + (data (i32.const 11512) "\01\00\00\00\n\00\00\00\01\02\03") (data (i32.const 11532) ",") - (data (i32.const 11544) "\01\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y") + (data (i32.const 11544) "\02\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y") (data (i32.const 11580) "\1c") - (data (i32.const 11596) "\n\00\00\00\01\02\03\04\05\06") + (data (i32.const 11592) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") (data (i32.const 11612) "\1c") - (data (i32.const 11628) "\n\00\00\00\01\02\03\04\05\06\07\08\t") + (data (i32.const 11624) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") (data (i32.const 11644) "\1c") - (data (i32.const 11660) "\n\00\00\00\01\02\00\00\00\06\07\08\t") + (data (i32.const 11656) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") (data (i32.const 11676) "\1c") - (data (i32.const 11692) "\n\00\00\00defg\e8\e9\ea\92\91\90") + (data (i32.const 11688) "\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90") (data (i32.const 11708) "\1c") - (data (i32.const 11724) "\n\00\00\00\01\02\03") + (data (i32.const 11720) "\01\00\00\00\n\00\00\00\01\02\03") (data (i32.const 11740) "<") - (data (i32.const 11752) "\01\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y") + (data (i32.const 11752) "\02\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y") (data (i32.const 11804) "\1c") - (data (i32.const 11820) "\n\00\00\00\01\02\03\04\05\06") + (data (i32.const 11816) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") (data (i32.const 11836) "\1c") - (data (i32.const 11852) "\n\00\00\00\01\02\03\04\05\06\07\08\t") + (data (i32.const 11848) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") (data (i32.const 11868) "\1c") - (data (i32.const 11884) "\n\00\00\00\01\02\00\00\00\06\07\08\t") + (data (i32.const 11880) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") (data (i32.const 11900) "\1c") - (data (i32.const 11916) "\n\00\00\00defg\ff\ff\ff") + (data (i32.const 11912) "\01\00\00\00\n\00\00\00defg\ff\ff\ff") (data (i32.const 11932) ",") - (data (i32.const 11948) "\14\00\00\00\01\00\02\00\03") + (data (i32.const 11944) "\01\00\00\00\14\00\00\00\01\00\02\00\03") (data (i32.const 11980) ",") - (data (i32.const 11992) "\01\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y") + (data (i32.const 11992) "\02\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y") (data (i32.const 12028) ",") - (data (i32.const 12044) "\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") + (data (i32.const 12040) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") (data (i32.const 12076) ",") - (data (i32.const 12092) "\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") + (data (i32.const 12088) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") (data (i32.const 12124) ",") - (data (i32.const 12140) "\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") + (data (i32.const 12136) "\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") (data (i32.const 12172) ",") - (data (i32.const 12188) "\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") + (data (i32.const 12184) "\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") (data (i32.const 12220) ",") - (data (i32.const 12236) "\14\00\00\00\01\00\02\00\03") + (data (i32.const 12232) "\01\00\00\00\14\00\00\00\01\00\02\00\03") (data (i32.const 12268) ",") - (data (i32.const 12280) "\01\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y") + (data (i32.const 12280) "\02\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y") (data (i32.const 12316) ",") - (data (i32.const 12332) "\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") + (data (i32.const 12328) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") (data (i32.const 12364) ",") - (data (i32.const 12380) "\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") + (data (i32.const 12376) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") (data (i32.const 12412) ",") - (data (i32.const 12428) "\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") + (data (i32.const 12424) "\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") (data (i32.const 12460) ",") - (data (i32.const 12476) "\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") + (data (i32.const 12472) "\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") (data (i32.const 12508) "<") - (data (i32.const 12524) "(\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 12520) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 12572) ",") - (data (i32.const 12584) "\01\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y") + (data (i32.const 12584) "\02\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y") (data (i32.const 12620) "<") - (data (i32.const 12636) "(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") + (data (i32.const 12632) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") (data (i32.const 12684) "<") - (data (i32.const 12700) "(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 12696) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 12748) "<") - (data (i32.const 12764) "(\00\00\00\01\00\00\00\02") + (data (i32.const 12760) "\01\00\00\00(\00\00\00\01\00\00\00\02") (data (i32.const 12788) "\06\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 12812) "<") - (data (i32.const 12828) "(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") + (data (i32.const 12824) "\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") (data (i32.const 12876) "<") - (data (i32.const 12892) "(\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 12888) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 12940) ",") - (data (i32.const 12952) "\01\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y") + (data (i32.const 12952) "\02\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y") (data (i32.const 12988) "<") - (data (i32.const 13004) "(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") + (data (i32.const 13000) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") (data (i32.const 13052) "<") - (data (i32.const 13068) "(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 13064) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 13116) "<") - (data (i32.const 13132) "(\00\00\00\01\00\00\00\02") + (data (i32.const 13128) "\01\00\00\00(\00\00\00\01\00\00\00\02") (data (i32.const 13156) "\06\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 13180) "<") - (data (i32.const 13196) "(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") + (data (i32.const 13192) "\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") (data (i32.const 13244) "l") - (data (i32.const 13260) "P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") + (data (i32.const 13256) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") (data (i32.const 13356) ",") - (data (i32.const 13368) "\01\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y") + (data (i32.const 13368) "\02\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y") (data (i32.const 13404) "l") - (data (i32.const 13420) "P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") + (data (i32.const 13416) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") (data (i32.const 13516) "l") - (data (i32.const 13532) "P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") + (data (i32.const 13528) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") (data (i32.const 13628) "l") - (data (i32.const 13644) "P\00\00\00\01\00\00\00\00\00\00\00\02") + (data (i32.const 13640) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02") (data (i32.const 13688) "\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") (data (i32.const 13740) "l") - (data (i32.const 13756) "P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 13752) "\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") (data (i32.const 13852) "l") - (data (i32.const 13868) "P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") + (data (i32.const 13864) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") (data (i32.const 13964) ",") - (data (i32.const 13976) "\01\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y") + (data (i32.const 13976) "\02\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y") (data (i32.const 14012) "l") - (data (i32.const 14028) "P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") + (data (i32.const 14024) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") (data (i32.const 14124) "l") - (data (i32.const 14140) "P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") + (data (i32.const 14136) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") (data (i32.const 14236) "l") - (data (i32.const 14252) "P\00\00\00\01\00\00\00\00\00\00\00\02") + (data (i32.const 14248) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02") (data (i32.const 14296) "\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") (data (i32.const 14348) "l") - (data (i32.const 14364) "P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 14360) "\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") (data (i32.const 14460) "<") - (data (i32.const 14476) "(\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data (i32.const 14472) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@") (data (i32.const 14524) ",") - (data (i32.const 14536) "\01\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y") + (data (i32.const 14536) "\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y") (data (i32.const 14572) "<") - (data (i32.const 14588) "(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@") + (data (i32.const 14584) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@") (data (i32.const 14636) "<") - (data (i32.const 14652) "(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A") + (data (i32.const 14648) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A") (data (i32.const 14700) "<") - (data (i32.const 14716) "(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2") + (data (i32.const 14712) "\01\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2") (data (i32.const 14764) "l") - (data (i32.const 14780) "P") + (data (i32.const 14776) "\01\00\00\00P") (data (i32.const 14790) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") (data (i32.const 14876) ",") - (data (i32.const 14888) "\01\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y") + (data (i32.const 14888) "\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y") (data (i32.const 14924) "l") - (data (i32.const 14940) "P") + (data (i32.const 14936) "\01\00\00\00P") (data (i32.const 14950) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@") (data (i32.const 15036) "l") - (data (i32.const 15052) "P") + (data (i32.const 15048) "\01\00\00\00P") (data (i32.const 15062) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\00\00\00\00\"@") (data (i32.const 15148) "l") - (data (i32.const 15164) "P") + (data (i32.const 15160) "\01\00\00\00P") (data (i32.const 15174) "Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0") (data (i32.const 15260) "\1c") - (data (i32.const 15276) "\n\00\00\00\00\ff\00\00\00d\n\ff\ff") + (data (i32.const 15272) "\01\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff") (data (i32.const 15292) "\1c") - (data (i32.const 15308) "\n\00\00\00\01\ffd\ff\00\00d\n\ff") + (data (i32.const 15304) "\01\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff") (data (i32.const 15324) "\1c") - (data (i32.const 15336) "E\00\00\00\08\00\00\00\91") + (data (i32.const 15336) "F\00\00\00\08\00\00\00\91") (data (i32.const 15356) "\1c") - (data (i32.const 15368) "E\00\00\00\08\00\00\00\92") + (data (i32.const 15368) "F\00\00\00\08\00\00\00\92") (data (i32.const 15388) "\1c") - (data (i32.const 15400) "F\00\00\00\08\00\00\00\93") + (data (i32.const 15400) "G\00\00\00\08\00\00\00\93") (data (i32.const 15420) "\1c") - (data (i32.const 15432) "F\00\00\00\08\00\00\00\94") + (data (i32.const 15432) "G\00\00\00\08\00\00\00\94") (data (i32.const 15452) "\1c") - (data (i32.const 15464) "F\00\00\00\08\00\00\00\95") + (data (i32.const 15464) "G\00\00\00\08\00\00\00\95") (data (i32.const 15484) "\1c") - (data (i32.const 15496) "F\00\00\00\08\00\00\00\96") + (data (i32.const 15496) "G\00\00\00\08\00\00\00\96") (data (i32.const 15516) "\1c") - (data (i32.const 15528) "G\00\00\00\08\00\00\00\97") + (data (i32.const 15528) "H\00\00\00\08\00\00\00\97") (data (i32.const 15548) "\1c") - (data (i32.const 15560) "G\00\00\00\08\00\00\00\98") + (data (i32.const 15560) "H\00\00\00\08\00\00\00\98") (data (i32.const 15580) "\1c") - (data (i32.const 15592) "H\00\00\00\08\00\00\00\99") + (data (i32.const 15592) "I\00\00\00\08\00\00\00\99") (data (i32.const 15612) "\1c") - (data (i32.const 15624) "H\00\00\00\08\00\00\00\9a") + (data (i32.const 15624) "I\00\00\00\08\00\00\00\9a") (data (i32.const 15644) "\1c") - (data (i32.const 15656) "I\00\00\00\08\00\00\00\9b") + (data (i32.const 15656) "J\00\00\00\08\00\00\00\9b") (data (i32.const 15676) "\1c") - (data (i32.const 15688) "I\00\00\00\08\00\00\00\9c") + (data (i32.const 15688) "J\00\00\00\08\00\00\00\9c") (data (i32.const 15708) "\1c") - (data (i32.const 15720) "J\00\00\00\08\00\00\00\9d") + (data (i32.const 15720) "K\00\00\00\08\00\00\00\9d") (data (i32.const 15740) "\1c") - (data (i32.const 15752) "J\00\00\00\08\00\00\00\9e") + (data (i32.const 15752) "K\00\00\00\08\00\00\00\9e") (data (i32.const 15772) "\1c") - (data (i32.const 15784) "K\00\00\00\08\00\00\00\9f") + (data (i32.const 15784) "L\00\00\00\08\00\00\00\9f") (data (i32.const 15804) "\1c") - (data (i32.const 15816) "K\00\00\00\08\00\00\00\a0") + (data (i32.const 15816) "L\00\00\00\08\00\00\00\a0") (data (i32.const 15836) "\1c") - (data (i32.const 15848) "L\00\00\00\08\00\00\00\a1") + (data (i32.const 15848) "M\00\00\00\08\00\00\00\a1") (data (i32.const 15868) "\1c") - (data (i32.const 15880) "L\00\00\00\08\00\00\00\a2") + (data (i32.const 15880) "M\00\00\00\08\00\00\00\a2") (data (i32.const 15900) "\1c") - (data (i32.const 15912) "M\00\00\00\08\00\00\00\a3") + (data (i32.const 15912) "N\00\00\00\08\00\00\00\a3") (data (i32.const 15932) "\1c") - (data (i32.const 15944) "M\00\00\00\08\00\00\00\a4") + (data (i32.const 15944) "N\00\00\00\08\00\00\00\a4") (data (i32.const 15964) "\1c") - (data (i32.const 15976) "\0e\00\00\00\08\00\00\00\a5") - (data (i32.const 16000) "N\00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t") - (data (i32.const 16248) "\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02") + (data (i32.const 15976) "\0f\00\00\00\08\00\00\00\a5") + (data (i32.const 16000) "O\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t") + (data (i32.const 16252) "\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02") (table $0 166 166 funcref) (elem $0 (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0) (export "memory" (memory $0)) @@ -722,7 +722,7 @@ if i32.const 0 i32.const 1232 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -755,7 +755,7 @@ if i32.const 0 i32.const 1232 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -775,14 +775,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 49084 + i32.const 49088 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1232 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -796,7 +796,7 @@ if i32.const 0 i32.const 1232 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -818,7 +818,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -1466,7 +1466,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.const 49084 + i32.const 49088 i32.lt_u if return @@ -1596,7 +1596,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 49084 + i32.const 49088 i32.lt_u if local.get $0 @@ -1690,13 +1690,13 @@ if i32.const 0 i32.const 1232 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 49084 + i32.const 49088 i32.lt_u if local.get $0 @@ -2063,7 +2063,7 @@ if i32.const 1168 i32.const 1232 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2177,11 +2177,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5524,11 +5524,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -7016,11 +7016,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8508,11 +8508,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -10072,11 +10072,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11459,11 +11459,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12847,11 +12847,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -14433,11 +14433,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -16018,11 +16018,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -17577,11 +17577,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -19136,11 +19136,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -20697,11 +20697,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -22478,11 +22478,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -22535,7 +22535,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -22792,11 +22792,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -22849,7 +22849,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -23063,11 +23063,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -23120,7 +23120,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -23276,11 +23276,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -23333,7 +23333,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -23529,11 +23529,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -23586,7 +23586,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -23758,11 +23758,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -23815,7 +23815,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -24166,7 +24166,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -24201,7 +24201,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -24287,7 +24287,7 @@ i32.shl local.get $1 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -24354,7 +24354,7 @@ i32.shl local.get $1 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -24399,7 +24399,7 @@ local.tee $4 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -24487,8 +24487,8 @@ local.get $0 return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -24648,7 +24648,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -24682,7 +24682,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -24754,7 +24754,7 @@ local.tee $3 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -24817,7 +24817,7 @@ local.tee $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -24854,7 +24854,7 @@ local.tee $5 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -24942,8 +24942,8 @@ local.get $0 return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -26072,11 +26072,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -26130,7 +26130,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -26239,11 +26239,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -26296,7 +26296,7 @@ local.tee $6 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -26408,11 +26408,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -26473,7 +26473,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -35087,17 +35087,20 @@ i32.sub ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 block $invalid block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return end return end @@ -35150,7 +35153,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35195,7 +35198,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35207,13 +35210,13 @@ local.set $2 local.get $3 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -35351,8 +35354,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -35374,7 +35377,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35419,7 +35422,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35431,13 +35434,13 @@ local.set $2 local.get $3 i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -35575,8 +35578,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -35598,7 +35601,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35643,7 +35646,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35655,13 +35658,13 @@ local.set $2 local.get $3 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -35799,8 +35802,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -35822,7 +35825,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35867,7 +35870,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -35881,7 +35884,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -35889,7 +35892,7 @@ local.get $2 i32.const 1 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -36036,8 +36039,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -36059,7 +36062,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36104,7 +36107,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36118,7 +36121,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -36126,7 +36129,7 @@ local.get $2 i32.const 1 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -36273,8 +36276,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -36296,7 +36299,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36341,7 +36344,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36355,7 +36358,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -36363,7 +36366,7 @@ local.get $2 i32.const 2 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -36510,8 +36513,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -36533,7 +36536,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36578,7 +36581,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36592,7 +36595,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -36600,7 +36603,7 @@ local.get $2 i32.const 2 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -36747,8 +36750,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -36770,7 +36773,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36815,7 +36818,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -36829,7 +36832,7 @@ local.set $2 local.get $5 i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -36837,7 +36840,7 @@ local.get $2 i32.const 3 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -36984,8 +36987,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37007,7 +37010,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -37052,7 +37055,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -37066,7 +37069,7 @@ local.set $2 local.get $5 i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -37074,7 +37077,7 @@ local.get $2 i32.const 3 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -37221,8 +37224,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37244,7 +37247,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -37289,7 +37292,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -37303,7 +37306,7 @@ local.set $2 local.get $5 i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -37311,7 +37314,7 @@ local.get $2 i32.const 2 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -37458,8 +37461,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37481,7 +37484,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -37526,7 +37529,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -37540,7 +37543,7 @@ local.set $2 local.get $5 i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $6 i32.store $0 @@ -37548,7 +37551,7 @@ local.get $2 i32.const 3 i32.shl - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $8 i32.store $0 offset=4 @@ -37695,8 +37698,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37709,11 +37712,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37781,11 +37784,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37853,11 +37856,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37921,11 +37924,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -37990,11 +37993,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -38059,11 +38062,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -38136,11 +38139,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -38420,11 +38423,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -38703,11 +38706,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -38989,11 +38992,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -39275,11 +39278,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -39561,11 +39564,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -39840,11 +39843,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -39876,11 +39879,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -39971,11 +39974,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -40053,7 +40056,7 @@ call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 11312 call $~lib/rt/__newArray local.set $5 @@ -40117,7 +40120,7 @@ end i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 11392 call $~lib/rt/__newArray local.set $0 @@ -40132,7 +40135,7 @@ call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 11424 call $~lib/rt/__newArray local.set $0 @@ -40197,7 +40200,7 @@ end i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 11456 call $~lib/rt/__newArray local.set $0 @@ -40220,7 +40223,7 @@ call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 - i32.const 15 + i32.const 16 i32.const 11488 call $~lib/rt/__newArray local.set $0 @@ -40253,11 +40256,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -40348,11 +40351,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -40430,7 +40433,7 @@ call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11520 call $~lib/rt/__newArray local.set $5 @@ -40494,7 +40497,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11600 call $~lib/rt/__newArray local.set $0 @@ -40509,7 +40512,7 @@ call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11632 call $~lib/rt/__newArray local.set $0 @@ -40574,7 +40577,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11664 call $~lib/rt/__newArray local.set $0 @@ -40597,7 +40600,7 @@ call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11696 call $~lib/rt/__newArray local.set $0 @@ -40630,11 +40633,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -40726,11 +40729,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -40855,7 +40858,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11728 call $~lib/rt/__newArray local.set $0 @@ -40924,7 +40927,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11824 call $~lib/rt/__newArray local.set $0 @@ -40940,7 +40943,7 @@ call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11856 call $~lib/rt/__newArray local.set $0 @@ -41009,7 +41012,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11888 call $~lib/rt/__newArray local.set $0 @@ -41083,7 +41086,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 11920 call $~lib/rt/__newArray local.set $0 @@ -41116,11 +41119,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -41216,11 +41219,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -41298,7 +41301,7 @@ call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 11952 call $~lib/rt/__newArray local.set $5 @@ -41366,7 +41369,7 @@ end i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 12048 call $~lib/rt/__newArray local.set $0 @@ -41381,7 +41384,7 @@ call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 12096 call $~lib/rt/__newArray local.set $0 @@ -41450,7 +41453,7 @@ end i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 12144 call $~lib/rt/__newArray local.set $0 @@ -41473,7 +41476,7 @@ call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 - i32.const 64 + i32.const 65 i32.const 12192 call $~lib/rt/__newArray local.set $0 @@ -41506,11 +41509,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -41606,11 +41609,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -41688,7 +41691,7 @@ call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 12240 call $~lib/rt/__newArray local.set $5 @@ -41756,7 +41759,7 @@ end i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 12336 call $~lib/rt/__newArray local.set $0 @@ -41771,7 +41774,7 @@ call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 12384 call $~lib/rt/__newArray local.set $0 @@ -41840,7 +41843,7 @@ end i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 12432 call $~lib/rt/__newArray local.set $0 @@ -41863,7 +41866,7 @@ call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 10 i32.const 1 - i32.const 65 + i32.const 66 i32.const 12480 call $~lib/rt/__newArray local.set $0 @@ -41896,11 +41899,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -41997,11 +42000,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -42081,7 +42084,7 @@ call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 12528 call $~lib/rt/__newArray local.set $5 @@ -42149,7 +42152,7 @@ end i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 12640 call $~lib/rt/__newArray local.set $0 @@ -42164,7 +42167,7 @@ call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 12704 call $~lib/rt/__newArray local.set $0 @@ -42233,7 +42236,7 @@ end i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 12768 call $~lib/rt/__newArray local.set $0 @@ -42256,7 +42259,7 @@ call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 - i32.const 16 + i32.const 17 i32.const 12832 call $~lib/rt/__newArray local.set $0 @@ -42289,11 +42292,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -42390,11 +42393,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -42474,7 +42477,7 @@ call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 12896 call $~lib/rt/__newArray local.set $5 @@ -42542,7 +42545,7 @@ end i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 13008 call $~lib/rt/__newArray local.set $0 @@ -42557,7 +42560,7 @@ call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 13072 call $~lib/rt/__newArray local.set $0 @@ -42626,7 +42629,7 @@ end i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 13136 call $~lib/rt/__newArray local.set $0 @@ -42649,7 +42652,7 @@ call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 - i32.const 66 + i32.const 67 i32.const 13200 call $~lib/rt/__newArray local.set $0 @@ -42683,11 +42686,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -42783,11 +42786,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -42865,7 +42868,7 @@ call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 13264 call $~lib/rt/__newArray local.set $7 @@ -42933,7 +42936,7 @@ end i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 13424 call $~lib/rt/__newArray local.set $0 @@ -42948,7 +42951,7 @@ call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 13536 call $~lib/rt/__newArray local.set $0 @@ -43017,7 +43020,7 @@ end i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 13648 call $~lib/rt/__newArray local.set $0 @@ -43040,7 +43043,7 @@ call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 - i32.const 67 + i32.const 68 i32.const 13760 call $~lib/rt/__newArray local.set $0 @@ -43074,11 +43077,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -43174,11 +43177,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -43256,7 +43259,7 @@ call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 13872 call $~lib/rt/__newArray local.set $7 @@ -43324,7 +43327,7 @@ end i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 14032 call $~lib/rt/__newArray local.set $0 @@ -43339,7 +43342,7 @@ call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 14144 call $~lib/rt/__newArray local.set $0 @@ -43408,7 +43411,7 @@ end i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 14256 call $~lib/rt/__newArray local.set $0 @@ -43431,7 +43434,7 @@ call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 10 i32.const 3 - i32.const 68 + i32.const 69 i32.const 14368 call $~lib/rt/__newArray local.set $0 @@ -43465,11 +43468,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -43560,11 +43563,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -43701,7 +43704,7 @@ block $folding-inner2 block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -43711,7 +43714,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 49084 + i32.const 49088 i32.sub i32.const 1 i32.shr_u @@ -44142,7 +44145,7 @@ end i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1728 call $~lib/rt/__newArray local.set $2 @@ -44187,7 +44190,7 @@ end i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1808 call $~lib/rt/__newArray local.set $2 @@ -44235,7 +44238,7 @@ end i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1840 call $~lib/rt/__newArray local.set $2 @@ -44277,7 +44280,7 @@ end i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1872 call $~lib/rt/__newArray local.set $2 @@ -44328,7 +44331,7 @@ end i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1904 call $~lib/rt/__newArray local.set $2 @@ -44419,7 +44422,7 @@ end i32.const 3 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1936 call $~lib/rt/__newArray local.set $2 @@ -44440,7 +44443,7 @@ end i32.const 5 i32.const 0 - i32.const 15 + i32.const 16 i32.const 1968 call $~lib/rt/__newArray local.set $2 @@ -44491,7 +44494,7 @@ call $~lib/typedarray/Int32Array#fill i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2000 call $~lib/rt/__newArray local.set $2 @@ -44517,7 +44520,7 @@ call $~lib/typedarray/Int32Array#fill i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2048 call $~lib/rt/__newArray local.set $2 @@ -44543,7 +44546,7 @@ call $~lib/typedarray/Int32Array#fill i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2096 call $~lib/rt/__newArray local.set $2 @@ -44569,7 +44572,7 @@ call $~lib/typedarray/Int32Array#fill i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2144 call $~lib/rt/__newArray local.set $2 @@ -44595,7 +44598,7 @@ call $~lib/typedarray/Int32Array#fill i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2192 call $~lib/rt/__newArray local.set $2 @@ -44669,7 +44672,7 @@ end i32.const 3 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2240 call $~lib/rt/__newArray local.set $2 @@ -44690,7 +44693,7 @@ end i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2272 call $~lib/rt/__newArray local.set $2 @@ -44958,7 +44961,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2320 call $~lib/rt/__newArray local.set $2 @@ -44995,7 +44998,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2368 call $~lib/rt/__newArray local.set $2 @@ -45032,7 +45035,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2416 call $~lib/rt/__newArray local.set $2 @@ -45069,7 +45072,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2464 call $~lib/rt/__newArray local.set $2 @@ -45106,7 +45109,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2512 call $~lib/rt/__newArray local.set $2 @@ -45143,7 +45146,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2560 call $~lib/rt/__newArray local.set $2 @@ -45180,7 +45183,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2608 call $~lib/rt/__newArray local.set $2 @@ -45217,7 +45220,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2656 call $~lib/rt/__newArray local.set $2 @@ -45254,7 +45257,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2704 call $~lib/rt/__newArray local.set $2 @@ -45291,7 +45294,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2752 call $~lib/rt/__newArray local.set $2 @@ -45328,7 +45331,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2800 call $~lib/rt/__newArray local.set $2 @@ -45365,7 +45368,7 @@ i32.store $0 offset=56 i32.const 5 i32.const 2 - i32.const 16 + i32.const 17 i32.const 2848 call $~lib/rt/__newArray local.set $2 @@ -45660,7 +45663,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -45735,7 +45738,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -45814,7 +45817,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -45893,7 +45896,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -45976,7 +45979,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46059,7 +46062,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46140,7 +46143,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46221,7 +46224,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46300,7 +46303,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46381,7 +46384,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46460,7 +46463,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46539,7 +46542,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46590,7 +46593,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46641,7 +46644,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46692,7 +46695,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46743,7 +46746,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46794,7 +46797,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46845,7 +46848,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46896,7 +46899,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46947,7 +46950,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -46998,7 +47001,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47049,7 +47052,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47100,7 +47103,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47179,7 +47182,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47258,7 +47261,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47337,7 +47340,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47420,7 +47423,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47503,7 +47506,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47584,7 +47587,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47665,7 +47668,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47746,7 +47749,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47827,7 +47830,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47908,7 +47911,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -47989,7 +47992,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48026,7 +48029,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48041,13 +48044,13 @@ local.set $4 local.get $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -48131,7 +48134,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48168,7 +48171,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48183,13 +48186,13 @@ local.set $4 local.get $0 i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -48273,7 +48276,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48310,7 +48313,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48325,13 +48328,13 @@ local.set $4 local.get $0 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -48415,7 +48418,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48452,7 +48455,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48469,7 +48472,7 @@ local.set $7 local.get $0 i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -48478,7 +48481,7 @@ i32.const 1 i32.shl local.tee $4 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 @@ -48565,7 +48568,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48602,7 +48605,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48619,7 +48622,7 @@ local.set $7 local.get $0 i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -48628,7 +48631,7 @@ i32.const 1 i32.shl local.tee $4 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 @@ -48715,7 +48718,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48752,7 +48755,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48769,7 +48772,7 @@ local.set $7 local.get $0 i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -48778,7 +48781,7 @@ i32.const 2 i32.shl local.tee $4 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 @@ -48865,7 +48868,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48902,7 +48905,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -48919,7 +48922,7 @@ local.set $7 local.get $0 i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -48928,7 +48931,7 @@ i32.const 2 i32.shl local.tee $4 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 @@ -49015,7 +49018,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49052,7 +49055,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49069,7 +49072,7 @@ local.set $5 local.get $0 i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -49078,7 +49081,7 @@ i32.const 3 i32.shl local.tee $3 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -49165,7 +49168,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49202,7 +49205,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49219,7 +49222,7 @@ local.set $5 local.get $0 i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -49228,7 +49231,7 @@ i32.const 3 i32.shl local.tee $3 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -49315,7 +49318,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49352,7 +49355,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49369,7 +49372,7 @@ local.set $5 local.get $0 i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -49378,7 +49381,7 @@ i32.const 2 i32.shl local.tee $3 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -49465,7 +49468,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49502,7 +49505,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49519,7 +49522,7 @@ local.set $5 local.get $0 i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -49528,7 +49531,7 @@ i32.const 3 i32.shl local.tee $3 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -49624,7 +49627,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49744,7 +49747,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49864,7 +49867,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -49984,7 +49987,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50112,7 +50115,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50240,7 +50243,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50368,7 +50371,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50496,7 +50499,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50624,7 +50627,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50752,7 +50755,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -50880,7 +50883,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51008,7 +51011,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51131,7 +51134,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51254,7 +51257,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51377,7 +51380,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51508,7 +51511,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51639,7 +51642,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51770,7 +51773,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -51901,7 +51904,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52032,7 +52035,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52163,7 +52166,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52294,7 +52297,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52425,7 +52428,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52548,7 +52551,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52671,7 +52674,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52794,7 +52797,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -52925,7 +52928,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53056,7 +53059,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53187,7 +53190,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53318,7 +53321,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53449,7 +53452,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53580,7 +53583,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53711,7 +53714,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53842,7 +53845,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -53964,7 +53967,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54086,7 +54089,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54208,7 +54211,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54338,7 +54341,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54468,7 +54471,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54598,7 +54601,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54728,7 +54731,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54858,7 +54861,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -54988,7 +54991,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55118,7 +55121,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55248,7 +55251,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55346,7 +55349,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55447,7 +55450,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55548,7 +55551,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55650,7 +55653,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55755,7 +55758,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55854,7 +55857,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -55953,7 +55956,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56055,7 +56058,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56157,7 +56160,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56259,7 +56262,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56363,7 +56366,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56492,7 +56495,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56623,7 +56626,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56754,7 +56757,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -56882,7 +56885,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57260,7 +57263,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57317,7 +57320,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57354,7 +57357,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57430,7 +57433,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57506,7 +57509,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57563,7 +57566,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57600,7 +57603,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57657,7 +57660,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57694,7 +57697,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57751,7 +57754,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57788,7 +57791,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57845,7 +57848,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57882,7 +57885,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57939,7 +57942,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -57976,7 +57979,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58033,7 +58036,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58070,7 +58073,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58127,7 +58130,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58164,7 +58167,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58221,7 +58224,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58306,7 +58309,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58373,7 +58376,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58387,7 +58390,7 @@ local.set $1 local.get $0 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -58444,7 +58447,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58546,7 +58549,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58614,7 +58617,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58628,7 +58631,7 @@ local.set $1 local.get $0 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -58687,7 +58690,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58754,7 +58757,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58770,7 +58773,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -58829,7 +58832,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58897,7 +58900,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -58913,7 +58916,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -58972,7 +58975,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59038,7 +59041,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59054,7 +59057,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -59113,7 +59116,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59179,7 +59182,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59195,7 +59198,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -59254,7 +59257,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59321,7 +59324,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59337,7 +59340,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -59396,7 +59399,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59463,7 +59466,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59479,7 +59482,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -59538,7 +59541,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59605,7 +59608,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59621,7 +59624,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -59680,7 +59683,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59747,7 +59750,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59763,7 +59766,7 @@ br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -59829,7 +59832,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -59943,7 +59946,7 @@ end i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 14480 call $~lib/rt/__newArray local.set $0 @@ -59962,7 +59965,7 @@ call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 14592 call $~lib/rt/__newArray local.set $0 @@ -60022,7 +60025,7 @@ end i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 14656 call $~lib/rt/__newArray local.set $0 @@ -60169,7 +60172,7 @@ end i32.const 10 i32.const 2 - i32.const 61 + i32.const 62 i32.const 14720 call $~lib/rt/__newArray local.set $0 @@ -60188,7 +60191,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -60303,7 +60306,7 @@ end i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 14784 call $~lib/rt/__newArray local.set $0 @@ -60364,7 +60367,7 @@ end i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 14944 call $~lib/rt/__newArray local.set $0 @@ -60423,7 +60426,7 @@ end i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 15056 call $~lib/rt/__newArray local.set $0 @@ -60570,7 +60573,7 @@ end i32.const 10 i32.const 3 - i32.const 62 + i32.const 63 i32.const 15168 call $~lib/rt/__newArray local.set $0 @@ -60758,7 +60761,7 @@ end i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 15280 call $~lib/rt/__newArray local.set $0 @@ -60861,7 +60864,7 @@ call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> i32.const 10 i32.const 0 - i32.const 63 + i32.const 64 i32.const 15312 call $~lib/rt/__newArray local.set $0 @@ -60878,7 +60881,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -60914,7 +60917,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61003,7 +61006,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61039,7 +61042,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61128,7 +61131,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61164,7 +61167,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61253,7 +61256,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61289,7 +61292,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61382,7 +61385,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61418,7 +61421,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61511,7 +61514,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61547,7 +61550,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61640,7 +61643,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61676,7 +61679,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61769,7 +61772,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61805,7 +61808,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61898,7 +61901,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -61934,7 +61937,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -62027,7 +62030,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -62063,7 +62066,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -62154,7 +62157,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s br_if $folding-inner23 global.get $~lib/memory/__stack_pointer @@ -62239,7 +62242,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 49084 + i32.const 49088 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -62434,8 +62437,8 @@ call $~lib/builtins/abort unreachable end - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62538,11 +62541,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62556,7 +62559,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -62588,7 +62591,7 @@ local.get $2 i32.shl local.tee $1 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 @@ -62620,11 +62623,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62636,7 +62639,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62660,11 +62663,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62676,7 +62679,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62700,11 +62703,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62716,7 +62719,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62740,11 +62743,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62756,7 +62759,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62780,11 +62783,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62796,7 +62799,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62820,11 +62823,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62836,7 +62839,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62860,11 +62863,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62876,7 +62879,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62900,11 +62903,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62916,7 +62919,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62940,11 +62943,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62956,7 +62959,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -62980,11 +62983,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -62996,7 +62999,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -63020,11 +63023,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63036,7 +63039,7 @@ i32.store $0 local.get $1 i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -63062,11 +63065,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63083,7 +63086,7 @@ local.set $3 local.get $4 i32.const 12 - i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -63175,11 +63178,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63196,7 +63199,7 @@ local.set $3 local.get $4 i32.const 12 - i32.const 13 + i32.const 14 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -63286,11 +63289,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63335,11 +63338,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63353,7 +63356,7 @@ local.get $1 i32.shl local.tee $5 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.set $1 local.get $3 @@ -63402,11 +63405,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63421,7 +63424,7 @@ local.set $3 local.get $4 i32.const 12 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 @@ -63507,11 +63510,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63608,11 +63611,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63627,7 +63630,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -63700,11 +63703,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63719,7 +63722,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -63792,11 +63795,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63813,7 +63816,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -63890,11 +63893,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -63911,7 +63914,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 7 + i32.const 8 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -63988,11 +63991,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64009,7 +64012,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 9 + i32.const 10 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -64086,11 +64089,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64107,7 +64110,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -64184,11 +64187,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64205,7 +64208,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 11 + i32.const 12 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -64282,11 +64285,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64303,7 +64306,7 @@ local.set $2 local.get $3 i32.const 12 - i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -64380,11 +64383,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64466,7 +64469,7 @@ i32.shl local.get $0 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -64497,11 +64500,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64576,7 +64579,7 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -64600,11 +64603,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64673,7 +64676,7 @@ local.tee $2 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -64695,11 +64698,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64756,7 +64759,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -64776,11 +64779,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64802,7 +64805,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -64819,11 +64822,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16316 + i32.const 16320 i32.lt_s if - i32.const 49104 - i32.const 49152 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -64890,7 +64893,7 @@ i32.gt_s select local.tee $2 - i32.const 0 + i32.const 1 call $~lib/rt/itcms/__new local.tee $3 i32.store $0 @@ -64931,7 +64934,7 @@ if i32.const 0 i32.const 1232 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/uri.debug.wat b/tests/compiler/std/uri.debug.wat index b615dd0307..e0a46b0bd5 100644 --- a/tests/compiler/std/uri.debug.wat +++ b/tests/compiler/std/uri.debug.wat @@ -29,77 +29,77 @@ (global $~lib/util/uri/URI_UNSAFE i32 (i32.const 2364)) (global $~lib/util/uri/URI_RESERVED i32 (i32.const 2572)) (global $~lib/rt/__rtti_base i32 (i32.const 3312)) - (global $~lib/memory/__data_end i32 (i32.const 3328)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36096)) - (global $~lib/memory/__heap_base i32 (i32.const 36096)) + (global $~lib/memory/__data_end i32 (i32.const 3332)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36100)) + (global $~lib/memory/__heap_base i32 (i32.const 36100)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 44) "\00\01\01\01\01\01\00\00\00\00\01\01\00\00\01\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 396) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d\00\00\00") + (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 652) "0123456789ABCDEF") - (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00a\00b\00_\00\00\00\00\00\00\00") - (data (i32.const 812) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\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") - (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00%\000\000\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00%\002\00B\00\00\00\00\00\00\00") - (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00#\000\00=\00\00\00\00\00\00\00") - (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00 \001\002\003\00 \00\00\00") - (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00?\00+\00\00\00\00\00\00\00\00\00") - (data (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00%\003\00F\00%\002\00B\00") - (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00-\00?\001\00.\00-\00\00\00") - (data (i32.const 1292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") - (data (i32.const 1372) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E\00\00\00\00\00") - (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6\00\00") - (data (i32.const 1500) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004\00\00\00") - (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00~\00\7f\00\80\00\00\00\00\00\00\00") - (data (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\d8\ff\df\00\00\00\00\00\00\00\00") - (data (i32.const 1724) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F\00\00\00\00\00") - (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc\00\00") - (data (i32.const 1804) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r\00\00\00") - (data (i32.const 1916) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1980) ",\00\00\00\00\00\00\00\00\00\00\00\01\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") - (data (i32.const 2028) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00") - (data (i32.const 2108) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00") - (data (i32.const 2220) "\8c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00") + (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\001\00\00\00\00\00\00\00\00\00") + (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00_\00\00\00\00\00\00\00") + (data (i32.const 812) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\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") + (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\000\000\00\00\00\00\00\00\00") + (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\00B\00\00\00\00\00\00\00") + (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00#\000\00=\00\00\00\00\00\00\00") + (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \001\002\003\00 \00\00\00") + (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00?\00+\00\00\00\00\00\00\00\00\00") + (data (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\003\00F\00%\002\00B\00") + (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\00?\001\00.\00-\00\00\00") + (data (i32.const 1292) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") + (data (i32.const 1372) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E\00\00\00\00\00") + (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6\00\00") + (data (i32.const 1500) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004\00\00\00") + (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00~\00\7f\00\80\00\00\00\00\00\00\00") + (data (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000\00\00\00\00\00\00\00\00\00") + (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\ff\df\00\00\00\00\00\00\00\00") + (data (i32.const 1724) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F\00\00\00\00\00") + (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc\00\00") + (data (i32.const 1804) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r\00\00\00") + (data (i32.const 1916) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1980) ",\00\00\00\00\00\00\00\00\00\00\00\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") + (data (i32.const 2028) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00") + (data (i32.const 2108) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00") + (data (i32.const 2220) "\8c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00") (data (i32.const 2364) "\00\01\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00") - (data (i32.const 2460) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#\00\00\00\00\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00%\002\000\00\00\00\00\00\00\00") + (data (i32.const 2460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#\00\00\00\00\00\00\00") + (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\000\00\00\00\00\00\00\00") (data (i32.const 2572) "\01\01\00\01\00\00\00\00\01\01\00\00\01\00\00\00\00\00\00\00\00\00\00\01\01\00\01\00\01\01") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00%\002\006\00\00\00\00\00\00\00") - (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00%\005\00E\00\00\00\00\00\00\00") - (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\00\d8\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2764) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003\00") - (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\01\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") - (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003\00") - (data (i32.const 2972) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00") - (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00%\00D\00F\00%\008\000\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\c0\07\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\bf\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3276) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\f4\00\b8\00\ef\00\00\00\00\00\00\00") - (data (i32.const 3312) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\006\00\00\00\00\00\00\00") + (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\005\00E\00\00\00\00\00\00\00") + (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\d8\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2764) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003\00") + (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\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") + (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003\00") + (data (i32.const 2972) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00") + (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\00D\00F\00%\008\000\00") + (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\c0\07\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F\00") + (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\bf\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\f4\00\b8\00\ef\00\00\00\00\00\00\00") + (data (i32.const 3312) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -181,7 +181,7 @@ if i32.const 0 i32.const 224 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -251,7 +251,7 @@ if i32.const 0 i32.const 224 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -268,7 +268,7 @@ if i32.const 0 i32.const 224 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -319,7 +319,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -365,7 +365,7 @@ if (result i32) i32.const 0 i32.const 224 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1630,7 +1630,7 @@ if i32.const 0 i32.const 224 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2224,7 +2224,7 @@ if i32.const 160 i32.const 224 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2370,7 +2370,7 @@ i32.shl local.set $outSize local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.set $dst block $while-break|0 @@ -2977,7 +2977,7 @@ local.get $len i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.set $dst block $while-break|0 @@ -3435,6 +3435,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3443,16 +3446,22 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 7062c788e4..567969b665 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -18,138 +18,138 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37120)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37124)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") + (data (i32.const 1048) "\02") (data (i32.const 1069) "\01\01\01\01\01\00\00\00\00\01\01\00\00\01") (data (i32.const 1093) "\01\01\01\01\01\01\01") (data (i32.const 1126) "\01\01\01\01\00\01") (data (i32.const 1158) "\01\01\01") (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1176) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1240) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1356) "<") - (data (i32.const 1368) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1368) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1420) ",") - (data (i32.const 1432) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1432) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1500) "<") - (data (i32.const 1512) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1512) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1564) ",") - (data (i32.const 1576) "\01\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d") + (data (i32.const 1576) "\02\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d") (data (i32.const 1612) "<") - (data (i32.const 1624) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s") + (data (i32.const 1624) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s") (data (i32.const 1676) "0123456789ABCDEF") (data (i32.const 1692) ",") - (data (i32.const 1704) "\01\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s") + (data (i32.const 1704) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s") (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1752) "\02\00\00\00\02\00\00\00a") (data (i32.const 1772) "\1c") - (data (i32.const 1784) "\01\00\00\00\04\00\00\00a\001") + (data (i32.const 1784) "\02\00\00\00\04\00\00\00a\001") (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01\00\00\00\06\00\00\00a\00b\00_") + (data (i32.const 1816) "\02\00\00\00\06\00\00\00a\00b\00_") (data (i32.const 1836) "\\") - (data (i32.const 1848) "\01\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\00y\00z\000\001\002\003\004\005\006\007\008\009\00-\00_\00.\00!\00~\00*\00\'\00(\00)") + (data (i32.const 1848) "\02\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\00y\00z\000\001\002\003\004\005\006\007\008\009\00-\00_\00.\00!\00~\00*\00\'\00(\00)") (data (i32.const 1932) "\1c") - (data (i32.const 1944) "\01\00\00\00\02") + (data (i32.const 1944) "\02\00\00\00\02") (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\01\00\00\00\06\00\00\00%\000\000") + (data (i32.const 1976) "\02\00\00\00\06\00\00\00%\000\000") (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\01\00\00\00\02\00\00\00+") + (data (i32.const 2008) "\02\00\00\00\02\00\00\00+") (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\01\00\00\00\06\00\00\00%\002\00B") + (data (i32.const 2040) "\02\00\00\00\06\00\00\00%\002\00B") (data (i32.const 2060) "\1c") - (data (i32.const 2072) "\01\00\00\00\06\00\00\00#\000\00=") + (data (i32.const 2072) "\02\00\00\00\06\00\00\00#\000\00=") (data (i32.const 2092) ",") - (data (i32.const 2104) "\01\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D") + (data (i32.const 2104) "\02\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D") (data (i32.const 2140) "\1c") - (data (i32.const 2152) "\01\00\00\00\n\00\00\00 \001\002\003\00 ") + (data (i32.const 2152) "\02\00\00\00\n\00\00\00 \001\002\003\00 ") (data (i32.const 2172) ",") - (data (i32.const 2184) "\01\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000") + (data (i32.const 2184) "\02\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000") (data (i32.const 2220) "\1c") - (data (i32.const 2232) "\01\00\00\00\04\00\00\00?\00+") + (data (i32.const 2232) "\02\00\00\00\04\00\00\00?\00+") (data (i32.const 2252) "\1c") - (data (i32.const 2264) "\01\00\00\00\0c\00\00\00%\003\00F\00%\002\00B") + (data (i32.const 2264) "\02\00\00\00\0c\00\00\00%\003\00F\00%\002\00B") (data (i32.const 2284) "\1c") - (data (i32.const 2296) "\01\00\00\00\n\00\00\00-\00?\001\00.\00-") + (data (i32.const 2296) "\02\00\00\00\n\00\00\00-\00?\001\00.\00-") (data (i32.const 2316) ",") - (data (i32.const 2328) "\01\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-") + (data (i32.const 2328) "\02\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-") (data (i32.const 2364) "\1c") - (data (i32.const 2376) "\01\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") + (data (i32.const 2376) "\02\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") (data (i32.const 2396) "\\") - (data (i32.const 2408) "\01\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E") + (data (i32.const 2408) "\02\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E") (data (i32.const 2492) "\1c") - (data (i32.const 2504) "\01\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6") + (data (i32.const 2504) "\02\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6") (data (i32.const 2524) "l") - (data (i32.const 2536) "\01\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004") + (data (i32.const 2536) "\02\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004") (data (i32.const 2636) "\1c") - (data (i32.const 2648) "\01\00\00\00\06\00\00\00~\00\7f\00\80") + (data (i32.const 2648) "\02\00\00\00\06\00\00\00~\00\7f\00\80") (data (i32.const 2668) ",") - (data (i32.const 2680) "\01\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000") + (data (i32.const 2680) "\02\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000") (data (i32.const 2716) "\1c") - (data (i32.const 2728) "\01\00\00\00\04\00\00\00\00\d8\ff\df") + (data (i32.const 2728) "\02\00\00\00\04\00\00\00\00\d8\ff\df") (data (i32.const 2748) ",") - (data (i32.const 2760) "\01\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F") + (data (i32.const 2760) "\02\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F") (data (i32.const 2796) "\1c") - (data (i32.const 2808) "\01\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc") + (data (i32.const 2808) "\02\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc") (data (i32.const 2828) "L") - (data (i32.const 2840) "\01\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002") + (data (i32.const 2840) "\02\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002") (data (i32.const 2908) "\1c") - (data (i32.const 2920) "\01\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r") + (data (i32.const 2920) "\02\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r") (data (i32.const 2940) "<") - (data (i32.const 2952) "\01\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D") + (data (i32.const 2952) "\02\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D") (data (i32.const 3004) ",") - (data (i32.const 3016) "\01\00\00\00\14\00\00\00;\00/\00?\00:\00@\00&\00=\00+\00$\00,") + (data (i32.const 3016) "\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00&\00=\00+\00$\00,") (data (i32.const 3052) "L") - (data (i32.const 3064) "\01\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C") + (data (i32.const 3064) "\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C") (data (i32.const 3132) "l") - (data (i32.const 3144) "\01\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") + (data (i32.const 3144) "\02\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") (data (i32.const 3244) "\8c") - (data (i32.const 3256) "\01\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") + (data (i32.const 3256) "\02\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") (data (i32.const 3389) "\01\00\00\01") (data (i32.const 3415) "\01\00\01") (data (i32.const 3446) "\01\01\01\01\00\01") (data (i32.const 3478) "\01\01\01") (data (i32.const 3484) ",") - (data (i32.const 3496) "\01\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#") + (data (i32.const 3496) "\02\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#") (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\01\00\00\00\02\00\00\00 ") + (data (i32.const 3544) "\02\00\00\00\02\00\00\00 ") (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\01\00\00\00\06\00\00\00%\002\000") + (data (i32.const 3576) "\02\00\00\00\06\00\00\00%\002\000") (data (i32.const 3596) "\01\01\00\01\00\00\00\00\01\01\00\00\01") (data (i32.const 3619) "\01\01\00\01\00\01\01") (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\01\00\00\00\06\00\00\00%\002\006") + (data (i32.const 3640) "\02\00\00\00\06\00\00\00%\002\006") (data (i32.const 3660) "\1c") - (data (i32.const 3672) "\01\00\00\00\02\00\00\00&") + (data (i32.const 3672) "\02\00\00\00\02\00\00\00&") (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\01\00\00\00\06\00\00\00%\005\00E") + (data (i32.const 3704) "\02\00\00\00\06\00\00\00%\005\00E") (data (i32.const 3724) "\1c") - (data (i32.const 3736) "\01\00\00\00\02\00\00\00^") + (data (i32.const 3736) "\02\00\00\00\02\00\00\00^") (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\01\00\00\00\02\00\00\00\00\d8") + (data (i32.const 3768) "\02\00\00\00\02\00\00\00\00\d8") (data (i32.const 3788) "L") - (data (i32.const 3800) "\01\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003") + (data (i32.const 3800) "\02\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003") (data (i32.const 3868) ",") - (data (i32.const 3880) "\01\00\00\00\14\00\00\00;\00/\00?\00:\00@\00=\00+\00$\00,\00#") + (data (i32.const 3880) "\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00=\00+\00$\00,\00#") (data (i32.const 3916) "L") - (data (i32.const 3928) "\01\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003") + (data (i32.const 3928) "\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003") (data (i32.const 3996) "|") - (data (i32.const 4008) "\01\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") + (data (i32.const 4008) "\02\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") (data (i32.const 4124) "\1c") - (data (i32.const 4136) "\01\00\00\00\0c\00\00\00%\00D\00F\00%\008\000") + (data (i32.const 4136) "\02\00\00\00\0c\00\00\00%\00D\00F\00%\008\000") (data (i32.const 4156) "\1c") - (data (i32.const 4168) "\01\00\00\00\02\00\00\00\c0\07") + (data (i32.const 4168) "\02\00\00\00\02\00\00\00\c0\07") (data (i32.const 4188) "\1c") - (data (i32.const 4200) "\01\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F") + (data (i32.const 4200) "\02\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F") (data (i32.const 4220) "\1c") - (data (i32.const 4232) "\01\00\00\00\02\00\00\00\bf") + (data (i32.const 4232) "\02\00\00\00\02\00\00\00\bf") (data (i32.const 4252) ",") - (data (i32.const 4264) "\01\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V") + (data (i32.const 4264) "\02\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V") (data (i32.const 4300) "\1c") - (data (i32.const 4312) "\01\00\00\00\06\00\00\00\f4\00\b8\00\ef") - (data (i32.const 4336) "\03\00\00\00 \00\00\00 ") + (data (i32.const 4312) "\02\00\00\00\06\00\00\00\f4\00\b8\00\ef") + (data (i32.const 4336) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -181,7 +181,7 @@ if i32.const 0 i32.const 1248 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -730,10 +730,10 @@ if unreachable end - i32.const 37120 + i32.const 37136 i32.const 0 i32.store $0 - i32.const 38688 + i32.const 38704 i32.const 0 i32.store $0 loop $for-loop|0 @@ -744,7 +744,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 37120 + i32.const 37136 i32.add i32.const 0 i32.store $0 offset=4 @@ -762,7 +762,7 @@ i32.add i32.const 2 i32.shl - i32.const 37120 + i32.const 37136 i32.add i32.const 0 i32.store $0 offset=96 @@ -780,13 +780,13 @@ br $for-loop|0 end end - i32.const 37120 - i32.const 38692 + i32.const 37136 + i32.const 38708 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 37120 + i32.const 37136 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -871,7 +871,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 37120 + i32.const 37124 i32.lt_u if local.get $0 @@ -965,13 +965,13 @@ if i32.const 0 i32.const 1248 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 37120 + i32.const 37124 i32.lt_u if local.get $0 @@ -994,7 +994,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 37120 + i32.const 37124 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1194,7 +1194,7 @@ if i32.const 1184 i32.const 1248 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1544,7 +1544,7 @@ i32.const 1 i32.shl local.tee $8 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.set $3 loop $while-continue|0 @@ -2110,7 +2110,7 @@ local.get $1 i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.set $8 loop $while-continue|0 @@ -2562,11 +2562,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -2593,7 +2596,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4352 + i32.const 4356 i32.lt_s if i32.const 37152 @@ -2613,7 +2616,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 37120 + i32.const 37124 i32.sub i32.const 1 i32.shr_u @@ -4092,7 +4095,7 @@ call $~lib/builtins/abort unreachable end - i32.const 37120 + i32.const 37124 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -4157,7 +4160,7 @@ if i32.const 0 i32.const 1248 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -4177,14 +4180,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 37120 + i32.const 37124 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1248 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -4198,7 +4201,7 @@ if i32.const 0 i32.const 1248 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -4220,7 +4223,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/super-inline.debug.wat b/tests/compiler/super-inline.debug.wat index d47c2ef127..09627911ce 100644 --- a/tests/compiler/super-inline.debug.wat +++ b/tests/compiler/super-inline.debug.wat @@ -26,19 +26,19 @@ (global $super-inline/foo (mut i32) (i32.const 0)) (global $super-inline/bar (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 416)) - (global $~lib/memory/__data_end i32 (i32.const 440)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) - (global $~lib/memory/__heap_base i32 (i32.const 33208)) + (global $~lib/memory/__data_end i32 (i32.const 444)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) + (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 416) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -108,7 +108,7 @@ if i32.const 0 i32.const 96 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -178,7 +178,7 @@ if i32.const 0 i32.const 96 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -195,7 +195,7 @@ if i32.const 0 i32.const 96 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -246,7 +246,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -292,7 +292,7 @@ if (result i32) i32.const 0 i32.const 96 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1557,7 +1557,7 @@ if i32.const 0 i32.const 96 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2151,7 +2151,7 @@ if i32.const 32 i32.const 96 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2213,7 +2213,7 @@ i32.load $0 local.set $1 local.get $1 - i32.const 4 + i32.const 5 i32.eq br_if $case0 br $default @@ -2251,6 +2251,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2259,6 +2262,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $super-inline/Bar @@ -2266,11 +2272,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $super-inline/Foo $super-inline/Bar $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $super-inline/Foo $super-inline/Bar $invalid + end + return end return end @@ -2357,6 +2366,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $super-inline/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2372,11 +2409,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2400,7 +2442,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index af88b21be6..6db6a7350b 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -19,19 +19,19 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $super-inline/foo (mut i32) (i32.const 0)) (global $super-inline/bar (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34236)) (memory $0 1) (data (i32.const 1036) "<") - (data (i32.const 1048) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1228) "<") - (data (i32.const 1240) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -73,7 +73,7 @@ if i32.const 0 i32.const 1120 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -763,7 +763,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34232 + i32.const 34236 i32.lt_u if local.get $0 @@ -857,13 +857,13 @@ if i32.const 0 i32.const 1120 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34232 + i32.const 34236 i32.lt_u if local.get $0 @@ -886,7 +886,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34232 + i32.const 34236 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1245,11 +1245,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $super-inline/Foo $super-inline/Bar $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $super-inline/Foo $super-inline/Bar $invalid + end + return end return end @@ -1278,7 +1281,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1464 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1287,7 +1290,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34232 + i32.const 34236 i32.sub i32.const 1 i32.shr_u @@ -1328,7 +1331,7 @@ i32.const 8 i32.sub i32.load $0 - i32.const 4 + i32.const 5 i32.eq br_if $__inlined_func$super-inline/Foo#a@override end @@ -1337,7 +1340,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1464 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1345,7 +1348,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -1377,38 +1380,69 @@ unreachable ) (func $super-inline/Foo#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1464 - i32.lt_s - if - i32.const 34256 - i32.const 34304 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if + block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34256 + i32.const 34304 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1435,7 +1469,7 @@ if i32.const 0 i32.const 1120 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1455,14 +1489,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34232 + i32.const 34236 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1120 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1476,7 +1510,7 @@ if i32.const 0 i32.const 1120 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1498,7 +1532,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/switch.debug.wat b/tests/compiler/switch.debug.wat index 0c78a4ef54..335561c89e 100644 --- a/tests/compiler/switch.debug.wat +++ b/tests/compiler/switch.debug.wat @@ -7,7 +7,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/switch.release.wat b/tests/compiler/switch.release.wat index f39cac4ed5..a9b8016d80 100644 --- a/tests/compiler/switch.release.wat +++ b/tests/compiler/switch.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/tablebase.debug.wat b/tests/compiler/tablebase.debug.wat index 0f1211b487..2b571ae006 100644 --- a/tests/compiler/tablebase.debug.wat +++ b/tests/compiler/tablebase.debug.wat @@ -9,8 +9,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s\00\00\00\00\00") (table $0 33 33 funcref) (elem $0 (i32.const 32) $tablebase/foo) (export "memory" (memory $0)) diff --git a/tests/compiler/tablebase.release.wat b/tests/compiler/tablebase.release.wat index 92f143e34d..562e67423f 100644 --- a/tests/compiler/tablebase.release.wat +++ b/tests/compiler/tablebase.release.wat @@ -5,9 +5,9 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33884)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\03\00\00\00\08\00\00\00 ") + (data (i32.const 1048) "\04\00\00\00\08\00\00\00 ") (data (i32.const 1068) ",") - (data (i32.const 1080) "\01\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start (type $none_=>_none) diff --git a/tests/compiler/templateliteral.debug.wat b/tests/compiler/templateliteral.debug.wat index 4e726a270d..d68dc809ce 100644 --- a/tests/compiler/templateliteral.debug.wat +++ b/tests/compiler/templateliteral.debug.wat @@ -39,69 +39,69 @@ (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 4640)) - (global $~lib/memory/__data_end i32 (i32.const 4668)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37436)) - (global $~lib/memory/__heap_base i32 (i32.const 37436)) + (global $~lib/memory/__data_end i32 (i32.const 4672)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37440)) + (global $~lib/memory/__heap_base i32 (i32.const 37440)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00t\00e\00m\00p\00l\00a\00t\00e\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00t\00e\00m\00p\00l\00a\00t\00e\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 428) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00(\00A\00=\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00,\00 \00B\00=\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) ",\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\14\00\00\00p\02\00\00\00\00\00\00\90\02\00\00\00\00\00\00\b0\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00(\00A\00=\00a\00,\00 \00B\00=\00b\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00(\00A\00=\00\00\00\00\00\00\00") + (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00,\00 \00B\00=\00\00\00\00\00") + (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 700) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\02\00\00\00\00\00\00\90\02\00\00\00\00\00\00\b0\02\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 748) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00(\00A\00=\00a\00,\00 \00B\00=\00b\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 796) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 1020) "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\00") - (data (i32.const 1420) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2636) ",\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\14\00\00\00p\02\00\00\00\00\00\00\90\02\00\00\00\00\00\00\b0\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00(\00A\00=\001\00,\00 \00B\00=\002\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 2764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 2796) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1420) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2476) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00\00\00") + (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") + (data (i32.const 2636) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\02\00\00\00\00\00\00\90\02\00\00\00\00\00\00\b0\02\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00(\00A\00=\001\00,\00 \00B\00=\002\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 2764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 2796) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2896) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 2952) "\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_\rXf\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_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -4355,6 +4358,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) @@ -4396,6 +4402,9 @@ end ) (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__visit @@ -4403,6 +4412,9 @@ (func $templateliteral/RecursiveObject~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -4427,11 +4439,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray<~lib/string/String> $templateliteral/Ref $templateliteral/RecursiveObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray<~lib/string/String> $templateliteral/Ref $templateliteral/RecursiveObject $invalid + end + return end return end @@ -4470,8 +4485,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 37456 - i32.const 37504 + i32.const 37472 + i32.const 37520 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5516,7 +5531,7 @@ end global.get $~lib/memory/__stack_pointer local.get $outSize - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -5652,7 +5667,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 offset=8 @@ -5831,7 +5846,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -5871,7 +5886,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -5906,7 +5921,7 @@ i32.shl local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 @@ -6001,7 +6016,7 @@ local.set $size global.get $~lib/memory/__stack_pointer local.get $size - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 @@ -6032,7 +6047,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -6063,7 +6078,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index 4bfd72cb04..53f49e799b 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -27,107 +27,107 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 38460)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 38464)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\02\00\00\00b") + (data (i32.const 1080) "\02\00\00\00\02\00\00\00b") (data (i32.const 1100) "<") - (data (i32.const 1112) "\01\00\00\00$\00\00\00t\00e\00m\00p\00l\00a\00t\00e\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") + (data (i32.const 1112) "\02\00\00\00$\00\00\00t\00e\00m\00p\00l\00a\00t\00e\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\01") + (data (i32.const 1176) "\02") (data (i32.const 1196) "<") - (data (i32.const 1208) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1208) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1260) "<") - (data (i32.const 1272) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1272) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1388) "<") - (data (i32.const 1400) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1400) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1452) ",") - (data (i32.const 1464) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1464) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1532) "<") - (data (i32.const 1544) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1544) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 1608) "\02\00\00\00\04\00\00\00a\00b") (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\01\00\00\00\06\00\00\00(\00A\00=") + (data (i32.const 1640) "\02\00\00\00\06\00\00\00(\00A\00=") (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\01\00\00\00\08\00\00\00,\00 \00B\00=") + (data (i32.const 1672) "\02\00\00\00\08\00\00\00,\00 \00B\00=") (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\01\00\00\00\02\00\00\00)") - (data (i32.const 1724) ",\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\14\00\00\00p\06\00\00\00\00\00\00\90\06\00\00\00\00\00\00\b0\06") + (data (i32.const 1704) "\02\00\00\00\02\00\00\00)") + (data (i32.const 1724) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\06\00\00\00\00\00\00\90\06\00\00\00\00\00\00\b0\06") (data (i32.const 1772) ",") - (data (i32.const 1784) "\01\00\00\00\14\00\00\00(\00A\00=\00a\00,\00 \00B\00=\00b\00)") + (data (i32.const 1784) "\02\00\00\00\14\00\00\00(\00A\00=\00a\00,\00 \00B\00=\00b\00)") (data (i32.const 1820) "|") - (data (i32.const 1832) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 1832) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") (data (i32.const 1948) "<") - (data (i32.const 1960) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 1960) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") (data (i32.const 2012) "\1c") - (data (i32.const 2024) "\01\00\00\00\02\00\00\000") + (data (i32.const 2024) "\02\00\00\00\02\00\00\000") (data (i32.const 2044) "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 2444) "\1c\04") - (data (i32.const 2456) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 2456) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") (data (i32.const 3500) "\\") - (data (i32.const 3512) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data (i32.const 3512) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\01\00\00\00\02\00\00\001") + (data (i32.const 3608) "\02\00\00\00\02\00\00\001") (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\01\00\00\00\04\00\00\001\002") - (data (i32.const 3660) ",\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\14\00\00\00p\06\00\00\00\00\00\00\90\06\00\00\00\00\00\00\b0\06") + (data (i32.const 3640) "\02\00\00\00\04\00\00\001\002") + (data (i32.const 3660) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\06\00\00\00\00\00\00\90\06\00\00\00\00\00\00\b0\06") (data (i32.const 3708) ",") - (data (i32.const 3720) "\01\00\00\00\14\00\00\00(\00A\00=\001\00,\00 \00B\00=\002\00)") + (data (i32.const 3720) "\02\00\00\00\14\00\00\00(\00A\00=\001\00,\00 \00B\00=\002\00)") (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 3768) "\02\00\00\00\06\00\00\000\00.\000") (data (i32.const 3788) "\1c") - (data (i32.const 3800) "\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 3800) "\02\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 3820) ",") - (data (i32.const 3832) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 3832) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3868) ",") - (data (i32.const 3880) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 3880) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3976) "\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_\rXf\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_i32) (param $0 i32) (param $1 i32) (result i32) @@ -278,7 +278,7 @@ if i32.const 0 i32.const 1280 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -311,7 +311,7 @@ if i32.const 0 i32.const 1280 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -331,14 +331,14 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 38460 + i32.const 38464 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1280 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -352,7 +352,7 @@ if i32.const 0 i32.const 1280 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -374,7 +374,7 @@ local.get $0 i32.load $0 offset=12 local.tee $1 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -1100,7 +1100,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 38460 + i32.const 38464 i32.lt_u if local.get $0 @@ -1194,13 +1194,13 @@ if i32.const 0 i32.const 1280 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 38460 + i32.const 38464 i32.lt_u if local.get $0 @@ -1223,7 +1223,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 38460 + i32.const 38464 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1423,7 +1423,7 @@ if i32.const 1216 i32.const 1280 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -1846,11 +1846,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1934,7 +1934,7 @@ i32.shl local.get $1 i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 @@ -2995,11 +2995,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3059,7 +3059,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -3082,7 +3082,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 38460 + i32.const 38464 i32.sub i32.const 1 i32.shr_u @@ -3117,7 +3117,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3223,7 +3223,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3349,7 +3349,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3476,7 +3476,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3613,7 +3613,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3675,8 +3675,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3692,11 +3692,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray<~lib/string/String> $templateliteral/Ref $templateliteral/RecursiveObject $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray<~lib/string/String> $templateliteral/Ref $templateliteral/RecursiveObject $invalid + end + return end return end @@ -3776,11 +3779,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3983,11 +3986,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4025,11 +4028,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4111,11 +4114,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4151,7 +4154,7 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $4 i32.store $0 @@ -4182,11 +4185,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4279,7 +4282,7 @@ i32.add i32.const 1 i32.shl - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new local.tee $5 i32.store $0 offset=8 @@ -4384,11 +4387,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4400,7 +4403,7 @@ i32.store $0 local.get $1 i32.const 4 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 @@ -4420,11 +4423,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5692 + i32.const 5696 i32.lt_s if - i32.const 38480 - i32.const 38528 + i32.const 38496 + i32.const 38544 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4436,7 +4439,7 @@ i32.store $0 local.get $2 i32.const 8 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 @@ -4492,7 +4495,7 @@ if i32.const 0 i32.const 1280 - i32.const 294 + i32.const 295 i32.const 14 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/ternary.debug.wat b/tests/compiler/ternary.debug.wat index 0ea026eeee..6b7c32a486 100644 --- a/tests/compiler/ternary.debug.wat +++ b/tests/compiler/ternary.debug.wat @@ -11,7 +11,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "test" (func $ternary/test)) diff --git a/tests/compiler/ternary.release.wat b/tests/compiler/ternary.release.wat index 8beb335966..1c864b0699 100644 --- a/tests/compiler/ternary.release.wat +++ b/tests/compiler/ternary.release.wat @@ -8,7 +8,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33836)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\02\00\00\00a") + (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") (table $0 1 1 funcref) (export "test" (func $ternary/test)) (export "testDropWithTypeMismatch" (func $ternary/testDropWithTypeMismatch)) diff --git a/tests/compiler/throw.debug.wat b/tests/compiler/throw.debug.wat index 2c9a413604..432aab49ab 100644 --- a/tests/compiler/throw.debug.wat +++ b/tests/compiler/throw.debug.wat @@ -1,6 +1,6 @@ (module - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -23,27 +23,27 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 704)) - (global $~lib/memory/__data_end i32 (i32.const 720)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33488)) - (global $~lib/memory/__heap_base i32 (i32.const 33488)) + (global $~lib/memory/__data_end i32 (i32.const 724)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33492)) + (global $~lib/memory/__heap_base i32 (i32.const 33492)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\002\003\004\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\003\004\005\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p\00\00\00") - (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\004\005\006\00\00\00\00\00\00\00") - (data (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\005\006\007\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\002\003\004\00\00\00\00\00\00\00") + (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\003\004\005\00\00\00\00\00\00\00") + (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p\00\00\00") + (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\004\005\006\00\00\00\00\00\00\00") + (data (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\006\007\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 560) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 704) "\03\00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 704) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "doThrow" (func $throw/doThrow)) @@ -223,7 +223,7 @@ if i32.const 0 i32.const 368 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -293,7 +293,7 @@ if i32.const 0 i32.const 368 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -310,7 +310,7 @@ if i32.const 0 i32.const 368 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -361,7 +361,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -407,7 +407,7 @@ if (result i32) i32.const 0 i32.const 368 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1672,7 +1672,7 @@ if i32.const 0 i32.const 368 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -1800,6 +1800,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -1808,16 +1811,22 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end diff --git a/tests/compiler/throw.release.wat b/tests/compiler/throw.release.wat index 3e159c3fd1..dfb7f56970 100644 --- a/tests/compiler/throw.release.wat +++ b/tests/compiler/throw.release.wat @@ -13,35 +13,35 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34512)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34516)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\06\00\00\001\002\003") + (data (i32.const 1048) "\02\00\00\00\06\00\00\001\002\003") (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\01\00\00\00\06\00\00\002\003\004") + (data (i32.const 1080) "\02\00\00\00\06\00\00\002\003\004") (data (i32.const 1100) ",") - (data (i32.const 1112) "\01\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f") + (data (i32.const 1112) "\02\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f") (data (i32.const 1148) ",") - (data (i32.const 1160) "\01\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s") (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\01\00\00\00\06\00\00\003\004\005") + (data (i32.const 1208) "\02\00\00\00\06\00\00\003\004\005") (data (i32.const 1228) ",") - (data (i32.const 1240) "\01\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p") + (data (i32.const 1240) "\02\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p") (data (i32.const 1276) "\1c") - (data (i32.const 1288) "\01\00\00\00\06\00\00\004\005\006") + (data (i32.const 1288) "\02\00\00\00\06\00\00\004\005\006") (data (i32.const 1308) "\1c") - (data (i32.const 1320) "\01\00\00\00\06\00\00\005\006\007") + (data (i32.const 1320) "\02\00\00\00\06\00\00\005\006\007") (data (i32.const 1372) "<") - (data (i32.const 1384) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1384) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1468) "<") - (data (i32.const 1480) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1480) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1532) ",") - (data (i32.const 1544) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1544) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1612) "<") - (data (i32.const 1624) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1624) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1676) ",") - (data (i32.const 1688) "\01\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w") - (data (i32.const 1728) "\03\00\00\00 \00\00\00 ") + (data (i32.const 1688) "\02\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w") + (data (i32.const 1728) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "doThrow" (func $throw/doThrow)) (export "memory" (memory $0)) (start $~start) @@ -70,7 +70,7 @@ if i32.const 0 i32.const 1392 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -568,7 +568,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if local.get $0 @@ -661,13 +661,13 @@ if i32.const 0 i32.const 1392 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34512 + i32.const 34516 i32.lt_u if local.get $0 @@ -690,7 +690,7 @@ i32.const 4 i32.add local.tee $2 - i32.const 34512 + i32.const 34516 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -713,10 +713,10 @@ if unreachable end - i32.const 34512 + i32.const 34528 i32.const 0 i32.store $0 - i32.const 36080 + i32.const 36096 i32.const 0 i32.store $0 loop $for-loop|0 @@ -727,7 +727,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 34512 + i32.const 34528 i32.add i32.const 0 i32.store $0 offset=4 @@ -745,7 +745,7 @@ i32.add i32.const 2 i32.shl - i32.const 34512 + i32.const 34528 i32.add i32.const 0 i32.store $0 offset=96 @@ -767,7 +767,7 @@ i32.const 16 i32.shl local.tee $3 - i32.const 36084 + i32.const 36100 i32.lt_u if i32.const 0 @@ -777,16 +777,16 @@ call $~lib/builtins/abort unreachable end - i32.const 36092 + i32.const 36108 local.set $1 - i32.const 36080 + i32.const 36096 i32.load $0 local.tee $0 if (result i32) local.get $0 i32.const 4 i32.add - i32.const 36092 + i32.const 36108 i32.gt_u if i32.const 0 @@ -797,10 +797,10 @@ unreachable end local.get $0 - i32.const 36076 + i32.const 36092 i32.eq if (result i32) - i32.const 36076 + i32.const 36092 local.set $1 local.get $0 i32.load $0 @@ -846,14 +846,14 @@ local.tee $0 i32.const 2 i32.store $0 - i32.const 36080 + i32.const 36096 local.get $0 i32.store $0 - i32.const 34512 + i32.const 34528 local.get $1 call $~lib/rt/tlsf/insertBlock end - i32.const 34512 + i32.const 34528 global.set $~lib/rt/tlsf/ROOT end global.get $~lib/rt/tlsf/ROOT @@ -915,7 +915,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s if i32.const 34544 @@ -944,11 +944,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -975,7 +978,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1000,7 +1003,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1744 + i32.const 1748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1131,7 +1134,7 @@ if i32.const 0 i32.const 1392 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1151,14 +1154,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34512 + i32.const 34516 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1392 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1172,7 +1175,7 @@ if i32.const 0 i32.const 1392 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1194,7 +1197,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/typeof.debug.wat b/tests/compiler/typeof.debug.wat index a27ea4389d..107e55ed6b 100644 --- a/tests/compiler/typeof.debug.wat +++ b/tests/compiler/typeof.debug.wat @@ -35,29 +35,29 @@ (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $typeof/c (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 768)) - (global $~lib/memory/__data_end i32 (i32.const 792)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33560)) - (global $~lib/memory/__heap_base i32 (i32.const 33560)) + (global $~lib/memory/__data_end i32 (i32.const 796)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33564)) + (global $~lib/memory/__heap_base i32 (i32.const 33564)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 220) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t\00") + (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") + (data (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\05\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 768) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:typeof~anonymous|0) (export "memory" (memory $0)) @@ -290,7 +290,7 @@ if i32.const 0 i32.const 400 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -360,7 +360,7 @@ if i32.const 0 i32.const 400 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -377,7 +377,7 @@ if i32.const 0 i32.const 400 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -428,7 +428,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -474,7 +474,7 @@ if (result i32) i32.const 0 i32.const 400 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1739,7 +1739,7 @@ if i32.const 0 i32.const 400 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2333,7 +2333,7 @@ if i32.const 336 i32.const 400 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -2402,6 +2402,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -2410,6 +2413,9 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/function/Function<%28%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2421,6 +2427,9 @@ call $~lib/rt/itcms/__visit ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit local.get $0 local.get $1 call $~lib/function/Function<%28%29=>void>#__visit @@ -2432,11 +2441,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $typeof/SomeClass $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $typeof/SomeClass $invalid + end + return end return end @@ -3073,6 +3085,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $typeof/SomeClass#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3088,11 +3128,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index 60ebc3c84a..27a30c8add 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -1,12 +1,12 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -19,39 +19,39 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $typeof/c (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34584)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34588)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") + (data (i32.const 1048) "\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") (data (i32.const 1068) ",") - (data (i32.const 1080) "\01\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s") + (data (i32.const 1080) "\02\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s") (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\01\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t") + (data (i32.const 1128) "\02\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t") (data (i32.const 1148) ",") - (data (i32.const 1160) "\01\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") + (data (i32.const 1160) "\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") (data (i32.const 1196) ",") - (data (i32.const 1208) "\01\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n") + (data (i32.const 1208) "\02\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n") (data (i32.const 1244) "\1c") - (data (i32.const 1256) "\01\00\00\00\02\00\00\001") + (data (i32.const 1256) "\02\00\00\00\02\00\00\001") (data (i32.const 1276) "\1c") - (data (i32.const 1288) "\01\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") + (data (i32.const 1288) "\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") (data (i32.const 1308) "\1c") - (data (i32.const 1320) "\03\00\00\00\08\00\00\00\01") + (data (i32.const 1320) "\04\00\00\00\08\00\00\00\01") (data (i32.const 1340) "<") - (data (i32.const 1352) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1352) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1404) "<") - (data (i32.const 1416) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1532) "<") - (data (i32.const 1544) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1544) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1596) ",") - (data (i32.const 1608) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1676) "<") - (data (i32.const 1688) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1740) ",") - (data (i32.const 1752) "\01\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d") - (data (i32.const 1792) "\05\00\00\00 \00\00\00 ") - (data (i32.const 1812) " ") + (data (i32.const 1752) "\02\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d") + (data (i32.const 1792) "\06\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1816) " ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) @@ -206,7 +206,7 @@ if i32.const 0 i32.const 1424 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -896,7 +896,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34584 + i32.const 34588 i32.lt_u if local.get $0 @@ -990,13 +990,13 @@ if i32.const 0 i32.const 1424 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34584 + i32.const 34588 i32.lt_u if local.get $0 @@ -1019,7 +1019,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34584 + i32.const 34588 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1138,23 +1138,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1170,14 +1170,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1194,17 +1194,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1217,16 +1217,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1234,17 +1234,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1255,7 +1255,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1269,92 +1269,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 4 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1362,7 +1362,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1378,11 +1378,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $typeof/SomeClass $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $typeof/SomeClass $invalid + end + return end return end @@ -1421,13 +1424,14 @@ ) (func $start:typeof (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1816 + i32.const 1820 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1797,7 +1801,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34584 + i32.const 34588 i32.sub i32.const 1 i32.shr_u @@ -1831,7 +1835,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1816 + i32.const 1820 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1839,10 +1843,39 @@ i32.const 0 i32.store $0 local.get $0 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1820 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1980,7 +2013,7 @@ if i32.const 0 i32.const 1424 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2000,14 +2033,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34584 + i32.const 34588 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1424 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -2021,7 +2054,7 @@ if i32.const 0 i32.const 1424 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -2043,7 +2076,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 diff --git a/tests/compiler/while.debug.wat b/tests/compiler/while.debug.wat index 966a40b07c..41405a0dc2 100644 --- a/tests/compiler/while.debug.wat +++ b/tests/compiler/while.debug.wat @@ -25,20 +25,20 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) - (global $~lib/memory/__data_end i32 (i32.const 484)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33252)) - (global $~lib/memory/__heap_base i32 (i32.const 33252)) + (global $~lib/memory/__data_end i32 (i32.const 488)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) + (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -563,7 +563,7 @@ if i32.const 0 i32.const 144 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -633,7 +633,7 @@ if i32.const 0 i32.const 144 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -650,7 +650,7 @@ if i32.const 0 i32.const 144 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -701,7 +701,7 @@ call $~lib/rt/itcms/Object#get:rtId local.set $rtId local.get $rtId - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1 @@ -747,7 +747,7 @@ if (result i32) i32.const 0 i32.const 144 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -2012,7 +2012,7 @@ if i32.const 0 i32.const 144 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable @@ -2606,7 +2606,7 @@ if i32.const 80 i32.const 144 - i32.const 260 + i32.const 261 i32.const 31 call $~lib/builtins/abort unreachable @@ -3166,6 +3166,9 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 i32.load $0 local.tee $2 if @@ -3174,17 +3177,23 @@ call $~lib/rt/itcms/__visit end ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) block $invalid block $while/Ref block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $while/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $while/Ref $invalid + end + return end return end @@ -3215,6 +3224,34 @@ unreachable end ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $while/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3230,11 +3267,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 0ab645d8fc..f9935f9939 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -1,11 +1,11 @@ (module (type $none_=>_none (func_subtype func)) - (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -17,21 +17,21 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34276)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") + (data (i32.const 1048) "\02\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") (data (i32.const 1084) "<") - (data (i32.const 1096) "\01\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") (data (i32.const 1148) "<") - (data (i32.const 1160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") (data (i32.const 1276) "<") - (data (i32.const 1288) "\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (data (i32.const 1340) ",") - (data (i32.const 1352) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1420) "<") - (data (i32.const 1432) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\04\00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -61,7 +61,7 @@ if i32.const 0 i32.const 1168 - i32.const 159 + i32.const 160 i32.const 16 call $~lib/builtins/abort unreachable @@ -751,7 +751,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -845,13 +845,13 @@ if i32.const 0 i32.const 1168 - i32.const 228 + i32.const 229 i32.const 20 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 34276 + i32.const 34280 i32.lt_u if local.get $0 @@ -874,7 +874,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34276 + i32.const 34280 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -993,23 +993,23 @@ end end ) - (func $~lib/rt/itcms/__new (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/rt/itcms/__new (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.ge_u if block $__inlined_func$~lib/rt/itcms/interrupt i32.const 2048 - local.set $0 + local.set $1 loop $do-loop|0 - local.get $0 + local.get $1 call $~lib/rt/itcms/step i32.sub - local.set $0 + local.set $1 global.get $~lib/rt/itcms/state i32.eqz if @@ -1025,14 +1025,14 @@ global.set $~lib/rt/itcms/threshold br $__inlined_func$~lib/rt/itcms/interrupt end - local.get $0 + local.get $1 i32.const 0 i32.gt_s br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1049,17 +1049,17 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.tee $1 + local.tee $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if memory.size $0 - local.tee $0 + local.tee $1 i32.const 4 - local.get $1 + local.get $2 i32.load $0 offset=1568 - local.get $0 + local.get $1 i32.const 16 i32.shl i32.const 4 @@ -1072,16 +1072,16 @@ i32.and i32.const 16 i32.shr_u - local.tee $2 - local.get $0 - local.get $2 + local.tee $3 + local.get $1 + local.get $3 i32.gt_s select memory.grow $0 i32.const 0 i32.lt_s if - local.get $2 + local.get $3 memory.grow $0 i32.const 0 i32.lt_s @@ -1089,17 +1089,17 @@ unreachable end end + local.get $2 local.get $1 - local.get $0 i32.const 16 i32.shl memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - local.get $1 + local.get $2 call $~lib/rt/tlsf/searchBlock - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -1110,7 +1110,7 @@ unreachable end end - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1124,92 +1124,92 @@ call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - local.get $0 call $~lib/rt/tlsf/removeBlock - local.get $0 + local.get $1 i32.load $0 - local.tee $2 + local.tee $3 i32.const -4 i32.and i32.const 28 i32.sub - local.tee $3 + local.tee $4 i32.const 16 i32.ge_u if - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 2 i32.and i32.const 28 i32.or i32.store $0 - local.get $0 + local.get $1 i32.const 32 i32.add - local.tee $2 - local.get $3 + local.tee $3 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or i32.store $0 - local.get $1 local.get $2 + local.get $3 call $~lib/rt/tlsf/insertBlock else - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const -2 i32.and i32.store $0 - local.get $0 + local.get $1 i32.const 4 i32.add - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and i32.add - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.load $0 i32.const -3 i32.and i32.store $0 end + local.get $1 local.get $0 - i32.const 3 i32.store $0 offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $1 + local.tee $0 i32.load $0 offset=8 local.set $2 - local.get $0 local.get $1 + local.get $0 global.get $~lib/rt/itcms/white i32.or i32.store $0 offset=4 - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=4 i32.const 3 i32.and i32.or i32.store $0 offset=4 - local.get $1 local.get $0 + local.get $1 i32.store $0 offset=8 global.get $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.load $0 i32.const -4 i32.and @@ -1217,7 +1217,7 @@ i32.add i32.add global.set $~lib/rt/itcms/total - local.get $0 + local.get $1 i32.const 20 i32.add local.tee $0 @@ -1502,7 +1502,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34276 + i32.const 34280 i32.sub i32.const 1 i32.shr_u @@ -1537,7 +1537,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1600,7 +1600,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1508 + i32.const 1512 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1748,11 +1748,14 @@ block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $while/Ref $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $while/Ref $invalid + end + return end return end @@ -1776,34 +1779,66 @@ ) (func $while/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1508 - i32.lt_s - if - i32.const 34304 - i32.const 34352 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34304 + i32.const 34352 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1830,7 +1865,7 @@ if i32.const 0 i32.const 1168 - i32.const 147 + i32.const 148 i32.const 30 call $~lib/builtins/abort unreachable @@ -1850,14 +1885,14 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34276 + i32.const 34280 i32.lt_u i32.and i32.eqz if i32.const 0 i32.const 1168 - i32.const 127 + i32.const 128 i32.const 18 call $~lib/builtins/abort unreachable @@ -1871,7 +1906,7 @@ if i32.const 0 i32.const 1168 - i32.const 131 + i32.const 132 i32.const 16 call $~lib/builtins/abort unreachable @@ -1893,7 +1928,7 @@ local.get $1 i32.load $0 offset=12 local.tee $0 - i32.const 1 + i32.const 2 i32.le_u if (result i32) i32.const 1