diff --git a/src/diagnostics.ts b/src/diagnostics.ts index 2eff86a3..9368bf94 100644 --- a/src/diagnostics.ts +++ b/src/diagnostics.ts @@ -280,8 +280,8 @@ export abstract class DiagnosticEmitter { var message = DiagnosticMessage.create(code, category, arg0, arg1, arg2).withRange(range); if (relatedRange) message.relatedRange = relatedRange; this.diagnostics.push(message); - console.log(formatDiagnosticMessage(message, true, true) + "\n"); // temporary - console.log(new Error("stack").stack); + // console.log(formatDiagnosticMessage(message, true, true) + "\n"); // temporary + // console.log(new Error("stack").stack); } /** Emits an informatory diagnostic message. */ diff --git a/std/assembly/array.ts b/std/assembly/array.ts index cbe441e7..ef3fa4ad 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -4,13 +4,13 @@ import { COMPARATOR, SORT } from "./util/sort"; import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number"; import { isArray as builtin_isArray } from "./builtins"; -/** Ensures that the given array has _at least_ the specified length. */ -function ensureLength(array: ArrayBufferView, length: i32, alignLog2: u32): void { +/** Ensures that the given array has _at least_ the specified capacity. */ +function ensureCapacity(array: ArrayBufferView, minCapacity: i32, alignLog2: u32): void { var oldData = array.data; var oldCapacity = oldData.byteLength >>> alignLog2; - if (length > oldCapacity) { - if (length > (MAX_BYTELENGTH >>> alignLog2)) throw new RangeError("Invalid array length"); - let newByteLength = length << alignLog2; + if (minCapacity > oldCapacity) { + if (minCapacity > (MAX_BYTELENGTH >>> alignLog2)) throw new RangeError("Invalid array length"); + let newByteLength = minCapacity << alignLog2; let newData = REALLOCATE(changetype(oldData), newByteLength); // registers on move if (newData !== changetype(oldData)) { array.data = changetype(newData); // links @@ -41,7 +41,7 @@ export class Array extends ArrayBufferView { } set length(length: i32) { - ensureLength(changetype(this), length, alignof()); + ensureCapacity(this, length, alignof()); this.length_ = length; } @@ -61,7 +61,7 @@ export class Array extends ArrayBufferView { @operator("[]=") private __set(index: i32, value: T): void { // unchecked is built-in - ensureLength(changetype(this), index + 1, alignof()); + ensureCapacity(this, index + 1, alignof()); store(this.dataStart + (index << alignof()), value); if (isManaged()) LINK(value, this); if (index >= this.length_) this.length_ = index + 1; @@ -119,7 +119,7 @@ export class Array extends ArrayBufferView { push(element: T): i32 { var newLength = this.length_ + 1; - ensureLength(changetype(this), newLength, alignof()); + ensureCapacity(this, newLength, alignof()); this.length_ = newLength; store(this.dataStart + ((newLength - 1) << alignof()), element); if (isManaged()) LINK(element, this); @@ -266,7 +266,7 @@ export class Array extends ArrayBufferView { unshift(element: T): i32 { var newLength = this.length_ + 1; - ensureLength(changetype(this), newLength, alignof()); + ensureCapacity(this, newLength, alignof()); var base = this.dataStart; memory.copy( base + sizeof(), diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 13ec83c9..139838f7 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -41,13 +41,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut } charCodeAt(pos: i32): i32 { - assert(this !== null); if (pos >= this.length) return -1; // (NaN) return load(changetype(this) + (pos << 1)); } codePointAt(pos: i32): i32 { - assert(this !== null); if (pos >= this.length) return -1; // (undefined) var first = load(changetype(this) + (pos << 1)); if (first < 0xD800 || first > 0xDBFF || pos + 1 == this.length) return first; @@ -56,13 +54,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut return ((first - 0xD800) << 10) + (second - 0xDC00) + 0x10000; } - @operator("+") static concat(left: String, right: String): String { - if (!changetype(left)) left = changetype("null"); - return left.concat(right); + @operator("+") private static __concat(left: string, right: string): string { + return select(left, "null", left !== null).concat(right); } concat(other: String): String { - assert(this !== null); if (other === null) other = changetype("null"); var thisSize: isize = this.length << 1; var otherSize: isize = other.length << 1; @@ -85,7 +81,7 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut return !compareImpl(this, start, searchString, 0, searchLength); } - @operator("==") static eq(left: String, right: String): bool { + @operator("==") private static __eq(left: String, right: String): bool { if (left === right) return true; if (left === null || right === null) return false; var leftLength = left.length; @@ -94,11 +90,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut return !compareImpl(left, 0, right, 0, leftLength); } - @operator("!=") static ne(left: String, right: String): bool { - return !this.eq(left, right); + @operator("!=") private static __ne(left: String, right: String): bool { + return !this.__eq(left, right); } - @operator(">") static gt(left: String, right: String): bool { + @operator(">") private static __gt(left: String, right: String): bool { if (left === right || left === null || right === null) return false; var leftLength = left.length; var rightLength = right.length; @@ -108,11 +104,11 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut return compareImpl(left, 0, right, 0, min(leftLength, rightLength)) > 0; } - @operator(">=") static gte(left: String, right: String): bool { - return !this.lt(left, right); + @operator(">=") private static __gte(left: String, right: String): bool { + return !this.__lt(left, right); } - @operator("<") static lt(left: String, right: String): bool { + @operator("<") private static __lt(left: String, right: String): bool { if (left === right || left === null || right === null) return false; var leftLength = left.length; var rightLength = right.length; @@ -122,8 +118,8 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut return compareImpl(left, 0, right, 0, min(leftLength, rightLength)) < 0; } - @operator("<=") static lte(left: String, right: String): bool { - return !this.gt(left, right); + @operator("<=") private static __lte(left: String, right: String): bool { + return !this.__gt(left, right); } @inline includes(searchString: String, position: i32 = 0): bool { @@ -366,8 +362,8 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut charStr, load(changetype(this) + (i << 1)) ); - store(resultStart + (i << alignof()), charStr); // result[i] = charStr - LINK(REGISTER(charStr), result); + store(resultStart + (i << alignof()), REGISTER(charStr)); // result[i] = charStr + if (isManaged()) LINK(changetype(charStr), result); } return result; } else if (!length) { diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index 53f56016..5bd84687 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -1,4 +1,4 @@ -import { ALLOCATE, REGISTER, LINK, ArrayBufferView } from "./runtime"; +import { ALLOCATE, REGISTER, ArrayBufferView } from "./runtime"; import { COMPARATOR, SORT as SORT_IMPL } from "./util/sort"; // function clampToByte(value: i32): i32 { diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 2ea6fa0f..3dd9e106 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -406,7 +406,7 @@ end local.get $3 ) - (func $~lib/string/String.eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -2433,7 +2433,7 @@ if i32.const 0 i32.const 1648 - i32.const 190 + i32.const 186 i32.const 4 call $~lib/env/abort unreachable @@ -2531,7 +2531,7 @@ global.get $number/a call $~lib/util/number/itoa32 i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2554,7 +2554,7 @@ call $~lib/runtime/assertUnregistered local.get $0 i32.const 1696 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2567,7 +2567,7 @@ i32.const 3 call $~lib/util/number/itoa32 i32.const 1712 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2580,7 +2580,7 @@ i32.const -5 call $~lib/util/number/itoa32 i32.const 1728 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2593,7 +2593,7 @@ i32.const 4 call $~lib/util/number/itoa32 i32.const 1744 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2610,7 +2610,7 @@ global.get $number/a call $~lib/util/number/itoa32 i32.const 1760 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2627,7 +2627,7 @@ global.get $number/a call $~lib/util/number/itoa32 i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2639,7 +2639,7 @@ end i32.const 1776 i32.const 1776 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2651,7 +2651,7 @@ end i32.const 1792 i32.const 1792 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2669,7 +2669,7 @@ local.get $0 call $~lib/util/number/itoa32 i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2687,7 +2687,7 @@ local.get $0 call $~lib/util/number/itoa32 i32.const 1760 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/number.untouched.wat b/tests/compiler/number.untouched.wat index 7c46b1b6..c248e7f2 100644 --- a/tests/compiler/number.untouched.wat +++ b/tests/compiler/number.untouched.wat @@ -564,7 +564,7 @@ end local.get $5 ) - (func $~lib/string/String.eq (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3416,7 +3416,7 @@ if i32.const 0 i32.const 1648 - i32.const 190 + i32.const 186 i32.const 4 call $~lib/env/abort unreachable @@ -3706,7 +3706,7 @@ global.get $number/a call $~lib/number/I32#toString i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3719,7 +3719,7 @@ f64.const 2 call $~lib/number/F64#toString i32.const 1696 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3732,7 +3732,7 @@ i32.const 3 call $~lib/number/I32#toString i32.const 1712 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3745,7 +3745,7 @@ i32.const -5 call $~lib/number/I32#toString i32.const 1728 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3758,7 +3758,7 @@ i32.const 4 call $~lib/number/I32#toString i32.const 1744 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3777,7 +3777,7 @@ end call $~lib/number/I32#toString i32.const 1760 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3796,7 +3796,7 @@ end call $~lib/number/I32#toString i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3810,7 +3810,7 @@ i32.eqz call $~lib/number/Bool#toString i32.const 1776 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3824,7 +3824,7 @@ i32.eqz call $~lib/number/Bool#toString i32.const 1792 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3844,7 +3844,7 @@ end call $~lib/number/I32#toString i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3864,7 +3864,7 @@ end call $~lib/number/I32#toString i32.const 1760 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/object-literal.optimized.wat b/tests/compiler/object-literal.optimized.wat index ca807e09..0f616e20 100644 --- a/tests/compiler/object-literal.optimized.wat +++ b/tests/compiler/object-literal.optimized.wat @@ -172,7 +172,7 @@ end local.get $3 ) - (func $~lib/string/String.eq (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.__eq (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 16 @@ -230,7 +230,7 @@ end local.get $0 i32.load offset=4 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/object-literal.untouched.wat b/tests/compiler/object-literal.untouched.wat index 91cf4942..94d788e8 100644 --- a/tests/compiler/object-literal.untouched.wat +++ b/tests/compiler/object-literal.untouched.wat @@ -239,7 +239,7 @@ end local.get $5 ) - (func $~lib/string/String.eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -300,7 +300,7 @@ local.get $0 i32.load offset=4 i32.const 16 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat index 8235a0c1..d3be53d0 100644 --- a/tests/compiler/std/array-access.optimized.wat +++ b/tests/compiler/std/array-access.optimized.wat @@ -106,7 +106,7 @@ if i32.const 0 i32.const 24 - i32.const 165 + i32.const 161 i32.const 4 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array-access.untouched.wat b/tests/compiler/std/array-access.untouched.wat index 25a0ca71..500f9ca0 100644 --- a/tests/compiler/std/array-access.untouched.wat +++ b/tests/compiler/std/array-access.untouched.wat @@ -150,7 +150,7 @@ if i32.const 0 i32.const 24 - i32.const 165 + i32.const 161 i32.const 4 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index df11fd73..10b41a31 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -1620,7 +1620,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureLength (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $1 local.get $0 @@ -1642,7 +1642,7 @@ i32.const 0 i32.const 272 i32.const 12 - i32.const 59 + i32.const 64 call $~lib/env/abort unreachable end @@ -1674,7 +1674,7 @@ i32.const 1 i32.add i32.const 0 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $1 local.get $0 i32.load offset=4 @@ -1699,7 +1699,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index 62d68daa..18b10bde 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -2113,7 +2113,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureLength (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2140,7 +2140,7 @@ i32.const 0 i32.const 272 i32.const 12 - i32.const 59 + i32.const 64 call $~lib/env/abort unreachable end @@ -2180,7 +2180,7 @@ i32.const 1 i32.add i32.const 0 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -2232,7 +2232,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -2301,7 +2301,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -2374,7 +2374,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 423fa825..da02a44d 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -2206,7 +2206,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureLength (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureCapacity (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -2227,7 +2227,7 @@ i32.const 0 i32.const 488 i32.const 12 - i32.const 59 + i32.const 64 call $~lib/env/abort unreachable end @@ -2261,7 +2261,7 @@ i32.const 1 i32.add local.tee $2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 local.get $2 i32.store offset=12 @@ -2521,7 +2521,7 @@ i32.const 1 i32.add local.tee $2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.tee $3 @@ -5784,7 +5784,7 @@ local.get $1 call $std/array/assertSorted> ) - (func $~lib/string/String.eq (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -5881,7 +5881,7 @@ i32.lt_u select i32.load - call $~lib/string/String.eq + call $~lib/string/String.__eq if local.get $2 i32.const 1 @@ -5927,16 +5927,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3400 - i32.const 65 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 i32.const 3440 local.get $1 @@ -5982,7 +5972,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String.concat (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 3440 local.get $0 @@ -6011,7 +6001,7 @@ f64.floor i32.trunc_f64_s call $~lib/string/String#charAt - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 local.get $2 i32.const 1 @@ -6082,7 +6072,7 @@ if i32.const 0 i32.const 3400 - i32.const 190 + i32.const 186 i32.const 4 call $~lib/env/abort unreachable @@ -8270,7 +8260,7 @@ local.get $1 i32.const 1 i32.add - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -9399,14 +9389,14 @@ local.get $0 i32.const 3512 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $5 if local.get $1 i32.const 3512 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $4 @@ -9428,7 +9418,7 @@ local.get $0 i32.const 3512 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat else local.get $1 end @@ -9632,14 +9622,14 @@ local.get $1 local.get $0 call $~lib/array/Array#join_int - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $5 if local.get $1 i32.const 3512 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $4 @@ -9660,7 +9650,7 @@ local.get $1 local.get $0 call $~lib/array/Array#join_int - call $~lib/string/String.concat + call $~lib/string/String.__concat else local.get $1 end @@ -9724,14 +9714,14 @@ local.get $0 i32.const 3512 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $5 if local.get $1 i32.const 3512 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $4 @@ -9753,7 +9743,7 @@ local.get $0 i32.const 3512 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat else local.get $1 end @@ -9815,14 +9805,14 @@ local.get $1 local.get $0 call $~lib/array/Array>#join_arr - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $5 if local.get $1 i32.const 3512 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 end local.get $4 @@ -9843,7 +9833,7 @@ local.get $1 local.get $0 call $~lib/array/Array>#join_arr - call $~lib/string/String.concat + call $~lib/string/String.__concat else local.get $1 end @@ -14034,7 +14024,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#join_bool i32.const 3544 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14051,7 +14041,7 @@ i32.const 3264 call $~lib/array/Array#join i32.const 4072 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14068,7 +14058,7 @@ i32.const 4120 call $~lib/array/Array#join i32.const 4072 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14085,7 +14075,7 @@ i32.const 4176 call $~lib/array/Array#join i32.const 4208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14101,7 +14091,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#join_flt i32.const 5488 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14118,7 +14108,7 @@ i32.const 3264 call $~lib/array/Array#join i32.const 5576 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14158,7 +14148,7 @@ global.get $std/array/refArr call $~lib/array/Array#join_ref i32.const 5680 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14171,7 +14161,7 @@ global.get $std/array/reversed0 call $~lib/array/Array#toString i32.const 3264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14184,7 +14174,7 @@ global.get $std/array/reversed1 call $~lib/array/Array#toString i32.const 5576 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14197,7 +14187,7 @@ global.get $std/array/reversed2 call $~lib/array/Array#toString i32.const 5752 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14210,7 +14200,7 @@ global.get $std/array/reversed4 call $~lib/array/Array#toString i32.const 5768 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14226,7 +14216,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#join_int i32.const 5824 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14242,7 +14232,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#join_int i32.const 5880 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14258,7 +14248,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#join_int i32.const 5976 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14274,7 +14264,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#join_int i32.const 6112 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14287,7 +14277,7 @@ global.get $std/array/randomStringsExpected call $~lib/array/Array#toString i32.const 6208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14303,7 +14293,7 @@ call $~lib/runtime/doWrapArray call $~lib/array/Array#toString i32.const 6328 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14334,7 +14324,7 @@ global.get $std/array/subarr32 call $~lib/array/Array>#join_arr i32.const 6384 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14376,7 +14366,7 @@ global.get $std/array/subarr8 call $~lib/array/Array>#join_arr i32.const 6384 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -14428,7 +14418,7 @@ global.get $std/array/subarrU32 call $~lib/array/Array>>#join_arr i32.const 5576 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 4ebd5352..c3d97676 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -2828,7 +2828,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureLength (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2855,7 +2855,7 @@ i32.const 0 i32.const 488 i32.const 12 - i32.const 59 + i32.const 64 call $~lib/env/abort unreachable end @@ -2899,7 +2899,7 @@ local.get $0 local.get $2 i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 local.get $2 i32.store offset=12 @@ -3276,7 +3276,7 @@ local.get $0 local.get $2 i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.set $3 @@ -8631,7 +8631,7 @@ local.get $1 call $std/array/assertSorted ) - (func $~lib/string/String.eq (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -8675,10 +8675,10 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String.ne (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz ) (func $std/array/isArraysEqual (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -8746,7 +8746,7 @@ i32.lt_u select i32.load - call $~lib/string/String.ne + call $~lib/string/String.__ne if i32.const 0 return @@ -8839,18 +8839,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 3400 - i32.const 65 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 i32.const 0 i32.eq @@ -8904,14 +8892,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/string/String.concat (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.eqz - if - i32.const 3440 - local.set $0 - end + i32.const 3440 local.get $0 + i32.const 0 + i32.ne + select local.get $1 call $~lib/string/String#concat ) @@ -8944,7 +8931,7 @@ end i32.trunc_f64_s call $~lib/string/String#charAt - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $1 local.get $2 i32.const 1 @@ -9023,7 +9010,7 @@ if i32.const 0 i32.const 3400 - i32.const 190 + i32.const 186 i32.const 4 call $~lib/env/abort unreachable @@ -11951,7 +11938,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -13463,7 +13450,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -13550,14 +13537,14 @@ local.get $6 local.get $1 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $4 if local.get $3 local.get $1 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end end @@ -13583,7 +13570,7 @@ local.get $6 local.get $1 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $3 @@ -13630,7 +13617,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -13921,14 +13908,14 @@ local.get $6 local.get $1 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $4 if local.get $3 local.get $1 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end end @@ -13954,7 +13941,7 @@ local.get $6 local.get $1 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $3 @@ -14001,7 +13988,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -14053,7 +14040,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -14140,14 +14127,14 @@ local.get $6 local.get $1 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $4 if local.get $3 local.get $1 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end end @@ -14173,7 +14160,7 @@ local.get $6 local.get $1 call $~lib/array/Array#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $3 @@ -14250,14 +14237,14 @@ local.get $6 local.get $1 call $~lib/array/Array>#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $4 if local.get $3 local.get $1 - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end end @@ -14283,7 +14270,7 @@ local.get $6 local.get $1 call $~lib/array/Array>#join - call $~lib/string/String.concat + call $~lib/string/String.__concat local.set $3 end local.get $3 @@ -19144,7 +19131,7 @@ i32.const 3512 call $~lib/array/Array#join i32.const 3544 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19165,7 +19152,7 @@ i32.const 3264 call $~lib/array/Array#join i32.const 4072 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19186,7 +19173,7 @@ i32.const 4120 call $~lib/array/Array#join i32.const 4072 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19207,7 +19194,7 @@ i32.const 4176 call $~lib/array/Array#join i32.const 4208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19228,7 +19215,7 @@ i32.const 4320 call $~lib/array/Array#join i32.const 5488 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19249,7 +19236,7 @@ i32.const 3264 call $~lib/array/Array#join i32.const 5576 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19285,7 +19272,7 @@ i32.const 3512 call $~lib/array/Array#join i32.const 5680 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19298,7 +19285,7 @@ global.get $std/array/reversed0 call $~lib/array/Array#toString i32.const 3264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19311,7 +19298,7 @@ global.get $std/array/reversed1 call $~lib/array/Array#toString i32.const 5576 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19324,7 +19311,7 @@ global.get $std/array/reversed2 call $~lib/array/Array#toString i32.const 5752 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19337,7 +19324,7 @@ global.get $std/array/reversed4 call $~lib/array/Array#toString i32.const 5768 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19357,7 +19344,7 @@ end call $~lib/array/Array#toString i32.const 5824 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19377,7 +19364,7 @@ end call $~lib/array/Array#toString i32.const 5880 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19397,7 +19384,7 @@ end call $~lib/array/Array#toString i32.const 5976 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19417,7 +19404,7 @@ end call $~lib/array/Array#toString i32.const 6112 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19430,7 +19417,7 @@ global.get $std/array/randomStringsExpected call $~lib/array/Array#toString i32.const 6208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19450,7 +19437,7 @@ end call $~lib/array/Array#toString i32.const 6328 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19493,7 +19480,7 @@ global.get $std/array/subarr32 call $~lib/array/Array>#toString i32.const 6384 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19536,7 +19523,7 @@ global.get $std/array/subarr8 call $~lib/array/Array>#toString i32.const 6384 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -19578,7 +19565,7 @@ global.get $std/array/subarrU32 call $~lib/array/Array>>#toString i32.const 5576 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/std/string-utf8.optimized.wat b/tests/compiler/std/string-utf8.optimized.wat index 93a5f397..c19c6db4 100644 --- a/tests/compiler/std/string-utf8.optimized.wat +++ b/tests/compiler/std/string-utf8.optimized.wat @@ -1596,7 +1596,7 @@ if i32.const 0 i32.const 96 - i32.const 447 + i32.const 443 i32.const 8 call $~lib/env/abort unreachable @@ -1643,7 +1643,7 @@ if i32.const 0 i32.const 96 - i32.const 451 + i32.const 447 i32.const 8 call $~lib/env/abort unreachable @@ -1716,7 +1716,7 @@ if i32.const 0 i32.const 96 - i32.const 463 + i32.const 459 i32.const 8 call $~lib/env/abort unreachable @@ -1769,7 +1769,7 @@ if i32.const 0 i32.const 96 - i32.const 472 + i32.const 468 i32.const 4 call $~lib/env/abort unreachable @@ -1822,7 +1822,7 @@ end local.get $3 ) - (func $~lib/string/String.eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -2024,7 +2024,7 @@ i32.const 0 call $~lib/string/String.fromUTF8 i32.const 88 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2040,7 +2040,7 @@ i32.sub call $~lib/string/String.fromUTF8 global.get $std/string-utf8/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2054,7 +2054,7 @@ i32.const 4 call $~lib/string/String.fromUTF8 i32.const 176 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2070,7 +2070,7 @@ i32.const 2 call $~lib/string/String.fromUTF8 i32.const 192 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2086,7 +2086,7 @@ i32.const 4 call $~lib/string/String.fromUTF8 i32.const 208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2102,7 +2102,7 @@ i32.const 1 call $~lib/string/String.fromUTF8 i32.const 224 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/std/string-utf8.untouched.wat b/tests/compiler/std/string-utf8.untouched.wat index 7e6a864d..eda61e0e 100644 --- a/tests/compiler/std/string-utf8.untouched.wat +++ b/tests/compiler/std/string-utf8.untouched.wat @@ -2034,7 +2034,7 @@ if i32.const 0 i32.const 96 - i32.const 447 + i32.const 443 i32.const 8 call $~lib/env/abort unreachable @@ -2088,7 +2088,7 @@ if i32.const 0 i32.const 96 - i32.const 451 + i32.const 447 i32.const 8 call $~lib/env/abort unreachable @@ -2183,7 +2183,7 @@ if i32.const 0 i32.const 96 - i32.const 463 + i32.const 459 i32.const 8 call $~lib/env/abort unreachable @@ -2246,7 +2246,7 @@ if i32.const 0 i32.const 96 - i32.const 472 + i32.const 468 i32.const 4 call $~lib/env/abort unreachable @@ -2325,7 +2325,7 @@ end local.get $5 ) - (func $~lib/string/String.eq (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2545,7 +2545,7 @@ i32.const 0 call $~lib/string/String.fromUTF8 i32.const 88 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2561,7 +2561,7 @@ i32.sub call $~lib/string/String.fromUTF8 global.get $std/string-utf8/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2575,7 +2575,7 @@ i32.const 4 call $~lib/string/String.fromUTF8 i32.const 176 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2591,7 +2591,7 @@ i32.const 2 call $~lib/string/String.fromUTF8 i32.const 192 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2607,7 +2607,7 @@ i32.const 4 call $~lib/string/String.fromUTF8 i32.const 208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2623,7 +2623,7 @@ i32.const 1 call $~lib/string/String.fromUTF8 i32.const 224 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index cdcc11fa..306b866f 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -6,7 +6,6 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$di (func (param i32) (result f64))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$viji (func (param i32 i64 i32))) (type $FUNCSIG$id (func (param f64) (result i32))) @@ -15,14 +14,15 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\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 48) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 88) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 128) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 168) "\01\00\00\00\02") - (data (i32.const 184) "\01\00\00\00\02\00\00\006") + (data (i32.const 88) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 128) "\01\00\00\00\02") + (data (i32.const 144) "\01\00\00\00\02\00\00\006") + (data (i32.const 160) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") (data (i32.const 200) "\01\00\00\00\04\00\00\004\d8\06\df") (data (i32.const 216) "\01\00\00\00\04\00\00\00h\00i") (data (i32.const 232) "\01\00\00\00\08\00\00\00n\00u\00l\00l") @@ -193,33 +193,7 @@ (export "table" (table $0)) (export "getString" (func $std/string/getString)) (start $start) - (func $~lib/string/String#charCodeAt (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 44 - i32.const 4 - call $~lib/env/abort - unreachable - end - i32.const 0 - local.get $0 - i32.const 8 - i32.sub - i32.load offset=4 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const -1 - return - end - local.get $0 - i32.load16_u - ) - (func $~lib/memory/memory.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -281,7 +255,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/doAllocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/doAllocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -302,13 +276,13 @@ i32.const 8 i32.add ) - (func $~lib/runtime/assertUnregistered (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/assertUnregistered (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 5544 i32.le_u if i32.const 0 - i32.const 136 + i32.const 96 i32.const 191 i32.const 2 call $~lib/env/abort @@ -322,14 +296,14 @@ i32.ne if i32.const 0 - i32.const 136 + i32.const 96 i32.const 192 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/runtime/doRegister (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/doRegister (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 call $~lib/runtime/assertUnregistered local.get $0 @@ -339,7 +313,7 @@ i32.store local.get $0 ) - (func $~lib/string/String.fromCharCode (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCharCode (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 2 call $~lib/runtime/doAllocate @@ -350,7 +324,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/string/compareImpl (; 7 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $1 i32.const 1 @@ -389,7 +363,7 @@ end local.get $4 ) - (func $~lib/string/String.eq (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -436,7 +410,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String.fromCodePoint (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCodePoint (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -444,7 +418,7 @@ i32.gt_u if i32.const 0 - i32.const 96 + i32.const 168 i32.const 21 i32.const 4 call $~lib/env/abort @@ -491,7 +465,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String#startsWith (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -499,8 +473,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 165 + i32.const 168 + i32.const 161 i32.const 4 call $~lib/env/abort unreachable @@ -539,7 +513,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String#endsWith (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#endsWith (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -547,8 +521,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 78 + i32.const 168 + i32.const 74 i32.const 4 call $~lib/env/abort unreachable @@ -587,15 +561,15 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String#indexOf (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#indexOf (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 i32.eqz if i32.const 0 - i32.const 96 - i32.const 134 + i32.const 168 + i32.const 130 i32.const 4 call $~lib/env/abort unreachable @@ -670,7 +644,7 @@ end i32.const -1 ) - (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1567,7 +1541,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -1761,7 +1735,7 @@ end end ) - (func $~lib/memory/memory.repeat (; 15 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/memory/memory.repeat (; 14 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $2 local.get $3 @@ -1786,7 +1760,7 @@ end end ) - (func $~lib/string/String#padStart (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padStart (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1795,8 +1769,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 282 + i32.const 168 + i32.const 278 i32.const 4 call $~lib/env/abort unreachable @@ -1883,7 +1857,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String#padEnd (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padEnd (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1891,8 +1865,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 303 + i32.const 168 + i32.const 299 i32.const 4 call $~lib/env/abort unreachable @@ -1981,15 +1955,15 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String#lastIndexOf (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#lastIndexOf (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 i32.eqz if i32.const 0 - i32.const 96 - i32.const 150 + i32.const 168 + i32.const 146 i32.const 4 call $~lib/env/abort unreachable @@ -2064,7 +2038,7 @@ end i32.const -1 ) - (func $~lib/util/string/parse (; 19 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/parse (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2301,7 +2275,7 @@ local.get $5 f64.mul ) - (func $~lib/string/parseFloat (; 20 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 19 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2412,8 +2386,8 @@ end if i32.const 0 - i32.const 96 - i32.const 569 + i32.const 168 + i32.const 565 i32.const 10 call $~lib/env/abort unreachable @@ -2472,20 +2446,10 @@ local.get $4 f64.mul ) - (func $~lib/string/String#concat (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 65 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 i32.const 240 local.get $1 @@ -2531,7 +2495,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String.concat (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 240 local.get $0 @@ -2539,13 +2503,13 @@ local.get $1 call $~lib/string/String#concat ) - (func $~lib/string/String.ne (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz ) - (func $~lib/string/String.gt (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block (result i32) @@ -2610,7 +2574,7 @@ i32.const 0 i32.gt_s ) - (func $~lib/string/String.lt (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block (result i32) @@ -2675,27 +2639,27 @@ i32.const 0 i32.lt_s ) - (func $~lib/string/String.gte (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz ) - (func $~lib/string/String.lte (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.__lte (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 312 local.get $0 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz ) - (func $~lib/string/String#repeat (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 i32.eqz if i32.const 0 - i32.const 96 - i32.const 324 + i32.const 168 + i32.const 320 i32.const 4 call $~lib/env/abort unreachable @@ -2724,8 +2688,8 @@ end if i32.const 0 - i32.const 96 - i32.const 329 + i32.const 168 + i32.const 325 i32.const 6 call $~lib/env/abort unreachable @@ -2767,7 +2731,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String#slice (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2847,7 +2811,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/memory/memory.fill (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -3058,7 +3022,7 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741816 @@ -3080,14 +3044,14 @@ i32.const 2 call $~lib/runtime/doRegister ) - (func $~lib/runtime/ArrayBufferView#constructor (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#constructor (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 268435454 i32.gt_u if i32.const 0 - i32.const 136 + i32.const 96 i32.const 226 i32.const 57 call $~lib/env/abort @@ -3128,7 +3092,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#constructor (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 16 call $~lib/runtime/doAllocate @@ -3144,7 +3108,7 @@ i32.store offset=12 local.get $1 ) - (func $~lib/runtime/doReallocate (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/doReallocate (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3212,7 +3176,7 @@ i32.le_u if i32.const 0 - i32.const 136 + i32.const 96 i32.const 100 i32.const 8 call $~lib/env/abort @@ -3238,7 +3202,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureLength (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureCapacity (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -3259,7 +3223,7 @@ i32.const 0 i32.const 1440 i32.const 12 - i32.const 59 + i32.const 64 call $~lib/env/abort unreachable end @@ -3285,10 +3249,10 @@ i32.store offset=8 end ) - (func $~lib/array/Array#__set (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.const 1 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -3303,29 +3267,7 @@ i32.store offset=12 end ) - (func $~lib/runtime/assertRegistered (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const -1520547049 - i32.eq - if - i32.const 0 - i32.const 136 - i32.const 199 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/runtime/doLink (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - call $~lib/runtime/assertRegistered - local.get $1 - call $~lib/runtime/assertRegistered - ) - (func $~lib/array/Array#push (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#push (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $0 @@ -3333,7 +3275,7 @@ i32.const 1 i32.add local.tee $2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 local.get $2 i32.store offset=12 @@ -3348,7 +3290,23 @@ local.get $1 i32.store ) - (func $~lib/string/String#split (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/assertRegistered (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const -1520547049 + i32.eq + if + i32.const 0 + i32.const 96 + i32.const 199 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/string/String#split (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3361,8 +3319,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 351 + i32.const 168 + i32.const 347 i32.const 4 call $~lib/env/abort unreachable @@ -3379,10 +3337,10 @@ if i32.const 1 call $~lib/array/Array#constructor - local.tee $3 + local.tee $7 local.get $0 call $~lib/array/Array#__set - local.get $3 + local.get $7 return end local.get $0 @@ -3391,7 +3349,7 @@ i32.load offset=4 i32.const 1 i32.shr_u - local.set $6 + local.set $5 i32.const 2147483647 local.get $2 local.get $2 @@ -3409,41 +3367,40 @@ local.set $9 local.get $3 if - local.get $6 + local.get $5 i32.eqz if i32.const 1 call $~lib/array/Array#constructor - local.tee $5 + local.tee $3 i32.load offset=4 i32.const 312 i32.store - local.get $5 + local.get $3 return end else - local.get $6 + local.get $5 i32.eqz if i32.const 0 call $~lib/array/Array#constructor return end - local.get $6 - local.tee $3 + local.get $5 local.get $2 - local.get $3 + local.get $5 local.get $2 i32.lt_s select - local.tee $6 + local.tee $5 call $~lib/array/Array#constructor - local.tee $3 + local.tee $7 i32.load offset=4 - local.set $5 + local.set $3 loop $repeat|0 local.get $4 - local.get $6 + local.get $5 i32.lt_s if i32.const 2 @@ -3459,15 +3416,12 @@ local.get $4 i32.const 2 i32.shl - local.get $5 + local.get $3 i32.add local.get $1 - i32.store - local.get $1 i32.const 1 call $~lib/runtime/doRegister - local.get $3 - call $~lib/runtime/doLink + i32.store local.get $4 i32.const 1 i32.add @@ -3475,12 +3429,12 @@ br $repeat|0 end end - local.get $3 + local.get $7 return end i32.const 0 call $~lib/array/Array#constructor - local.set $7 + local.set $6 loop $continue|1 local.get $0 local.get $1 @@ -3493,30 +3447,30 @@ local.get $8 local.get $4 i32.sub - local.tee $5 + local.tee $3 i32.const 0 i32.gt_s if - local.get $5 + local.get $3 i32.const 1 i32.shl - local.tee $5 - call $~lib/runtime/doAllocate local.tee $3 + call $~lib/runtime/doAllocate + local.tee $7 local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.get $5 - call $~lib/memory/memory.copy - local.get $7 local.get $3 + call $~lib/memory/memory.copy + local.get $6 + local.get $7 i32.const 1 call $~lib/runtime/doRegister call $~lib/array/Array#push else - local.get $7 + local.get $6 i32.const 312 call $~lib/array/Array#push end @@ -3527,7 +3481,7 @@ local.get $2 i32.eq if - local.get $7 + local.get $6 return end local.get $8 @@ -3546,16 +3500,16 @@ i32.load offset=4 local.set $1 local.get $0 - local.tee $4 + call $~lib/runtime/assertRegistered local.get $3 - call $~lib/runtime/doLink + call $~lib/runtime/assertRegistered local.get $1 - local.get $4 + local.get $0 i32.store local.get $3 return end - local.get $6 + local.get $5 local.get $4 i32.sub local.tee $1 @@ -3567,7 +3521,7 @@ i32.shl local.tee $1 call $~lib/runtime/doAllocate - local.tee $5 + local.tee $3 local.get $4 i32.const 1 i32.shl @@ -3575,19 +3529,19 @@ i32.add local.get $1 call $~lib/memory/memory.copy - local.get $7 - local.get $5 + local.get $6 + local.get $3 i32.const 1 call $~lib/runtime/doRegister call $~lib/array/Array#push else - local.get $7 + local.get $6 i32.const 312 call $~lib/array/Array#push end - local.get $7 + local.get $6 ) - (func $~lib/util/number/decimalCount32 (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 100000 i32.lt_u @@ -3641,7 +3595,7 @@ end end ) - (func $~lib/util/number/utoa32_lut (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) i32.const 2060 @@ -3751,7 +3705,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3793,7 +3747,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/utoa32 (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3816,7 +3770,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/decimalCount64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 43 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 i64.const 1000000000000000 i64.lt_u @@ -3870,7 +3824,7 @@ end end ) - (func $~lib/util/number/utoa64_lut (; 46 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 44 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3967,7 +3921,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 47 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4009,7 +3963,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/itoa64 (; 48 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 46 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4074,7 +4028,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/genDigits (; 49 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 47 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) @@ -4492,7 +4446,7 @@ local.get $7 end ) - (func $~lib/util/number/prettify (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -4753,7 +4707,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 51 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 49 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i64) (local $4 i64) @@ -5065,7 +5019,7 @@ local.get $12 i32.add ) - (func $~lib/string/String#substring (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5073,8 +5027,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 190 + i32.const 168 + i32.const 186 i32.const 4 call $~lib/env/abort unreachable @@ -5163,7 +5117,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/util/number/dtoa (; 53 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 51 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -5208,7 +5162,7 @@ call $~lib/runtime/assertUnregistered local.get $1 ) - (func $start:std/string (; 54 ;) (type $FUNCSIG$v) + (func $start:std/string (; 52 ;) (type $FUNCSIG$v) (local $0 i32) global.get $std/string/str i32.const 16 @@ -5237,8 +5191,22 @@ call $~lib/env/abort unreachable end - global.get $std/string/str - call $~lib/string/String#charCodeAt + block $__inlined_func$~lib/string/String#charCodeAt (result i32) + i32.const -1 + i32.const 0 + global.get $std/string/str + local.tee $0 + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u + i32.ge_u + br_if $__inlined_func$~lib/string/String#charCodeAt + drop + local.get $0 + i32.load16_u + end i32.const 104 i32.ne if @@ -5255,8 +5223,8 @@ global.set $~lib/allocator/arena/offset i32.const 0 call $~lib/string/String.fromCharCode - i32.const 176 - call $~lib/string/String.eq + i32.const 136 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5268,8 +5236,8 @@ end i32.const 54 call $~lib/string/String.fromCharCode - i32.const 192 - call $~lib/string/String.eq + i32.const 152 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5281,8 +5249,8 @@ end i32.const 65590 call $~lib/string/String.fromCharCode - i32.const 192 - call $~lib/string/String.eq + i32.const 152 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5294,8 +5262,8 @@ end i32.const 0 call $~lib/string/String.fromCodePoint - i32.const 176 - call $~lib/string/String.eq + i32.const 136 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5307,8 +5275,8 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - i32.const 192 - call $~lib/string/String.eq + i32.const 152 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5370,7 +5338,7 @@ i32.const 296 call $~lib/string/String#padStart global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5385,7 +5353,7 @@ i32.const 296 call $~lib/string/String#padStart global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5400,7 +5368,7 @@ i32.const 296 call $~lib/string/String#padStart i32.const 320 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5415,7 +5383,7 @@ i32.const 312 call $~lib/string/String#padStart i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5430,7 +5398,7 @@ i32.const 312 call $~lib/string/String#padStart i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5445,7 +5413,7 @@ i32.const 296 call $~lib/string/String#padStart i32.const 368 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5460,7 +5428,7 @@ i32.const 392 call $~lib/string/String#padStart i32.const 408 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5475,7 +5443,7 @@ i32.const 392 call $~lib/string/String#padStart i32.const 432 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5490,7 +5458,7 @@ i32.const 296 call $~lib/string/String#padEnd global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5505,7 +5473,7 @@ i32.const 296 call $~lib/string/String#padEnd global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5520,7 +5488,7 @@ i32.const 296 call $~lib/string/String#padEnd i32.const 320 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5535,7 +5503,7 @@ i32.const 312 call $~lib/string/String#padEnd i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5550,7 +5518,7 @@ i32.const 312 call $~lib/string/String#padEnd i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5565,7 +5533,7 @@ i32.const 296 call $~lib/string/String#padEnd i32.const 456 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5580,7 +5548,7 @@ i32.const 352 call $~lib/string/String#padEnd i32.const 480 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -5595,7 +5563,7 @@ i32.const 352 call $~lib/string/String#padEnd i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6051,11 +6019,11 @@ end i32.const 336 i32.const 824 - call $~lib/string/String.concat + call $~lib/string/String.__concat global.set $std/string/c global.get $std/string/c i32.const 840 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6067,7 +6035,7 @@ end global.get $std/string/c i32.const 336 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6079,7 +6047,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6091,7 +6059,7 @@ end i32.const 312 global.get $std/string/nullStr - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6103,7 +6071,7 @@ end global.get $std/string/nullStr i32.const 312 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6115,7 +6083,7 @@ end i32.const 336 i32.const 824 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6127,7 +6095,7 @@ end i32.const 336 i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6139,7 +6107,7 @@ end i32.const 856 i32.const 872 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6151,7 +6119,7 @@ end i32.const 856 i32.const 856 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6163,7 +6131,7 @@ end i32.const 888 i32.const 904 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6175,7 +6143,7 @@ end i32.const 920 i32.const 944 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6187,7 +6155,7 @@ end i32.const 968 i32.const 968 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6199,7 +6167,7 @@ end i32.const 968 i32.const 992 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6211,7 +6179,7 @@ end i32.const 1016 i32.const 1048 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6223,7 +6191,7 @@ end i32.const 824 i32.const 336 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -6235,7 +6203,7 @@ end i32.const 1080 i32.const 336 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -6247,7 +6215,7 @@ end i32.const 1080 i32.const 1096 - call $~lib/string/String.gte + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -6259,7 +6227,7 @@ end i32.const 1080 i32.const 840 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -6271,7 +6239,7 @@ end i32.const 1080 i32.const 840 - call $~lib/string/String.lt + call $~lib/string/String.__lt if i32.const 0 i32.const 56 @@ -6282,7 +6250,7 @@ end i32.const 824 global.get $std/string/nullStr - call $~lib/string/String.lt + call $~lib/string/String.__lt if i32.const 0 i32.const 56 @@ -6293,7 +6261,7 @@ end global.get $std/string/nullStr i32.const 824 - call $~lib/string/String.lt + call $~lib/string/String.__lt if i32.const 0 i32.const 56 @@ -6304,7 +6272,7 @@ end i32.const 352 i32.const 312 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -6316,7 +6284,7 @@ end i32.const 312 i32.const 352 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz if i32.const 0 @@ -6328,7 +6296,7 @@ end i32.const 352 i32.const 312 - call $~lib/string/String.gte + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -6339,7 +6307,7 @@ unreachable end i32.const 352 - call $~lib/string/String.lte + call $~lib/string/String.__lte i32.eqz if i32.const 0 @@ -6351,7 +6319,7 @@ end i32.const 352 i32.const 312 - call $~lib/string/String.lt + call $~lib/string/String.__lt if i32.const 0 i32.const 56 @@ -6362,7 +6330,7 @@ end i32.const 312 i32.const 352 - call $~lib/string/String.gt + call $~lib/string/String.__gt if i32.const 0 i32.const 56 @@ -6373,7 +6341,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.lt + call $~lib/string/String.__lt if i32.const 0 i32.const 56 @@ -6384,7 +6352,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.gt + call $~lib/string/String.__gt if i32.const 0 i32.const 56 @@ -6395,7 +6363,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.gte + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -6406,7 +6374,7 @@ unreachable end i32.const 312 - call $~lib/string/String.lte + call $~lib/string/String.__lte i32.eqz if i32.const 0 @@ -6423,11 +6391,11 @@ call $~lib/string/String.fromCodePoint i32.const 56322 call $~lib/string/String.fromCodePoint - call $~lib/string/String.concat + call $~lib/string/String.__concat global.set $std/string/b global.get $std/string/a global.get $std/string/b - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -6455,7 +6423,7 @@ i32.const 100 call $~lib/string/String#repeat i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6469,7 +6437,7 @@ i32.const 0 call $~lib/string/String#repeat i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6483,7 +6451,7 @@ i32.const 1 call $~lib/string/String#repeat i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6497,7 +6465,7 @@ i32.const 2 call $~lib/string/String#repeat i32.const 1096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6511,7 +6479,7 @@ i32.const 3 call $~lib/string/String#repeat i32.const 1112 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6525,7 +6493,7 @@ i32.const 4 call $~lib/string/String#repeat i32.const 1128 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6539,7 +6507,7 @@ i32.const 5 call $~lib/string/String#repeat i32.const 1152 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6553,7 +6521,7 @@ i32.const 6 call $~lib/string/String#repeat i32.const 1176 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6567,7 +6535,7 @@ i32.const 7 call $~lib/string/String#repeat i32.const 1200 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6584,7 +6552,7 @@ i32.const 2147483647 call $~lib/string/String#slice i32.const 1224 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6599,7 +6567,7 @@ i32.const 2147483647 call $~lib/string/String#slice i32.const 1264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6614,7 +6582,7 @@ i32.const 2147483647 call $~lib/string/String#slice i32.const 1280 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6629,7 +6597,7 @@ i32.const 7 call $~lib/string/String#slice i32.const 1304 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6644,7 +6612,7 @@ i32.const -6 call $~lib/string/String#slice i32.const 1328 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6659,7 +6627,7 @@ i32.const 3 call $~lib/string/String#slice i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6674,7 +6642,7 @@ i32.const -1 call $~lib/string/String#slice i32.const 1352 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6694,7 +6662,7 @@ i32.const 1 i32.eq local.tee $0 - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -6706,10 +6674,10 @@ select i32.load i32.const 312 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -6744,7 +6712,7 @@ i32.const 1 i32.eq local.tee $0 - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -6756,10 +6724,10 @@ select i32.load i32.const 312 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -6779,7 +6747,7 @@ i32.const 1 i32.eq local.tee $0 - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -6791,10 +6759,10 @@ select i32.load i32.const 1480 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -6828,7 +6796,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -6847,12 +6815,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -6866,10 +6834,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -6903,7 +6871,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -6922,12 +6890,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -6941,10 +6909,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -6979,7 +6947,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -6998,7 +6966,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7017,12 +6985,12 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7036,10 +7004,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7074,7 +7042,7 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7093,7 +7061,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7112,12 +7080,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7131,10 +7099,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7169,7 +7137,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7188,7 +7156,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7207,12 +7175,12 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7226,10 +7194,10 @@ select i32.load i32.const 312 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7263,7 +7231,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7282,12 +7250,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7301,10 +7269,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7339,7 +7307,7 @@ i32.const 1 i32.eq local.tee $0 - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7351,10 +7319,10 @@ select i32.load i32.const 336 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7374,7 +7342,7 @@ i32.const 1 i32.eq local.tee $0 - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7386,10 +7354,10 @@ select i32.load i32.const 336 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7423,7 +7391,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7442,12 +7410,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7461,10 +7429,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7498,7 +7466,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7517,12 +7485,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7536,10 +7504,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7573,7 +7541,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 @@ -7592,12 +7560,12 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq local.set $0 end local.get $0 end - if (result i32) + if global.get $std/string/sa local.tee $0 i32.load offset=4 @@ -7611,10 +7579,10 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq - else - local.get $0 + call $~lib/string/String.__eq + local.set $0 end + local.get $0 i32.eqz if i32.const 0 @@ -7627,7 +7595,7 @@ i32.const 0 call $~lib/util/number/itoa32 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7640,7 +7608,7 @@ i32.const 1 call $~lib/util/number/itoa32 i32.const 624 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7653,7 +7621,7 @@ i32.const 8 call $~lib/util/number/itoa32 i32.const 2080 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7666,7 +7634,7 @@ i32.const 123 call $~lib/util/number/itoa32 i32.const 392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7679,7 +7647,7 @@ i32.const -1000 call $~lib/util/number/itoa32 i32.const 2096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7692,7 +7660,7 @@ i32.const 1234 call $~lib/util/number/itoa32 i32.const 2120 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7705,7 +7673,7 @@ i32.const 12345 call $~lib/util/number/itoa32 i32.const 2136 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7718,7 +7686,7 @@ i32.const 123456 call $~lib/util/number/itoa32 i32.const 2160 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7731,7 +7699,7 @@ i32.const 1111111 call $~lib/util/number/itoa32 i32.const 2184 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7744,7 +7712,7 @@ i32.const 1234567 call $~lib/util/number/itoa32 i32.const 2208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7757,7 +7725,7 @@ i32.const 2147483646 call $~lib/util/number/itoa32 i32.const 2232 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7770,7 +7738,7 @@ i32.const 2147483647 call $~lib/util/number/itoa32 i32.const 2264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7783,7 +7751,7 @@ i32.const -2147483648 call $~lib/util/number/itoa32 i32.const 2296 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7796,7 +7764,7 @@ i32.const -1 call $~lib/util/number/itoa32 i32.const 2328 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7809,7 +7777,7 @@ i32.const 0 call $~lib/util/number/utoa32 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7822,7 +7790,7 @@ i32.const 1000 call $~lib/util/number/utoa32 i32.const 2344 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7835,7 +7803,7 @@ i32.const 2147483647 call $~lib/util/number/utoa32 i32.const 2264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7848,7 +7816,7 @@ i32.const -2147483648 call $~lib/util/number/utoa32 i32.const 2360 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7861,7 +7829,7 @@ i32.const -1 call $~lib/util/number/utoa32 i32.const 2392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7874,7 +7842,7 @@ i64.const 0 call $~lib/util/number/utoa64 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7887,7 +7855,7 @@ i64.const 1234 call $~lib/util/number/utoa64 i32.const 2120 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7900,7 +7868,7 @@ i64.const 99999999 call $~lib/util/number/utoa64 i32.const 2424 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7913,7 +7881,7 @@ i64.const 100000000 call $~lib/util/number/utoa64 i32.const 2448 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7926,7 +7894,7 @@ i64.const 4294967295 call $~lib/util/number/utoa64 i32.const 2392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7939,7 +7907,7 @@ i64.const 68719476735 call $~lib/util/number/utoa64 i32.const 2480 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7952,7 +7920,7 @@ i64.const 868719476735 call $~lib/util/number/utoa64 i32.const 2512 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7965,7 +7933,7 @@ i64.const 999868719476735 call $~lib/util/number/utoa64 i32.const 2544 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7978,7 +7946,7 @@ i64.const 9999868719476735 call $~lib/util/number/utoa64 i32.const 2584 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7991,7 +7959,7 @@ i64.const 19999868719476735 call $~lib/util/number/utoa64 i32.const 2624 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8004,7 +7972,7 @@ i64.const -1 call $~lib/util/number/utoa64 i32.const 2672 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8017,7 +7985,7 @@ i64.const 0 call $~lib/util/number/itoa64 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8030,7 +7998,7 @@ i64.const -1234 call $~lib/util/number/itoa64 i32.const 2720 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8043,7 +8011,7 @@ i64.const 4294967295 call $~lib/util/number/itoa64 i32.const 2392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8056,7 +8024,7 @@ i64.const -4294967295 call $~lib/util/number/itoa64 i32.const 2744 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8069,7 +8037,7 @@ i64.const 68719476735 call $~lib/util/number/itoa64 i32.const 2480 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8082,7 +8050,7 @@ i64.const -68719476735 call $~lib/util/number/itoa64 i32.const 2776 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8095,7 +8063,7 @@ i64.const -868719476735 call $~lib/util/number/itoa64 i32.const 2808 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8108,7 +8076,7 @@ i64.const -999868719476735 call $~lib/util/number/itoa64 i32.const 2848 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8121,7 +8089,7 @@ i64.const -19999868719476735 call $~lib/util/number/itoa64 i32.const 2888 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8134,7 +8102,7 @@ i64.const 9223372036854775807 call $~lib/util/number/itoa64 i32.const 2936 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8147,7 +8115,7 @@ i64.const -9223372036854775808 call $~lib/util/number/itoa64 i32.const 2984 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8160,7 +8128,7 @@ f64.const 0 call $~lib/util/number/dtoa i32.const 3032 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8173,7 +8141,7 @@ f64.const -0 call $~lib/util/number/dtoa i32.const 3032 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8186,7 +8154,7 @@ f64.const nan:0x8000000000000 call $~lib/util/number/dtoa i32.const 3048 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8199,7 +8167,7 @@ f64.const inf call $~lib/util/number/dtoa i32.const 3096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8212,7 +8180,7 @@ f64.const -inf call $~lib/util/number/dtoa i32.const 3064 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8225,7 +8193,7 @@ f64.const 2.220446049250313e-16 call $~lib/util/number/dtoa i32.const 4128 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8238,7 +8206,7 @@ f64.const -2.220446049250313e-16 call $~lib/util/number/dtoa i32.const 4184 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8251,7 +8219,7 @@ f64.const 1797693134862315708145274e284 call $~lib/util/number/dtoa i32.const 4240 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8264,7 +8232,7 @@ f64.const -1797693134862315708145274e284 call $~lib/util/number/dtoa i32.const 4296 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8277,7 +8245,7 @@ f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa i32.const 4352 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8290,7 +8258,7 @@ f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa i32.const 4408 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8303,7 +8271,7 @@ f64.const 4.940656e-318 call $~lib/util/number/dtoa i32.const 4464 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8316,7 +8284,7 @@ f64.const 9060801153433600 call $~lib/util/number/dtoa i32.const 4504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8329,7 +8297,7 @@ f64.const 4708356024711512064 call $~lib/util/number/dtoa i32.const 4552 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8342,7 +8310,7 @@ f64.const 9409340012568248320 call $~lib/util/number/dtoa i32.const 4608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8355,7 +8323,7 @@ f64.const 5e-324 call $~lib/util/number/dtoa i32.const 4664 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8368,7 +8336,7 @@ f64.const 1 call $~lib/util/number/dtoa i32.const 4688 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8381,7 +8349,7 @@ f64.const 0.1 call $~lib/util/number/dtoa i32.const 768 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8394,7 +8362,7 @@ f64.const -1 call $~lib/util/number/dtoa i32.const 4704 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8407,7 +8375,7 @@ f64.const -0.1 call $~lib/util/number/dtoa i32.const 4720 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8420,7 +8388,7 @@ f64.const 1e6 call $~lib/util/number/dtoa i32.const 4736 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8433,7 +8401,7 @@ f64.const 1e-06 call $~lib/util/number/dtoa i32.const 4768 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8446,7 +8414,7 @@ f64.const -1e6 call $~lib/util/number/dtoa i32.const 4792 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8459,7 +8427,7 @@ f64.const -1e-06 call $~lib/util/number/dtoa i32.const 4824 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8472,7 +8440,7 @@ f64.const 1e7 call $~lib/util/number/dtoa i32.const 4856 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8485,7 +8453,7 @@ f64.const 1e-07 call $~lib/util/number/dtoa i32.const 4888 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8498,7 +8466,7 @@ f64.const 1.e+308 call $~lib/util/number/dtoa i32.const 4904 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8511,7 +8479,7 @@ f64.const -1.e+308 call $~lib/util/number/dtoa i32.const 4928 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8524,7 +8492,7 @@ f64.const inf call $~lib/util/number/dtoa i32.const 3096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8537,7 +8505,7 @@ f64.const -inf call $~lib/util/number/dtoa i32.const 3064 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8550,7 +8518,7 @@ f64.const 1e-308 call $~lib/util/number/dtoa i32.const 4952 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8563,7 +8531,7 @@ f64.const -1e-308 call $~lib/util/number/dtoa i32.const 4976 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8576,7 +8544,7 @@ f64.const 1e-323 call $~lib/util/number/dtoa i32.const 5000 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8589,7 +8557,7 @@ f64.const -1e-323 call $~lib/util/number/dtoa i32.const 5024 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8602,7 +8570,7 @@ f64.const 0 call $~lib/util/number/dtoa i32.const 3032 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8615,7 +8583,7 @@ f64.const 4294967272 call $~lib/util/number/dtoa i32.const 5048 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8628,7 +8596,7 @@ f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa i32.const 5080 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8641,7 +8609,7 @@ f64.const 555555555.5555556 call $~lib/util/number/dtoa i32.const 5136 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8654,7 +8622,7 @@ f64.const 0.9999999999999999 call $~lib/util/number/dtoa i32.const 5184 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8667,7 +8635,7 @@ f64.const 1 call $~lib/util/number/dtoa i32.const 4688 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8680,7 +8648,7 @@ f64.const 12.34 call $~lib/util/number/dtoa i32.const 5232 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8693,7 +8661,7 @@ f64.const 0.3333333333333333 call $~lib/util/number/dtoa i32.const 5256 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8706,7 +8674,7 @@ f64.const 1234e17 call $~lib/util/number/dtoa i32.const 5304 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8719,7 +8687,7 @@ f64.const 1234e18 call $~lib/util/number/dtoa i32.const 5360 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8732,7 +8700,7 @@ f64.const 2.71828 call $~lib/util/number/dtoa i32.const 5392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8745,7 +8713,7 @@ f64.const 0.0271828 call $~lib/util/number/dtoa i32.const 5416 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8758,7 +8726,7 @@ f64.const 271.828 call $~lib/util/number/dtoa i32.const 5448 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8771,7 +8739,7 @@ f64.const 1.1e+128 call $~lib/util/number/dtoa i32.const 5472 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8784,7 +8752,7 @@ f64.const 1.1e-64 call $~lib/util/number/dtoa i32.const 5496 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8797,7 +8765,7 @@ f64.const 0.000035689 call $~lib/util/number/dtoa i32.const 5520 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8808,13 +8776,13 @@ unreachable end ) - (func $std/string/getString (; 55 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 53 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 56 ;) (type $FUNCSIG$v) + (func $start (; 54 ;) (type $FUNCSIG$v) call $start:std/string ) - (func $null (; 57 ;) (type $FUNCSIG$v) + (func $null (; 55 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index fa2e3a58..432d6c85 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -20,10 +20,10 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00") (data (i32.const 48) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 88) "\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 128) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 168) "\01\00\00\00\02\00\00\00\00\00") - (data (i32.const 184) "\01\00\00\00\02\00\00\006\00") + (data (i32.const 88) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 128) "\01\00\00\00\02\00\00\00\00\00") + (data (i32.const 144) "\01\00\00\00\02\00\00\006\00") + (data (i32.const 160) "\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 200) "\01\00\00\00\04\00\00\004\d8\06\df") (data (i32.const 216) "\01\00\00\00\04\00\00\00h\00i\00") (data (i32.const 232) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") @@ -218,18 +218,6 @@ i32.shr_u ) (func $~lib/string/String#charCodeAt (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 44 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 local.get $0 call $~lib/string/String#get:length @@ -365,7 +353,7 @@ i32.eqz if i32.const 0 - i32.const 136 + i32.const 96 i32.const 191 i32.const 2 call $~lib/env/abort @@ -380,7 +368,7 @@ i32.eqz if i32.const 0 - i32.const 136 + i32.const 96 i32.const 192 i32.const 2 call $~lib/env/abort @@ -471,7 +459,7 @@ end local.get $5 ) - (func $~lib/string/String.eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -526,7 +514,7 @@ i32.eqz if i32.const 0 - i32.const 96 + i32.const 168 i32.const 21 i32.const 4 call $~lib/env/abort @@ -599,8 +587,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 165 + i32.const 168 + i32.const 161 i32.const 4 call $~lib/env/abort unreachable @@ -665,8 +653,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 78 + i32.const 168 + i32.const 74 i32.const 4 call $~lib/env/abort unreachable @@ -729,8 +717,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 134 + i32.const 168 + i32.const 130 i32.const 4 call $~lib/env/abort unreachable @@ -2288,8 +2276,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 282 + i32.const 168 + i32.const 278 i32.const 4 call $~lib/env/abort unreachable @@ -2397,8 +2385,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 303 + i32.const 168 + i32.const 299 i32.const 4 call $~lib/env/abort unreachable @@ -2507,8 +2495,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 150 + i32.const 168 + i32.const 146 i32.const 4 call $~lib/env/abort unreachable @@ -3021,8 +3009,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 569 + i32.const 168 + i32.const 565 i32.const 10 call $~lib/env/abort unreachable @@ -3096,18 +3084,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 65 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 i32.const 0 i32.eq @@ -3161,24 +3137,23 @@ call $~lib/runtime/doRegister end ) - (func $~lib/string/String.concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.eqz - if - i32.const 240 - local.set $0 - end + i32.const 240 local.get $0 + i32.const 0 + i32.ne + select local.get $1 call $~lib/string/String#concat ) - (func $~lib/string/String.ne (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz ) - (func $~lib/string/String.gt (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3240,7 +3215,7 @@ i32.const 0 i32.gt_s ) - (func $~lib/string/String.lt (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3302,16 +3277,16 @@ i32.const 0 i32.lt_s ) - (func $~lib/string/String.gte (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz ) - (func $~lib/string/String.lte (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lte (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz ) (func $~lib/string/String#repeat (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -3324,8 +3299,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 324 + i32.const 168 + i32.const 320 i32.const 4 call $~lib/env/abort unreachable @@ -3352,8 +3327,8 @@ end if i32.const 0 - i32.const 96 - i32.const 329 + i32.const 168 + i32.const 325 i32.const 6 call $~lib/env/abort unreachable @@ -3806,7 +3781,7 @@ i32.gt_u if i32.const 0 - i32.const 136 + i32.const 96 i32.const 226 i32.const 57 call $~lib/env/abort @@ -3954,7 +3929,7 @@ i32.eqz if i32.const 0 - i32.const 136 + i32.const 96 i32.const 100 i32.const 8 call $~lib/env/abort @@ -3987,7 +3962,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureLength (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4014,7 +3989,7 @@ i32.const 0 i32.const 1440 i32.const 12 - i32.const 59 + i32.const 64 call $~lib/env/abort unreachable end @@ -4054,7 +4029,7 @@ i32.const 1 i32.add i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 i32.load offset=4 local.get $1 @@ -4075,35 +4050,7 @@ i32.store offset=12 end ) - (func $~lib/runtime/assertRegistered (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/HEADER_SIZE - i32.sub - i32.load - global.get $~lib/runtime/HEADER_MAGIC - i32.ne - i32.eqz - if - i32.const 0 - i32.const 136 - i32.const 199 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $~lib/runtime/doLink (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - call $~lib/runtime/assertRegistered - local.get $1 - call $~lib/runtime/assertRegistered - ) - (func $~lib/runtime/LINK> (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/runtime/doLink - ) - (func $~lib/array/Array#push (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -4113,7 +4060,7 @@ local.get $0 local.get $2 i32.const 2 - call $~lib/array/ensureLength + call $~lib/array/ensureCapacity local.get $0 local.get $2 i32.store offset=12 @@ -4129,7 +4076,30 @@ i32.store local.get $2 ) - (func $~lib/string/String#split (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/assertRegistered (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/HEADER_SIZE + i32.sub + i32.load + global.get $~lib/runtime/HEADER_MAGIC + i32.ne + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 199 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $~lib/runtime/doLink (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + call $~lib/runtime/assertRegistered + local.get $1 + call $~lib/runtime/assertRegistered + ) + (func $~lib/string/String#split (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4148,8 +4118,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 351 + i32.const 168 + i32.const 347 i32.const 4 call $~lib/env/abort unreachable @@ -4249,8 +4219,6 @@ i32.const 2 i32.shl i32.add - local.get $8 - i32.store block $~lib/runtime/REGISTER|inlined.7 (result i32) local.get $8 local.set $9 @@ -4258,8 +4226,7 @@ i32.const 1 call $~lib/runtime/doRegister end - local.get $3 - call $~lib/runtime/LINK> + i32.store end local.get $7 i32.const 1 @@ -4443,11 +4410,11 @@ end local.get $10 ) - (func $~lib/array/Array#get:length (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/util/number/decimalCount32 (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -4516,7 +4483,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa32_lut (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4659,7 +4626,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4723,7 +4690,7 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/utoa32 (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4767,7 +4734,7 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/decimalCount64 (; 53 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -4836,7 +4803,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa64_lut (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 53 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -4964,7 +4931,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 54 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5044,7 +5011,7 @@ call $~lib/runtime/doRegister end ) - (func $~lib/util/number/itoa64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5146,19 +5113,19 @@ call $~lib/runtime/doRegister end ) - (func $~lib/builtins/isFinite (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 56 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/builtins/isNaN (; 58 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/util/number/genDigits (; 59 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 58 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -5729,7 +5696,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6062,7 +6029,7 @@ unreachable unreachable ) - (func $~lib/util/number/dtoa_core (; 61 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 60 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -6508,7 +6475,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6523,8 +6490,8 @@ i32.eqz if i32.const 0 - i32.const 96 - i32.const 190 + i32.const 168 + i32.const 186 i32.const 4 call $~lib/env/abort unreachable @@ -6634,7 +6601,7 @@ call $~lib/runtime/doRegister end ) - (func $~lib/runtime/doDiscard (; 63 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/doDiscard (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/runtime/assertUnregistered local.get $0 @@ -6642,7 +6609,7 @@ i32.sub call $~lib/memory/memory.free ) - (func $~lib/util/number/dtoa (; 64 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 63 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6698,7 +6665,7 @@ end local.get $4 ) - (func $start:std/string (; 65 ;) (type $FUNCSIG$v) + (func $start:std/string (; 64 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6753,8 +6720,8 @@ global.set $~lib/allocator/arena/offset i32.const 0 call $~lib/string/String.fromCharCode - i32.const 176 - call $~lib/string/String.eq + i32.const 136 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6766,8 +6733,8 @@ end i32.const 54 call $~lib/string/String.fromCharCode - i32.const 192 - call $~lib/string/String.eq + i32.const 152 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6781,8 +6748,8 @@ i32.const 54 i32.add call $~lib/string/String.fromCharCode - i32.const 192 - call $~lib/string/String.eq + i32.const 152 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6794,8 +6761,8 @@ end i32.const 0 call $~lib/string/String.fromCodePoint - i32.const 176 - call $~lib/string/String.eq + i32.const 136 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6807,8 +6774,8 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - i32.const 192 - call $~lib/string/String.eq + i32.const 152 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6885,7 +6852,7 @@ i32.const 296 call $~lib/string/String#padStart global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6900,7 +6867,7 @@ i32.const 296 call $~lib/string/String#padStart global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6915,7 +6882,7 @@ i32.const 296 call $~lib/string/String#padStart i32.const 320 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6930,7 +6897,7 @@ i32.const 312 call $~lib/string/String#padStart i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6945,7 +6912,7 @@ i32.const 312 call $~lib/string/String#padStart i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6960,7 +6927,7 @@ i32.const 296 call $~lib/string/String#padStart i32.const 368 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6975,7 +6942,7 @@ i32.const 392 call $~lib/string/String#padStart i32.const 408 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6990,7 +6957,7 @@ i32.const 392 call $~lib/string/String#padStart i32.const 432 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7005,7 +6972,7 @@ i32.const 296 call $~lib/string/String#padEnd global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7020,7 +6987,7 @@ i32.const 296 call $~lib/string/String#padEnd global.get $std/string/str - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7035,7 +7002,7 @@ i32.const 296 call $~lib/string/String#padEnd i32.const 320 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7050,7 +7017,7 @@ i32.const 312 call $~lib/string/String#padEnd i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7065,7 +7032,7 @@ i32.const 312 call $~lib/string/String#padEnd i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7080,7 +7047,7 @@ i32.const 296 call $~lib/string/String#padEnd i32.const 456 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7095,7 +7062,7 @@ i32.const 352 call $~lib/string/String#padEnd i32.const 480 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7110,7 +7077,7 @@ i32.const 352 call $~lib/string/String#padEnd i32.const 504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7615,11 +7582,11 @@ end i32.const 336 i32.const 824 - call $~lib/string/String.concat + call $~lib/string/String.__concat global.set $std/string/c global.get $std/string/c i32.const 840 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7631,7 +7598,7 @@ end global.get $std/string/c i32.const 336 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7643,7 +7610,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7655,7 +7622,7 @@ end i32.const 312 global.get $std/string/nullStr - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7667,7 +7634,7 @@ end global.get $std/string/nullStr i32.const 312 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7679,7 +7646,7 @@ end i32.const 336 i32.const 824 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7691,7 +7658,7 @@ end i32.const 336 i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7703,7 +7670,7 @@ end i32.const 856 i32.const 872 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7715,7 +7682,7 @@ end i32.const 856 i32.const 856 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7727,7 +7694,7 @@ end i32.const 888 i32.const 904 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7739,7 +7706,7 @@ end i32.const 920 i32.const 944 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7751,7 +7718,7 @@ end i32.const 968 i32.const 968 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -7763,7 +7730,7 @@ end i32.const 968 i32.const 992 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7775,7 +7742,7 @@ end i32.const 1016 i32.const 1048 - call $~lib/string/String.ne + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -7787,7 +7754,7 @@ end i32.const 824 i32.const 336 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -7799,7 +7766,7 @@ end i32.const 1080 i32.const 336 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -7811,7 +7778,7 @@ end i32.const 1080 i32.const 1096 - call $~lib/string/String.gte + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -7823,7 +7790,7 @@ end i32.const 1080 i32.const 840 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -7835,7 +7802,7 @@ end i32.const 1080 i32.const 840 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz i32.eqz if @@ -7848,7 +7815,7 @@ end i32.const 824 global.get $std/string/nullStr - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz i32.eqz if @@ -7861,7 +7828,7 @@ end global.get $std/string/nullStr i32.const 824 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz i32.eqz if @@ -7874,7 +7841,7 @@ end i32.const 352 i32.const 312 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -7886,7 +7853,7 @@ end i32.const 312 i32.const 352 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz if i32.const 0 @@ -7898,7 +7865,7 @@ end i32.const 352 i32.const 312 - call $~lib/string/String.gte + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -7910,7 +7877,7 @@ end i32.const 312 i32.const 352 - call $~lib/string/String.lte + call $~lib/string/String.__lte i32.eqz if i32.const 0 @@ -7922,7 +7889,7 @@ end i32.const 352 i32.const 312 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz i32.eqz if @@ -7935,7 +7902,7 @@ end i32.const 312 i32.const 352 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz i32.eqz if @@ -7948,7 +7915,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.lt + call $~lib/string/String.__lt i32.eqz i32.eqz if @@ -7961,7 +7928,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz i32.eqz if @@ -7974,7 +7941,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.gte + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -7986,7 +7953,7 @@ end i32.const 312 i32.const 312 - call $~lib/string/String.lte + call $~lib/string/String.__lte i32.eqz if i32.const 0 @@ -8003,11 +7970,11 @@ call $~lib/string/String.fromCodePoint i32.const 56322 call $~lib/string/String.fromCodePoint - call $~lib/string/String.concat + call $~lib/string/String.__concat global.set $std/string/b global.get $std/string/a global.get $std/string/b - call $~lib/string/String.gt + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -8034,7 +8001,7 @@ i32.const 100 call $~lib/string/String#repeat i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8048,7 +8015,7 @@ i32.const 0 call $~lib/string/String#repeat i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8062,7 +8029,7 @@ i32.const 1 call $~lib/string/String#repeat i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8076,7 +8043,7 @@ i32.const 2 call $~lib/string/String#repeat i32.const 1096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8090,7 +8057,7 @@ i32.const 3 call $~lib/string/String#repeat i32.const 1112 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8104,7 +8071,7 @@ i32.const 4 call $~lib/string/String#repeat i32.const 1128 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8118,7 +8085,7 @@ i32.const 5 call $~lib/string/String#repeat i32.const 1152 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8132,7 +8099,7 @@ i32.const 6 call $~lib/string/String#repeat i32.const 1176 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8146,7 +8113,7 @@ i32.const 7 call $~lib/string/String#repeat i32.const 1200 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8163,7 +8130,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice i32.const 1224 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8178,7 +8145,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice i32.const 1264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8193,7 +8160,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice i32.const 1280 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8208,7 +8175,7 @@ i32.const 7 call $~lib/string/String#slice i32.const 1304 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8223,7 +8190,7 @@ i32.const -6 call $~lib/string/String#slice i32.const 1328 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8238,7 +8205,7 @@ i32.const 3 call $~lib/string/String#slice i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8253,7 +8220,7 @@ i32.const -1 call $~lib/string/String#slice i32.const 1352 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -8290,7 +8257,7 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8348,7 +8315,7 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8388,7 +8355,7 @@ select i32.load i32.const 1480 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8428,7 +8395,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8452,7 +8419,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8476,7 +8443,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8518,7 +8485,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8542,7 +8509,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8566,7 +8533,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8608,7 +8575,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8632,7 +8599,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8656,7 +8623,7 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8680,7 +8647,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8722,7 +8689,7 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8746,7 +8713,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8770,7 +8737,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8794,7 +8761,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8836,7 +8803,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8860,7 +8827,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8884,7 +8851,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8908,7 +8875,7 @@ select i32.load i32.const 312 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8950,7 +8917,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8974,7 +8941,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -8998,7 +8965,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9058,7 +9025,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9098,7 +9065,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9138,7 +9105,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9162,7 +9129,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9186,7 +9153,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9228,7 +9195,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9252,7 +9219,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9276,7 +9243,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9318,7 +9285,7 @@ select i32.load i32.const 336 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9342,7 +9309,7 @@ select i32.load i32.const 824 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9366,7 +9333,7 @@ select i32.load i32.const 1520 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $2 end @@ -9384,7 +9351,7 @@ i32.const 0 call $~lib/util/number/itoa32 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9397,7 +9364,7 @@ i32.const 1 call $~lib/util/number/itoa32 i32.const 624 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9410,7 +9377,7 @@ i32.const 8 call $~lib/util/number/itoa32 i32.const 2080 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9423,7 +9390,7 @@ i32.const 123 call $~lib/util/number/itoa32 i32.const 392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9436,7 +9403,7 @@ i32.const -1000 call $~lib/util/number/itoa32 i32.const 2096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9449,7 +9416,7 @@ i32.const 1234 call $~lib/util/number/itoa32 i32.const 2120 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9462,7 +9429,7 @@ i32.const 12345 call $~lib/util/number/itoa32 i32.const 2136 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9475,7 +9442,7 @@ i32.const 123456 call $~lib/util/number/itoa32 i32.const 2160 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9488,7 +9455,7 @@ i32.const 1111111 call $~lib/util/number/itoa32 i32.const 2184 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9501,7 +9468,7 @@ i32.const 1234567 call $~lib/util/number/itoa32 i32.const 2208 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9514,7 +9481,7 @@ i32.const 2147483646 call $~lib/util/number/itoa32 i32.const 2232 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9527,7 +9494,7 @@ i32.const 2147483647 call $~lib/util/number/itoa32 i32.const 2264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9540,7 +9507,7 @@ i32.const -2147483648 call $~lib/util/number/itoa32 i32.const 2296 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9553,7 +9520,7 @@ i32.const -1 call $~lib/util/number/itoa32 i32.const 2328 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9566,7 +9533,7 @@ i32.const 0 call $~lib/util/number/utoa32 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9579,7 +9546,7 @@ i32.const 1000 call $~lib/util/number/utoa32 i32.const 2344 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9592,7 +9559,7 @@ i32.const 2147483647 call $~lib/util/number/utoa32 i32.const 2264 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9605,7 +9572,7 @@ i32.const -2147483648 call $~lib/util/number/utoa32 i32.const 2360 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9618,7 +9585,7 @@ global.get $~lib/builtins/u32.MAX_VALUE call $~lib/util/number/utoa32 i32.const 2392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9631,7 +9598,7 @@ i64.const 0 call $~lib/util/number/utoa64 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9644,7 +9611,7 @@ i64.const 1234 call $~lib/util/number/utoa64 i32.const 2120 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9657,7 +9624,7 @@ i64.const 99999999 call $~lib/util/number/utoa64 i32.const 2424 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9670,7 +9637,7 @@ i64.const 100000000 call $~lib/util/number/utoa64 i32.const 2448 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9683,7 +9650,7 @@ i64.const 4294967295 call $~lib/util/number/utoa64 i32.const 2392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9696,7 +9663,7 @@ i64.const 68719476735 call $~lib/util/number/utoa64 i32.const 2480 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9709,7 +9676,7 @@ i64.const 868719476735 call $~lib/util/number/utoa64 i32.const 2512 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9722,7 +9689,7 @@ i64.const 999868719476735 call $~lib/util/number/utoa64 i32.const 2544 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9735,7 +9702,7 @@ i64.const 9999868719476735 call $~lib/util/number/utoa64 i32.const 2584 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9748,7 +9715,7 @@ i64.const 19999868719476735 call $~lib/util/number/utoa64 i32.const 2624 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9761,7 +9728,7 @@ global.get $~lib/builtins/u64.MAX_VALUE call $~lib/util/number/utoa64 i32.const 2672 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9774,7 +9741,7 @@ i64.const 0 call $~lib/util/number/itoa64 i32.const 608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9787,7 +9754,7 @@ i64.const -1234 call $~lib/util/number/itoa64 i32.const 2720 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9800,7 +9767,7 @@ i64.const 4294967295 call $~lib/util/number/itoa64 i32.const 2392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9813,7 +9780,7 @@ i64.const -4294967295 call $~lib/util/number/itoa64 i32.const 2744 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9826,7 +9793,7 @@ i64.const 68719476735 call $~lib/util/number/itoa64 i32.const 2480 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9839,7 +9806,7 @@ i64.const -68719476735 call $~lib/util/number/itoa64 i32.const 2776 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9852,7 +9819,7 @@ i64.const -868719476735 call $~lib/util/number/itoa64 i32.const 2808 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9865,7 +9832,7 @@ i64.const -999868719476735 call $~lib/util/number/itoa64 i32.const 2848 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9878,7 +9845,7 @@ i64.const -19999868719476735 call $~lib/util/number/itoa64 i32.const 2888 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9891,7 +9858,7 @@ global.get $~lib/builtins/i64.MAX_VALUE call $~lib/util/number/itoa64 i32.const 2936 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9904,7 +9871,7 @@ global.get $~lib/builtins/i64.MIN_VALUE call $~lib/util/number/itoa64 i32.const 2984 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9917,7 +9884,7 @@ f64.const 0 call $~lib/util/number/dtoa i32.const 3032 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9930,7 +9897,7 @@ f64.const -0 call $~lib/util/number/dtoa i32.const 3032 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9943,7 +9910,7 @@ f64.const nan:0x8000000000000 call $~lib/util/number/dtoa i32.const 3048 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9956,7 +9923,7 @@ f64.const inf call $~lib/util/number/dtoa i32.const 3096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9970,7 +9937,7 @@ f64.neg call $~lib/util/number/dtoa i32.const 3064 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9983,7 +9950,7 @@ global.get $~lib/builtins/f64.EPSILON call $~lib/util/number/dtoa i32.const 4128 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9997,7 +9964,7 @@ f64.neg call $~lib/util/number/dtoa i32.const 4184 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10010,7 +9977,7 @@ global.get $~lib/builtins/f64.MAX_VALUE call $~lib/util/number/dtoa i32.const 4240 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10024,7 +9991,7 @@ f64.neg call $~lib/util/number/dtoa i32.const 4296 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10037,7 +10004,7 @@ f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa i32.const 4352 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10050,7 +10017,7 @@ f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa i32.const 4408 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10063,7 +10030,7 @@ f64.const 4.940656e-318 call $~lib/util/number/dtoa i32.const 4464 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10076,7 +10043,7 @@ f64.const 9060801153433600 call $~lib/util/number/dtoa i32.const 4504 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10089,7 +10056,7 @@ f64.const 4708356024711512064 call $~lib/util/number/dtoa i32.const 4552 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10102,7 +10069,7 @@ f64.const 9409340012568248320 call $~lib/util/number/dtoa i32.const 4608 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10115,7 +10082,7 @@ f64.const 5e-324 call $~lib/util/number/dtoa i32.const 4664 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10128,7 +10095,7 @@ f64.const 1 call $~lib/util/number/dtoa i32.const 4688 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10141,7 +10108,7 @@ f64.const 0.1 call $~lib/util/number/dtoa i32.const 768 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10154,7 +10121,7 @@ f64.const -1 call $~lib/util/number/dtoa i32.const 4704 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10167,7 +10134,7 @@ f64.const -0.1 call $~lib/util/number/dtoa i32.const 4720 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10180,7 +10147,7 @@ f64.const 1e6 call $~lib/util/number/dtoa i32.const 4736 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10193,7 +10160,7 @@ f64.const 1e-06 call $~lib/util/number/dtoa i32.const 4768 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10206,7 +10173,7 @@ f64.const -1e6 call $~lib/util/number/dtoa i32.const 4792 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10219,7 +10186,7 @@ f64.const -1e-06 call $~lib/util/number/dtoa i32.const 4824 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10232,7 +10199,7 @@ f64.const 1e7 call $~lib/util/number/dtoa i32.const 4856 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10245,7 +10212,7 @@ f64.const 1e-07 call $~lib/util/number/dtoa i32.const 4888 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10258,7 +10225,7 @@ f64.const 1.e+308 call $~lib/util/number/dtoa i32.const 4904 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10271,7 +10238,7 @@ f64.const -1.e+308 call $~lib/util/number/dtoa i32.const 4928 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10284,7 +10251,7 @@ f64.const inf call $~lib/util/number/dtoa i32.const 3096 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10297,7 +10264,7 @@ f64.const -inf call $~lib/util/number/dtoa i32.const 3064 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10310,7 +10277,7 @@ f64.const 1e-308 call $~lib/util/number/dtoa i32.const 4952 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10323,7 +10290,7 @@ f64.const -1e-308 call $~lib/util/number/dtoa i32.const 4976 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10336,7 +10303,7 @@ f64.const 1e-323 call $~lib/util/number/dtoa i32.const 5000 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10349,7 +10316,7 @@ f64.const -1e-323 call $~lib/util/number/dtoa i32.const 5024 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10362,7 +10329,7 @@ f64.const 0 call $~lib/util/number/dtoa i32.const 3032 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10375,7 +10342,7 @@ f64.const 4294967272 call $~lib/util/number/dtoa i32.const 5048 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10388,7 +10355,7 @@ f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa i32.const 5080 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10401,7 +10368,7 @@ f64.const 555555555.5555556 call $~lib/util/number/dtoa i32.const 5136 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10414,7 +10381,7 @@ f64.const 0.9999999999999999 call $~lib/util/number/dtoa i32.const 5184 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10427,7 +10394,7 @@ f64.const 1 call $~lib/util/number/dtoa i32.const 4688 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10440,7 +10407,7 @@ f64.const 12.34 call $~lib/util/number/dtoa i32.const 5232 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10455,7 +10422,7 @@ f64.div call $~lib/util/number/dtoa i32.const 5256 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10468,7 +10435,7 @@ f64.const 1234e17 call $~lib/util/number/dtoa i32.const 5304 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10481,7 +10448,7 @@ f64.const 1234e18 call $~lib/util/number/dtoa i32.const 5360 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10494,7 +10461,7 @@ f64.const 2.71828 call $~lib/util/number/dtoa i32.const 5392 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10507,7 +10474,7 @@ f64.const 0.0271828 call $~lib/util/number/dtoa i32.const 5416 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10520,7 +10487,7 @@ f64.const 271.828 call $~lib/util/number/dtoa i32.const 5448 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10533,7 +10500,7 @@ f64.const 1.1e+128 call $~lib/util/number/dtoa i32.const 5472 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10546,7 +10513,7 @@ f64.const 1.1e-64 call $~lib/util/number/dtoa i32.const 5496 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10559,7 +10526,7 @@ f64.const 0.000035689 call $~lib/util/number/dtoa i32.const 5520 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -10570,12 +10537,12 @@ unreachable end ) - (func $std/string/getString (; 66 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 65 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 67 ;) (type $FUNCSIG$v) + (func $start (; 66 ;) (type $FUNCSIG$v) call $start:std/string ) - (func $null (; 68 ;) (type $FUNCSIG$v) + (func $null (; 67 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index ce390ff4..2113f214 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -28,12 +28,11 @@ (data (i32.const 448) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") (data (i32.const 480) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") (data (i32.const 504) "\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 520) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 560) "\01\00\00\00\02\00\00\00)") - (data (i32.const 576) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") - (data (i32.const 600) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") - (data (i32.const 632) "\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 680) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") + (data (i32.const 520) "\01\00\00\00\02\00\00\00)") + (data (i32.const 536) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data (i32.const 560) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data (i32.const 592) "\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 640) "\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)") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) @@ -139,7 +138,7 @@ ) (func $~lib/runtime/assertUnregistered (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 740 + i32.const 700 i32.le_u if i32.const 0 @@ -562,7 +561,7 @@ end local.get $3 ) - (func $~lib/string/String.eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -633,7 +632,7 @@ local.get $1 i32.load i32.const 16 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $0 end @@ -2291,16 +2290,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 65 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 i32.const 512 local.get $1 @@ -2346,7 +2335,7 @@ i32.const 1 call $~lib/runtime/doRegister ) - (func $~lib/string/String.concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 512 local.get $0 @@ -2434,9 +2423,9 @@ i32.const 160 end end - call $~lib/string/String.concat - i32.const 568 - call $~lib/string/String.concat + call $~lib/string/String.__concat + i32.const 528 + call $~lib/string/String.__concat ) (func $start:std/symbol (; 29 ;) (type $FUNCSIG$v) (local $0 i32) @@ -2475,7 +2464,7 @@ call $~lib/env/abort unreachable end - i32.const 744 + i32.const 704 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -2526,7 +2515,7 @@ global.set $std/symbol/key4 global.get $std/symbol/key3 i32.const 16 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2538,7 +2527,7 @@ end global.get $std/symbol/key3 global.get $std/symbol/key4 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2560,8 +2549,8 @@ end local.get $0 call $~lib/symbol/_Symbol#toString - i32.const 584 - call $~lib/string/String.eq + i32.const 544 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2573,8 +2562,8 @@ end global.get $std/symbol/sym3 call $~lib/symbol/_Symbol#toString - i32.const 608 - call $~lib/string/String.eq + i32.const 568 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2590,8 +2579,8 @@ global.set $std/symbol/isConcatSpreadable global.get $std/symbol/hasInstance call $~lib/symbol/_Symbol#toString - i32.const 640 - call $~lib/string/String.eq + i32.const 600 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -2603,8 +2592,8 @@ end global.get $std/symbol/isConcatSpreadable call $~lib/symbol/_Symbol#toString - i32.const 688 - call $~lib/string/String.eq + i32.const 648 + call $~lib/string/String.__eq i32.eqz if i32.const 0 diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 274f9b61..50b9392d 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -28,12 +28,11 @@ (data (i32.const 448) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") (data (i32.const 480) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") (data (i32.const 504) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 520) "\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 560) "\01\00\00\00\02\00\00\00)\00") - (data (i32.const 576) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") - (data (i32.const 600) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") - (data (i32.const 632) "\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") - (data (i32.const 680) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00") + (data (i32.const 520) "\01\00\00\00\02\00\00\00)\00") + (data (i32.const 536) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") + (data (i32.const 560) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") + (data (i32.const 592) "\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") + (data (i32.const 640) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 0)) @@ -58,7 +57,7 @@ (global $std/symbol/hasInstance (mut i32) (i32.const 0)) (global $~lib/symbol/_Symbol.isConcatSpreadable i32 (i32.const 2)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 740)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 700)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -764,7 +763,7 @@ end local.get $5 ) - (func $~lib/string/String.eq (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -837,7 +836,7 @@ local.get $3 i32.load local.get $1 - call $~lib/string/String.eq + call $~lib/string/String.__eq else local.get $4 end @@ -3006,18 +3005,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 65 - i32.const 4 - call $~lib/env/abort - unreachable - end local.get $1 i32.const 0 i32.eq @@ -3071,14 +3058,13 @@ call $~lib/runtime/doRegister end ) - (func $~lib/string/String.concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.eqz - if - i32.const 512 - local.set $0 - end + i32.const 512 local.get $0 + i32.const 0 + i32.ne + select local.get $1 call $~lib/string/String#concat ) @@ -3264,9 +3250,9 @@ end i32.const 488 local.get $2 - call $~lib/string/String.concat - i32.const 568 - call $~lib/string/String.concat + call $~lib/string/String.__concat + i32.const 528 + call $~lib/string/String.__concat ) (func $start:std/symbol (; 36 ;) (type $FUNCSIG$v) i32.const 16 @@ -3353,7 +3339,7 @@ global.set $std/symbol/key4 global.get $std/symbol/key3 i32.const 16 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3365,7 +3351,7 @@ end global.get $std/symbol/key3 global.get $std/symbol/key4 - call $~lib/string/String.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3378,8 +3364,8 @@ i32.const 0 call $~lib/symbol/Symbol call $~lib/symbol/_Symbol#toString - i32.const 584 - call $~lib/string/String.eq + i32.const 544 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3391,8 +3377,8 @@ end global.get $std/symbol/sym3 call $~lib/symbol/_Symbol#toString - i32.const 608 - call $~lib/string/String.eq + i32.const 568 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3408,8 +3394,8 @@ global.set $std/symbol/isConcatSpreadable global.get $std/symbol/hasInstance call $~lib/symbol/_Symbol#toString - i32.const 640 - call $~lib/string/String.eq + i32.const 600 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -3421,8 +3407,8 @@ end global.get $std/symbol/isConcatSpreadable call $~lib/symbol/_Symbol#toString - i32.const 688 - call $~lib/string/String.eq + i32.const 648 + call $~lib/string/String.__eq i32.eqz if i32.const 0