diff --git a/cli/asc.json b/cli/asc.json index 2c98bb24..0272886a 100644 --- a/cli/asc.json +++ b/cli/asc.json @@ -83,7 +83,7 @@ }, "runtime": { "description": [ - "Specifies the runtime implementation to include in the program.", + "Specifies the runtime variant to include in the program.", "", " full Default runtime based on TLSF and reference counting.", " half Same as 'full', but not exported to the host.", diff --git a/lib/i64/README.md b/lib/i64/README.md index 57041494..23c41df6 100644 --- a/lib/i64/README.md +++ b/lib/i64/README.md @@ -1,5 +1,4 @@ -@assemblyscript/i64 -=================== +# ![AS](https://avatars1.githubusercontent.com/u/28916798?s=48) i64 Exposes WebAssembly's i64 operations to JavaScript using 32-bit integers (low and high bits). diff --git a/std/assembly/builtins.ts b/std/assembly/builtins.ts index 8cc28782..d12e40ac 100644 --- a/std/assembly/builtins.ts +++ b/std/assembly/builtins.ts @@ -1,11 +1,3 @@ -// @ts-ignore: decorator -@builtin @inline -export const NaN: f64 = 0 / 0; - -// @ts-ignore: decorator -@builtin @inline -export const Infinity: f64 = 1 / 0; - // @ts-ignore: decorator @builtin export declare function isInteger(value?: T): bool; @@ -58,20 +50,6 @@ export declare function isConstant(expression: void): bool; @builtin export declare function isManaged(value?: T): bool; -export function isNaN(value: T): bool { - if (!isFloat()) { - if (!isInteger()) ERROR("numeric type expected"); - } - return value != value; -} - -export function isFinite(value: T): bool { - if (!isFloat()) { - if (!isInteger()) ERROR("numeric type expected"); - } - return value - value == 0; -} - // @ts-ignore: decorator @builtin export declare function clz(value: T): T; diff --git a/std/assembly/number.ts b/std/assembly/number.ts index a2937286..9b9072cb 100644 --- a/std/assembly/number.ts +++ b/std/assembly/number.ts @@ -1,5 +1,26 @@ import { itoa, dtoa } from "./util/number"; -import { isNaN as builtin_isNaN, isFinite as builtin_isFinite } from "./builtins"; + +// @ts-ignore: decorator +@builtin @inline +export const NaN: f64 = 0 / 0; + +// @ts-ignore: decorator +@builtin @inline +export const Infinity: f64 = 1 / 0; + +export function isNaN(value: T): bool { + if (!isFloat()) { + if (!isInteger()) ERROR("numeric type expected"); + } + return value != value; +} + +export function isFinite(value: T): bool { + if (!isFloat()) { + if (!isInteger()) ERROR("numeric type expected"); + } + return value - value == 0; +} @sealed @unmanaged export abstract class I8 { @@ -331,11 +352,11 @@ export abstract class F64 { static readonly NaN: f64 = NaN; static isNaN(value: f64): bool { - return builtin_isNaN(value); + return isNaN(value); } static isFinite(value: f64): bool { - return builtin_isFinite(value); + return isFinite(value); } static isSafeInteger(value: f64): bool { @@ -343,7 +364,7 @@ export abstract class F64 { } static isInteger(value: f64): bool { - return builtin_isFinite(value) && trunc(value) == value; + return isFinite(value) && trunc(value) == value; } static parseInt(value: string, radix: i32 = 0): f64 { @@ -354,7 +375,7 @@ export abstract class F64 { return parseFloat(value); } - toString(this: f64): String { + toString(this: f64, radix: i32 = 0): String { // TODO: radix return dtoa(this); } diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 3e7f06c7..13319fe4 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -1,7 +1,7 @@ /// import { BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./rt/common"; -import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./util/string"; +import { compareImpl, strtol, strtod, isWhiteSpaceOrLineTerminator } from "./util/string"; import { E_INVALIDLENGTH } from "./util/error"; import { ArrayBufferView } from "./arraybuffer"; import { idof } from "./builtins"; @@ -522,72 +522,10 @@ import { idof } from "./builtins"; // @ts-ignore: nolib export type string = String; -export function parseInt(str: String, radix: i32 = 0): f64 { - // @ts-ignore: string <-> String - return parse(str, radix); +export function parseInt(str: string, radix: i32 = 0): f64 { + return strtol(str, radix); } -export function parseI32(str: String, radix: i32 = 0): i32 { - // @ts-ignore: string <-> String - return parse(str, radix); -} - -export function parseI64(str: String, radix: i32 = 0): i64 { - // @ts-ignore: string <-> String - return parse(str, radix); -} - -// FIXME: naive implementation -export function parseFloat(str: String): f64 { - var len: i32 = str.length; - if (!len) return NaN; - - var ptr = changetype(str); - var code = load(ptr); - - // determine sign - var sign: f64; - // trim white spaces - while (isWhiteSpaceOrLineTerminator(code)) { - code = load(ptr += 2); - --len; - } - if (code == CharCode.MINUS) { - if (!--len) return NaN; - code = load(ptr += 2); - sign = -1; - } else if (code == CharCode.PLUS) { - if (!--len) return NaN; - code = load(ptr += 2); - sign = 1; - } else { - sign = 1; - } - - // calculate value - var num: f64 = 0; - while (len--) { - code = load(ptr); - if (code == CharCode.DOT) { - ptr += 2; - let fac: f64 = 0.1; // precision :( - while (len--) { - code = load(ptr); - if (code == CharCode.E || code == CharCode.e) { - assert(false); // TODO - } - code -= CharCode._0; - if (code > 9) break; - num += code * fac; - fac *= 0.1; - ptr += 2; - } - break; - } - code -= CharCode._0; - if (code >= 10) break; - num = (num * 10) + code; - ptr += 2; - } - return sign * num; +export function parseFloat(str: string): f64 { + return strtod(str); } diff --git a/std/assembly/util/string.ts b/std/assembly/util/string.ts index f03a936e..f9ff39a9 100644 --- a/std/assembly/util/string.ts +++ b/std/assembly/util/string.ts @@ -57,7 +57,7 @@ export function isWhiteSpaceOrLineTerminator(c: i32): bool { } /** Parses a string to an integer (usually), using the specified radix. */ -export function parse(str: string, radix: i32 = 0): T { +export function strtol(str: string, radix: i32 = 0): T { var len: i32 = str.length; // @ts-ignore: cast if (!len) return NaN; @@ -139,3 +139,58 @@ export function parse(str: string, radix: i32 = 0): T { // @ts-ignore: type return sign * num; } + +// FIXME: naive implementation +export function strtod(str: string): f64 { + var len: i32 = str.length; + if (!len) return NaN; + + var ptr = changetype(str); + var code = load(ptr); + + // determine sign + var sign: f64; + // trim white spaces + while (isWhiteSpaceOrLineTerminator(code)) { + code = load(ptr += 2); + --len; + } + if (code == CharCode.MINUS) { + if (!--len) return NaN; + code = load(ptr += 2); + sign = -1; + } else if (code == CharCode.PLUS) { + if (!--len) return NaN; + code = load(ptr += 2); + sign = 1; + } else { + sign = 1; + } + + // calculate value + var num: f64 = 0; + while (len--) { + code = load(ptr); + if (code == CharCode.DOT) { + ptr += 2; + let fac: f64 = 0.1; // precision :( + while (len--) { + code = load(ptr); + if (code == CharCode.E || code == CharCode.e) { + assert(false); // TODO + } + code -= CharCode._0; + if (code > 9) break; + num += code * fac; + fac *= 0.1; + ptr += 2; + } + break; + } + code -= CharCode._0; + if (code >= 10) break; + num = (num * 10) + code; + ptr += 2; + } + return sign * num; +} diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index 38ab0e52..696dd9c7 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -1188,7 +1188,7 @@ local.get $16 f64.mul ) - (func $~lib/builtins/isNaN (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -1243,7 +1243,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -2464,7 +2464,7 @@ local.get $11 f32.mul ) - (func $~lib/builtins/isNaN (; 6 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 6 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -2519,7 +2519,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 diff --git a/tests/compiler/builtins.optimized.wat b/tests/compiler/builtins.optimized.wat index d5b505b6..db3da645 100644 --- a/tests/compiler/builtins.optimized.wat +++ b/tests/compiler/builtins.optimized.wat @@ -23,24 +23,24 @@ (export "memory" (memory $0)) (export "test" (func $builtins/test)) (start $start) - (func $~lib/builtins/isNaN (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $~lib/builtins/isFinite (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isFinite (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub f32.const 0 f32.eq ) - (func $~lib/builtins/isNaN (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/builtins/isFinite (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -150,7 +150,7 @@ unreachable end f32.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if i32.const 0 i32.const 24 @@ -160,7 +160,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.const 1 i32.ne if @@ -172,7 +172,7 @@ unreachable end f32.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 1 i32.ne if @@ -184,7 +184,7 @@ unreachable end f32.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -194,7 +194,7 @@ unreachable end f32.const -inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -204,7 +204,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -236,13 +236,13 @@ f32.const 1 global.set $builtins/f f32.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN global.set $builtins/b f32.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite global.set $builtins/b f64.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if i32.const 0 i32.const 24 @@ -252,7 +252,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.const 1 i32.ne if @@ -264,7 +264,7 @@ unreachable end f64.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 1 i32.ne if @@ -276,7 +276,7 @@ unreachable end f64.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -286,7 +286,7 @@ unreachable end f64.const -inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -296,7 +296,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -328,10 +328,10 @@ f64.const 1 global.set $builtins/F f64.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN global.set $builtins/b f64.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite global.set $builtins/b i32.const 8 i32.load @@ -533,7 +533,7 @@ global.get $builtins/fn call_indirect (type $FUNCSIG$vii) f32.const nan:0x400000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -544,7 +544,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -555,7 +555,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -565,7 +565,7 @@ unreachable end f32.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -575,7 +575,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -585,7 +585,7 @@ unreachable end f64.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite if i32.const 0 i32.const 24 @@ -595,7 +595,7 @@ unreachable end f32.const 0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if i32.const 0 @@ -606,7 +606,7 @@ unreachable end f64.const 0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if i32.const 0 @@ -685,9 +685,6 @@ i32.const 8 f64.const 1 f64.store - f64.const 1 - call $~lib/builtins/isNaN - drop ) (func $builtins/test (; 7 ;) (type $FUNCSIG$v) nop diff --git a/tests/compiler/builtins.ts b/tests/compiler/builtins.ts index 0ed738f8..5cfd3dbb 100644 --- a/tests/compiler/builtins.ts +++ b/tests/compiler/builtins.ts @@ -418,7 +418,3 @@ f64.store(8, 1.0); f32.trunc(1.0); f64.trunc(1.0); - -// should be importable -import { isNaN as isItNaN } from "builtins"; -isItNaN(1); diff --git a/tests/compiler/builtins.untouched.wat b/tests/compiler/builtins.untouched.wat index c872652f..ccaebd24 100644 --- a/tests/compiler/builtins.untouched.wat +++ b/tests/compiler/builtins.untouched.wat @@ -54,24 +54,24 @@ (export "memory" (memory $0)) (export "test" (func $builtins/test)) (start $start) - (func $~lib/builtins/isNaN (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $~lib/builtins/isFinite (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isFinite (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub f32.const 0 f32.eq ) - (func $~lib/builtins/isNaN (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/builtins/isFinite (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -751,7 +751,7 @@ f32.trunc drop f32.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.const 0 i32.eq i32.eqz @@ -764,7 +764,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.const 1 i32.eq i32.eqz @@ -777,7 +777,7 @@ unreachable end f32.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 1 i32.eq i32.eqz @@ -790,7 +790,7 @@ unreachable end f32.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 0 i32.eq i32.eqz @@ -804,7 +804,7 @@ end f32.const inf f32.neg - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 0 i32.eq i32.eqz @@ -817,7 +817,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 0 i32.eq i32.eqz @@ -864,10 +864,10 @@ f32.trunc global.set $builtins/f f32.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN global.set $builtins/b f32.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite global.set $builtins/b f64.const nan:0x8000000000000 drop @@ -908,7 +908,7 @@ f64.trunc drop f64.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.const 0 i32.eq i32.eqz @@ -921,7 +921,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.const 1 i32.eq i32.eqz @@ -934,7 +934,7 @@ unreachable end f64.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 1 i32.eq i32.eqz @@ -947,7 +947,7 @@ unreachable end f64.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 0 i32.eq i32.eqz @@ -961,7 +961,7 @@ end f64.const inf f64.neg - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 0 i32.eq i32.eqz @@ -974,7 +974,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.const 0 i32.eq i32.eqz @@ -1021,10 +1021,10 @@ f64.trunc global.set $builtins/F f64.const 1.25 - call $~lib/builtins/isNaN + call $~lib/number/isNaN global.set $builtins/b f64.const 1.25 - call $~lib/builtins/isFinite + call $~lib/number/isFinite global.set $builtins/b i32.const 8 i32.load @@ -1555,7 +1555,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -1566,7 +1566,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -1577,7 +1577,7 @@ unreachable end f32.const nan:0x400000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz i32.eqz if @@ -1589,7 +1589,7 @@ unreachable end f32.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz i32.eqz if @@ -1601,7 +1601,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz i32.eqz if @@ -1613,7 +1613,7 @@ unreachable end f64.const inf - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz i32.eqz if @@ -1625,7 +1625,7 @@ unreachable end f32.const 0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if i32.const 0 @@ -1636,7 +1636,7 @@ unreachable end f64.const 0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if i32.const 0 @@ -2213,9 +2213,6 @@ f64.const 1 f64.trunc drop - f64.const 1 - call $~lib/builtins/isNaN - drop ) (func $builtins/test (; 7 ;) (type $FUNCSIG$v) nop diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 46c69f14..d2fb694b 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -305,14 +305,14 @@ end i32.const 0 ) - (func $~lib/builtins/isFinite (; 8 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 8 ;) (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 (; 9 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 9 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -1407,11 +1407,11 @@ (local $0 i32) (local $1 i32) f64.const 2 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 2 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if i32.const 136 return @@ -1479,7 +1479,7 @@ ) (func $~lib/number/F64.isInteger (; 20 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if (result i32) local.get $0 f64.trunc @@ -1876,7 +1876,7 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 diff --git a/tests/compiler/number.untouched.wat b/tests/compiler/number.untouched.wat index eca663d2..329dd674 100644 --- a/tests/compiler/number.untouched.wat +++ b/tests/compiler/number.untouched.wat @@ -5,6 +5,7 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$idi (func (param f64 i32) (result i32))) (type $FUNCSIG$id (func (param f64) (result i32))) (type $FUNCSIG$iid (func (param i32 f64) (result i32))) (type $FUNCSIG$jii (func (param i32 i32) (result i64))) @@ -588,14 +589,14 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/builtins/isFinite (; 12 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 12 ;) (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 (; 13 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 13 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -3495,11 +3496,11 @@ return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if i32.const 584 call $~lib/rt/stub/__retain @@ -3541,7 +3542,7 @@ call $~lib/rt/stub/__free local.get $3 ) - (func $~lib/number/F64#toString (; 24 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/F64#toString (; 24 ;) (type $FUNCSIG$idi) (param $0 f64) (param $1 i32) (result i32) local.get $0 call $~lib/util/number/dtoa ) @@ -3560,7 +3561,7 @@ end call $~lib/rt/stub/__retain ) - (func $~lib/builtins/isNaN (; 26 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 26 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -3579,7 +3580,7 @@ i32.const 0 end ) - (func $~lib/builtins/isFinite (; 28 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isFinite (; 28 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub @@ -3588,7 +3589,7 @@ ) (func $~lib/number/F32.isInteger (; 29 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if (result i32) local.get $0 f32.trunc @@ -3614,7 +3615,7 @@ ) (func $~lib/number/F64.isInteger (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite if (result i32) local.get $0 f64.trunc @@ -3661,6 +3662,7 @@ unreachable end f64.const 2 + i32.const 0 call $~lib/number/F64#toString local.tee $1 i32.const 1800 @@ -3829,7 +3831,7 @@ unreachable end global.get $~lib/number/F32.NaN - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -4104,7 +4106,7 @@ unreachable end global.get $~lib/number/F64.NaN - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 9645a322..e1b51053 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -4584,7 +4584,7 @@ i32.lt_s i32.sub ) - (func $~lib/builtins/isNaN (; 102 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 102 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -4619,11 +4619,11 @@ local.get $0 local.get $2 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN local.get $1 local.get $2 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.ne if local.get $0 @@ -5117,7 +5117,7 @@ i32.add f64.load ) - (func $~lib/builtins/isNaN (; 109 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 109 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -5152,11 +5152,11 @@ local.get $0 local.get $2 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN local.get $1 local.get $2 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.ne if local.get $0 @@ -7693,7 +7693,7 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/builtins/isFinite (; 165 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 165 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -8652,11 +8652,11 @@ return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if i32.const 4944 call $~lib/rt/pure/__retain @@ -8718,11 +8718,11 @@ return end local.get $2 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $2 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 i32.const 78 diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 05e8f317..daa41504 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -7311,7 +7311,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/builtins/isNaN (; 135 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 135 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -7372,11 +7372,11 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN local.get $1 local.get $3 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eq if br $continue|0 @@ -7966,7 +7966,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/builtins/isNaN (; 145 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 145 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -8027,11 +8027,11 @@ local.get $0 local.get $3 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN local.get $1 local.get $3 call $~lib/array/Array#__get - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eq if br $continue|0 @@ -12880,7 +12880,7 @@ local.get $2 return ) - (func $~lib/builtins/isFinite (; 240 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 240 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -14242,11 +14242,11 @@ return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if i32.const 5392 call $~lib/rt/pure/__retain @@ -14314,11 +14314,11 @@ return end local.get $2 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $2 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 i32.const 78 diff --git a/tests/compiler/std/libm.optimized.wat b/tests/compiler/std/libm.optimized.wat index 70ca683d..f9e1c760 100644 --- a/tests/compiler/std/libm.optimized.wat +++ b/tests/compiler/std/libm.optimized.wat @@ -936,7 +936,7 @@ local.get $0 call $~lib/math/NativeMath.asinh ) - (func $~lib/builtins/isNaN (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -960,7 +960,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -1239,12 +1239,12 @@ (local $6 i32) (local $7 i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -1614,7 +1614,7 @@ local.get $0 f64.ceil ) - (func $~lib/builtins/isFinite (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -1623,7 +1623,7 @@ ) (func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 32 @@ -1677,7 +1677,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2024,7 +2024,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2418,7 +2418,7 @@ local.get $0 local.get $1 f64.add - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 0 @@ -4651,7 +4651,7 @@ local.get $0 call $~lib/math/NativeMathf.asinh ) - (func $~lib/builtins/isNaN (; 74 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 74 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -4672,7 +4672,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -4917,12 +4917,12 @@ (local $3 i32) (local $4 i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -5248,7 +5248,7 @@ local.get $0 f32.ceil ) - (func $~lib/builtins/isFinite (; 84 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isFinite (; 84 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub @@ -5257,7 +5257,7 @@ ) (func $~lib/math/NativeMathf.clz32 (; 85 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f32.const 32 @@ -6217,7 +6217,7 @@ local.get $0 local.get $1 f32.add - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz br_if $~lib/math/NativeMathf.imul|inlined.0 drop diff --git a/tests/compiler/std/libm.untouched.wat b/tests/compiler/std/libm.untouched.wat index 506fb349..58424564 100644 --- a/tests/compiler/std/libm.untouched.wat +++ b/tests/compiler/std/libm.untouched.wat @@ -1108,7 +1108,7 @@ local.get $0 call $~lib/math/NativeMath.asinh ) - (func $~lib/builtins/isNaN (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -1140,7 +1140,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -1472,12 +1472,12 @@ (local $8 i32) (local $9 f64) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -1962,7 +1962,7 @@ local.get $1 f64.ceil ) - (func $~lib/builtins/isFinite (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -1971,7 +1971,7 @@ ) (func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 32 @@ -2042,7 +2042,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2436,7 +2436,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2894,7 +2894,7 @@ local.get $0 local.get $1 f64.add - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 0 @@ -5611,7 +5611,7 @@ local.get $0 call $~lib/math/NativeMathf.asinh ) - (func $~lib/builtins/isNaN (; 77 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 77 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -5640,7 +5640,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -5930,12 +5930,12 @@ (local $5 i32) (local $6 f32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -6368,7 +6368,7 @@ local.get $1 f32.ceil ) - (func $~lib/builtins/isFinite (; 87 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isFinite (; 87 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub @@ -6377,7 +6377,7 @@ ) (func $~lib/math/NativeMathf.clz32 (; 88 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f32.const 32 @@ -7812,7 +7812,7 @@ local.get $3 local.get $2 f32.add - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f32.const 0 diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 8905543d..aacd74b8 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -77,12 +77,12 @@ (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) - (func $~lib/builtins/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/builtins/isFinite (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -169,10 +169,10 @@ (func $std/math/ulperr (; 33 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) (local $3 i32) local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN else i32.const 0 end @@ -215,7 +215,7 @@ return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $1 @@ -265,10 +265,10 @@ return end local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $0 @@ -284,7 +284,7 @@ end i32.const 1 ) - (func $~lib/builtins/isNaN (; 35 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 35 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -368,10 +368,10 @@ (func $std/math/ulperrf (; 37 ;) (type $FUNCSIG$ffff) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 i32) local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN else i32.const 0 end @@ -463,10 +463,10 @@ return end local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $0 @@ -2065,7 +2065,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2303,7 +2303,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2630,12 +2630,12 @@ (local $6 i32) (local $7 i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -2893,12 +2893,12 @@ (local $3 i32) (local $4 i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -3702,7 +3702,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -3972,7 +3972,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -5898,7 +5898,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -6117,7 +6117,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -8277,7 +8277,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -8539,7 +8539,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -9699,7 +9699,7 @@ local.get $0 local.get $1 f64.add - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 0 @@ -9730,7 +9730,7 @@ ) (func $~lib/math/NativeMath.clz32 (; 158 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 32 @@ -39511,7 +39511,7 @@ f32.const nan:0x400000 i32.const 1 call $~lib/math/ipow32f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -39524,7 +39524,7 @@ f32.const nan:0x400000 i32.const -1 call $~lib/math/ipow32f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -39537,7 +39537,7 @@ f32.const nan:0x400000 i32.const 2 call $~lib/math/ipow32f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -39719,7 +39719,7 @@ f64.const nan:0x8000000000000 i32.const 1 call $~lib/math/ipow64f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -39732,7 +39732,7 @@ f64.const nan:0x8000000000000 i32.const -1 call $~lib/math/ipow64f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -39745,7 +39745,7 @@ f64.const nan:0x8000000000000 i32.const 2 call $~lib/math/ipow64f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index b866048e..8f4406b8 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -105,12 +105,12 @@ (global $~lib/builtins/f32.MIN_VALUE f32 (f32.const 1.401298464324817e-45)) (export "memory" (memory $0)) (start $start) - (func $~lib/builtins/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/builtins/isFinite (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -238,10 +238,10 @@ (func $std/math/ulperr (; 34 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) (local $3 f64) local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN else i32.const 0 end @@ -292,7 +292,7 @@ return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 8988465674311579538646525e283 @@ -325,10 +325,10 @@ return end local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $0 @@ -346,12 +346,12 @@ end i32.const 1 ) - (func $~lib/builtins/isNaN (; 36 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 36 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $~lib/builtins/isFinite (; 37 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isFinite (; 37 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub @@ -477,10 +477,10 @@ (func $std/math/ulperrf (; 40 ;) (type $FUNCSIG$ffff) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 f32) local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN else i32.const 0 end @@ -529,7 +529,7 @@ return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f32.const 1701411834604692317316873e14 @@ -562,10 +562,10 @@ return end local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $0 @@ -2505,7 +2505,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -2799,7 +2799,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -3192,12 +3192,12 @@ (local $8 i32) (local $9 f64) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -3555,12 +3555,12 @@ (local $5 i32) (local $6 f32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if (result i32) i32.const 1 else local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $1 @@ -4892,7 +4892,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -5195,7 +5195,7 @@ i32.ge_u if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 return @@ -7611,7 +7611,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -7885,7 +7885,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -10500,7 +10500,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -10823,7 +10823,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -12930,7 +12930,7 @@ local.get $0 local.get $1 f64.add - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 0 @@ -12961,7 +12961,7 @@ ) (func $~lib/math/NativeMath.clz32 (; 161 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if f64.const 32 @@ -47130,7 +47130,7 @@ f32.const nan:0x400000 i32.const 1 call $~lib/math/ipow32f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -47143,7 +47143,7 @@ f32.const nan:0x400000 i32.const -1 call $~lib/math/ipow32f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -47156,7 +47156,7 @@ f32.const nan:0x400000 i32.const 2 call $~lib/math/ipow32f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -47355,7 +47355,7 @@ f64.const nan:0x8000000000000 i32.const 1 call $~lib/math/ipow64f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -47368,7 +47368,7 @@ f64.const nan:0x8000000000000 i32.const -1 call $~lib/math/ipow64f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 @@ -47381,7 +47381,7 @@ f64.const nan:0x8000000000000 i32.const 2 call $~lib/math/ipow64f - call $~lib/builtins/isNaN + call $~lib/number/isNaN i32.eqz if i32.const 0 diff --git a/tests/compiler/std/mod.optimized.wat b/tests/compiler/std/mod.optimized.wat index 231cbc08..3883c45c 100644 --- a/tests/compiler/std/mod.optimized.wat +++ b/tests/compiler/std/mod.optimized.wat @@ -16,7 +16,7 @@ (export "memory" (memory $0)) (export "mod" (func $std/mod/mod)) (start $start) - (func $~lib/builtins/isNaN (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -66,7 +66,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -226,10 +226,10 @@ ) (func $std/mod/check (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $1 @@ -265,7 +265,7 @@ i32.const 0 end ) - (func $~lib/builtins/isNaN (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -313,7 +313,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -463,10 +463,10 @@ ) (func $std/mod/check (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $1 diff --git a/tests/compiler/std/mod.untouched.wat b/tests/compiler/std/mod.untouched.wat index 87efdde6..9d55b9cd 100644 --- a/tests/compiler/std/mod.untouched.wat +++ b/tests/compiler/std/mod.untouched.wat @@ -19,7 +19,7 @@ (export "memory" (memory $0)) (export "mod" (func $std/mod/mod)) (start $start) - (func $~lib/builtins/isNaN (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -74,7 +74,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -274,10 +274,10 @@ ) (func $std/mod/check (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $1 @@ -320,7 +320,7 @@ i32.const 0 end ) - (func $~lib/builtins/isNaN (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -375,7 +375,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -573,10 +573,10 @@ ) (func $std/mod/check (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN return end local.get $1 diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index f2eb7749..37c164b0 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -63,122 +63,123 @@ (data (i32.const 1224) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g") (data (i32.const 1248) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00 \00\t\00\n\001") (data (i32.const 1272) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002") - (data (i32.const 1304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001") - (data (i32.const 1328) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005") - (data (i32.const 1352) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00.\001\00f\00o\00o\00b\00a\00r") - (data (i32.const 1384) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00 \00\t\00\n\00.\001") - (data (i32.const 1416) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") - (data (i32.const 1440) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 1464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001") - (data (i32.const 1488) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002") - (data (i32.const 1512) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001") - (data (i32.const 1536) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002") - (data (i32.const 1560) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002") - (data (i32.const 1592) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001") - (data (i32.const 1624) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1656) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1688) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 1728) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 1768) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") - (data (i32.const 1792) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a") - (data (i32.const 1816) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a") - (data (i32.const 1888) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 1920) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a") - (data (i32.const 1952) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") - (data (i32.const 1984) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") - (data (i32.const 2016) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 2064) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n") - (data (i32.const 2088) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n") - (data (i32.const 2120) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g") - (data (i32.const 2152) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h") - (data (i32.const 2184) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 2232) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 2280) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2392) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c") - (data (i32.const 2424) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.") - (data (i32.const 2448) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c") - (data (i32.const 2472) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008") - (data (i32.const 2496) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000") - (data (i32.const 2528) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004") - (data (i32.const 2552) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005") - (data (i32.const 2584) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006") - (data (i32.const 2616) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001") - (data (i32.const 2648) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007") - (data (i32.const 2680) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") - (data (i32.const 2720) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") - (data (i32.const 2760) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2800) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001") - (data (i32.const 2824) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000") - (data (i32.const 2848) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2888) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 2928) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009") - (data (i32.const 2960) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") - (data (i32.const 3000) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3040) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3080) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3128) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3176) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3232) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 3288) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004") - (data (i32.const 3320) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 3360) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3400) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3448) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3496) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3552) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 3608) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 3664) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 3688) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 3712) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3752) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3784) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 (; 40 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/strtol (; 40 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2678,13 +2679,13 @@ call $~lib/rt/pure/__retain drop local.get $0 - call $~lib/util/string/parse + call $~lib/util/string/strtol local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/string/parseFloat (; 42 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/strtod (; 42 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2809,8 +2810,8 @@ end if i32.const 0 - i32.const 456 - i32.const 577 + i32.const 1320 + i32.const 180 i32.const 10 call $~lib/builtins/abort unreachable @@ -2876,7 +2877,19 @@ call $~lib/rt/pure/__release f64.const nan:0x8000000000000 ) - (func $~lib/string/String#concat (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/parseFloat (; 43 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (local $1 f64) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/util/string/strtod + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/string/String#concat (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2939,7 +2952,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -2960,7 +2973,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -2979,7 +2992,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gt (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3050,7 +3063,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__lt (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3120,7 +3133,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__gte (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3139,7 +3152,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lte (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.__lte (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 120 call $~lib/rt/pure/__retain @@ -3158,7 +3171,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/string/String#repeat (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3187,7 +3200,7 @@ i32.lt_s select if - i32.const 1832 + i32.const 1888 i32.const 456 i32.const 335 i32.const 6 @@ -3229,7 +3242,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#slice (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 call $~lib/string/String#get:length @@ -3304,7 +3317,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/__allocArray (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3332,7 +3345,7 @@ i32.store offset=12 local.get $1 ) - (func $~lib/rt/tlsf/reallocateBlock (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3446,7 +3459,7 @@ call $~lib/rt/tlsf/insertBlock local.get $3 ) - (func $~lib/rt/tlsf/__realloc (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -3482,7 +3495,7 @@ i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 56 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -3693,7 +3706,7 @@ end end ) - (func $~lib/array/ensureSize (; 56 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureSize (; 57 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3709,8 +3722,8 @@ i32.const 268435452 i32.gt_u if - i32.const 1832 - i32.const 2248 + i32.const 1888 + i32.const 2304 i32.const 14 i32.const 47 call $~lib/builtins/abort @@ -3748,7 +3761,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 57 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#push (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -3777,7 +3790,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/string/String#split (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#split (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3999,14 +4012,14 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#__get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 2296 - i32.const 2248 + i32.const 2352 + i32.const 2304 i32.const 106 i32.const 45 call $~lib/builtins/abort @@ -4020,7 +4033,7 @@ i32.ge_u if i32.const 232 - i32.const 2248 + i32.const 2304 i32.const 109 i32.const 61 call $~lib/builtins/abort @@ -4035,7 +4048,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount32 (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 2 local.get $0 @@ -4083,7 +4096,7 @@ i32.lt_u select ) - (func $~lib/util/number/utoa_simple (; 61 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 62 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $continue|0 local.get $1 @@ -4109,7 +4122,7 @@ br_if $continue|0 end ) - (func $~lib/util/number/itoa32 (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4152,7 +4165,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4176,7 +4189,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 64 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 65 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) i32.const 11 i32.const 12 local.get $0 @@ -4224,7 +4237,7 @@ i64.lt_u select ) - (func $~lib/util/number/utoa_simple (; 65 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 66 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i64) loop $continue|0 local.get $1 @@ -4253,7 +4266,7 @@ br_if $continue|0 end ) - (func $~lib/util/number/utoa64 (; 66 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 67 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4297,7 +4310,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 67 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 68 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4364,7 +4377,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/genDigits (; 68 ;) (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 (; 69 ;) (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) @@ -4399,7 +4412,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 4828 + i32.const 4884 i32.load local.set $13 loop $continue|0 @@ -4765,7 +4778,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -5016,7 +5029,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 70 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 71 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -5132,7 +5145,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 4516 + i32.const 4572 i32.load local.get $3 i32.const 3 @@ -5140,7 +5153,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 4740 + i32.const 4796 i32.load local.get $3 i32.const 1 @@ -5304,7 +5317,7 @@ local.get $10 i32.add ) - (func $~lib/string/String#substring (; 71 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5391,14 +5404,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/dtoa (; 72 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 73 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 f64.const 0 f64.eq if - i32.const 3680 + i32.const 3736 call $~lib/rt/pure/__retain return end @@ -5412,12 +5425,12 @@ local.get $0 f64.ne if - i32.const 3704 + i32.const 3760 call $~lib/rt/pure/__retain return end - i32.const 3728 - i32.const 3768 + i32.const 3784 + i32.const 3824 local.get $0 f64.const 0 f64.lt @@ -5447,7 +5460,7 @@ call $~lib/rt/tlsf/__free local.get $2 ) - (func $start:std/string (; 73 ;) (type $FUNCSIG$v) + (func $start:std/string (; 74 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6476,7 +6489,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1320 + i32.const 1376 call $~lib/string/parseFloat f64.const 0.1 f64.ne @@ -6488,7 +6501,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 1400 call $~lib/string/parseFloat f64.const 0.25 f64.ne @@ -6500,7 +6513,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1368 + i32.const 1424 call $~lib/string/parseFloat f64.const 0.1 f64.ne @@ -6512,7 +6525,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1400 + i32.const 1456 call $~lib/string/parseFloat f64.const 0.1 f64.ne @@ -6525,12 +6538,12 @@ unreachable end i32.const 408 - i32.const 1432 + i32.const 1488 call $~lib/string/String.__concat local.tee $1 call $~lib/rt/pure/__retain local.tee $0 - i32.const 1456 + i32.const 1512 call $~lib/string/String.__eq i32.eqz if @@ -6594,7 +6607,7 @@ unreachable end i32.const 408 - i32.const 1432 + i32.const 1488 call $~lib/string/String.__ne i32.eqz if @@ -6617,8 +6630,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1480 - i32.const 1504 + i32.const 1536 + i32.const 1560 call $~lib/string/String.__ne i32.eqz if @@ -6629,8 +6642,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1480 - i32.const 1480 + i32.const 1536 + i32.const 1536 call $~lib/string/String.__eq i32.eqz if @@ -6641,8 +6654,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1528 - i32.const 1552 + i32.const 1584 + i32.const 1608 call $~lib/string/String.__ne i32.eqz if @@ -6653,8 +6666,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1576 - i32.const 1608 + i32.const 1632 + i32.const 1664 call $~lib/string/String.__ne i32.eqz if @@ -6665,8 +6678,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1640 - i32.const 1640 + i32.const 1696 + i32.const 1696 call $~lib/string/String.__eq i32.eqz if @@ -6677,8 +6690,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1640 - i32.const 1672 + i32.const 1696 + i32.const 1728 call $~lib/string/String.__ne i32.eqz if @@ -6689,8 +6702,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1704 - i32.const 1744 + i32.const 1760 + i32.const 1800 call $~lib/string/String.__ne i32.eqz if @@ -6701,7 +6714,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1432 + i32.const 1488 i32.const 408 call $~lib/string/String.__gt i32.eqz @@ -6713,7 +6726,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 + i32.const 1840 i32.const 408 call $~lib/string/String.__gt i32.eqz @@ -6725,8 +6738,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 - i32.const 1808 + i32.const 1840 + i32.const 1864 call $~lib/string/String.__gte i32.eqz if @@ -6737,8 +6750,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 - i32.const 1456 + i32.const 1840 + i32.const 1512 call $~lib/string/String.__gt i32.eqz if @@ -6749,8 +6762,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 - i32.const 1456 + i32.const 1840 + i32.const 1512 call $~lib/string/String.__lt if i32.const 0 @@ -6760,7 +6773,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1432 + i32.const 1488 global.get $std/string/nullStr call $~lib/string/String.__lt if @@ -6772,7 +6785,7 @@ unreachable end global.get $std/string/nullStr - i32.const 1432 + i32.const 1488 call $~lib/string/String.__lt if i32.const 0 @@ -6990,7 +7003,7 @@ i32.const 2 call $~lib/string/String#repeat local.tee $28 - i32.const 1808 + i32.const 1864 call $~lib/string/String.__eq i32.eqz if @@ -7005,7 +7018,7 @@ i32.const 3 call $~lib/string/String#repeat local.tee $29 - i32.const 1880 + i32.const 1936 call $~lib/string/String.__eq i32.eqz if @@ -7016,11 +7029,11 @@ call $~lib/builtins/abort unreachable end - i32.const 1456 + i32.const 1512 i32.const 4 call $~lib/string/String#repeat local.tee $30 - i32.const 1904 + i32.const 1960 call $~lib/string/String.__eq i32.eqz if @@ -7035,7 +7048,7 @@ i32.const 5 call $~lib/string/String#repeat local.tee $31 - i32.const 1936 + i32.const 1992 call $~lib/string/String.__eq i32.eqz if @@ -7050,7 +7063,7 @@ i32.const 6 call $~lib/string/String#repeat local.tee $32 - i32.const 1968 + i32.const 2024 call $~lib/string/String.__eq i32.eqz if @@ -7065,7 +7078,7 @@ i32.const 7 call $~lib/string/String#repeat local.tee $33 - i32.const 2000 + i32.const 2056 call $~lib/string/String.__eq i32.eqz if @@ -7078,23 +7091,23 @@ end global.get $std/string/str local.tee $0 - i32.const 2032 + i32.const 2088 i32.ne if - i32.const 2032 + i32.const 2088 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/rt/pure/__release end - i32.const 2032 + i32.const 2088 global.set $std/string/str global.get $std/string/str i32.const 0 i32.const 2147483647 call $~lib/string/String#slice local.tee $34 - i32.const 2032 + i32.const 2088 call $~lib/string/String.__eq i32.eqz if @@ -7110,7 +7123,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $35 - i32.const 2080 + i32.const 2136 call $~lib/string/String.__eq i32.eqz if @@ -7126,7 +7139,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $36 - i32.const 2104 + i32.const 2160 call $~lib/string/String.__eq i32.eqz if @@ -7142,7 +7155,7 @@ i32.const 7 call $~lib/string/String#slice local.tee $37 - i32.const 2136 + i32.const 2192 call $~lib/string/String.__eq i32.eqz if @@ -7158,7 +7171,7 @@ i32.const -6 call $~lib/string/String#slice local.tee $38 - i32.const 2168 + i32.const 2224 call $~lib/string/String.__eq i32.eqz if @@ -7190,7 +7203,7 @@ i32.const -1 call $~lib/string/String#slice local.tee $40 - i32.const 2200 + i32.const 2256 call $~lib/string/String.__eq i32.eqz if @@ -7285,8 +7298,8 @@ call $~lib/builtins/abort unreachable end - i32.const 2408 - i32.const 2440 + i32.const 2464 + i32.const 2496 call $~lib/string/String#split local.set $0 local.get $2 @@ -7300,7 +7313,7 @@ i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 2408 + i32.const 2464 call $~lib/string/String.__eq local.set $1 local.get $2 @@ -7319,7 +7332,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2408 + i32.const 2464 i32.const 920 call $~lib/string/String#split local.set $1 @@ -7350,7 +7363,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 1432 + i32.const 1488 call $~lib/string/String.__eq local.set $1 local.get $2 @@ -7365,7 +7378,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 2464 + i32.const 2520 call $~lib/string/String.__eq local.set $1 local.get $2 @@ -7417,7 +7430,7 @@ i32.const 8 call $~lib/util/number/itoa32 local.tee $2 - i32.const 2488 + i32.const 2544 call $~lib/string/String.__eq i32.eqz if @@ -7445,7 +7458,7 @@ i32.const -1000 call $~lib/util/number/itoa32 local.tee $42 - i32.const 2512 + i32.const 2568 call $~lib/string/String.__eq i32.eqz if @@ -7459,7 +7472,7 @@ i32.const 1234 call $~lib/util/number/itoa32 local.tee $43 - i32.const 2544 + i32.const 2600 call $~lib/string/String.__eq i32.eqz if @@ -7473,7 +7486,7 @@ i32.const 12345 call $~lib/util/number/itoa32 local.tee $44 - i32.const 2568 + i32.const 2624 call $~lib/string/String.__eq i32.eqz if @@ -7487,7 +7500,7 @@ i32.const 123456 call $~lib/util/number/itoa32 local.tee $45 - i32.const 2600 + i32.const 2656 call $~lib/string/String.__eq i32.eqz if @@ -7501,7 +7514,7 @@ i32.const 1111111 call $~lib/util/number/itoa32 local.tee $46 - i32.const 2632 + i32.const 2688 call $~lib/string/String.__eq i32.eqz if @@ -7515,7 +7528,7 @@ i32.const 1234567 call $~lib/util/number/itoa32 local.tee $47 - i32.const 2664 + i32.const 2720 call $~lib/string/String.__eq i32.eqz if @@ -7529,7 +7542,7 @@ i32.const 2147483646 call $~lib/util/number/itoa32 local.tee $48 - i32.const 2696 + i32.const 2752 call $~lib/string/String.__eq i32.eqz if @@ -7543,7 +7556,7 @@ i32.const 2147483647 call $~lib/util/number/itoa32 local.tee $49 - i32.const 2736 + i32.const 2792 call $~lib/string/String.__eq i32.eqz if @@ -7557,7 +7570,7 @@ i32.const -2147483648 call $~lib/util/number/itoa32 local.tee $50 - i32.const 2776 + i32.const 2832 call $~lib/string/String.__eq i32.eqz if @@ -7571,7 +7584,7 @@ i32.const -1 call $~lib/util/number/itoa32 local.tee $51 - i32.const 2816 + i32.const 2872 call $~lib/string/String.__eq i32.eqz if @@ -7599,7 +7612,7 @@ i32.const 1000 call $~lib/util/number/utoa32 local.tee $53 - i32.const 2840 + i32.const 2896 call $~lib/string/String.__eq i32.eqz if @@ -7613,7 +7626,7 @@ i32.const 2147483647 call $~lib/util/number/utoa32 local.tee $54 - i32.const 2736 + i32.const 2792 call $~lib/string/String.__eq i32.eqz if @@ -7627,7 +7640,7 @@ i32.const -2147483648 call $~lib/util/number/utoa32 local.tee $55 - i32.const 2864 + i32.const 2920 call $~lib/string/String.__eq i32.eqz if @@ -7641,7 +7654,7 @@ i32.const -1 call $~lib/util/number/utoa32 local.tee $56 - i32.const 2904 + i32.const 2960 call $~lib/string/String.__eq i32.eqz if @@ -7669,7 +7682,7 @@ i64.const 1234 call $~lib/util/number/utoa64 local.tee $58 - i32.const 2544 + i32.const 2600 call $~lib/string/String.__eq i32.eqz if @@ -7683,7 +7696,7 @@ i64.const 99999999 call $~lib/util/number/utoa64 local.tee $59 - i32.const 2944 + i32.const 3000 call $~lib/string/String.__eq i32.eqz if @@ -7697,7 +7710,7 @@ i64.const 100000000 call $~lib/util/number/utoa64 local.tee $60 - i32.const 2976 + i32.const 3032 call $~lib/string/String.__eq i32.eqz if @@ -7711,7 +7724,7 @@ i64.const 4294967295 call $~lib/util/number/utoa64 local.tee $61 - i32.const 2904 + i32.const 2960 call $~lib/string/String.__eq i32.eqz if @@ -7725,7 +7738,7 @@ i64.const 68719476735 call $~lib/util/number/utoa64 local.tee $62 - i32.const 3016 + i32.const 3072 call $~lib/string/String.__eq i32.eqz if @@ -7739,7 +7752,7 @@ i64.const 868719476735 call $~lib/util/number/utoa64 local.tee $63 - i32.const 3056 + i32.const 3112 call $~lib/string/String.__eq i32.eqz if @@ -7753,7 +7766,7 @@ i64.const 999868719476735 call $~lib/util/number/utoa64 local.tee $64 - i32.const 3096 + i32.const 3152 call $~lib/string/String.__eq i32.eqz if @@ -7767,7 +7780,7 @@ i64.const 9999868719476735 call $~lib/util/number/utoa64 local.tee $65 - i32.const 3144 + i32.const 3200 call $~lib/string/String.__eq i32.eqz if @@ -7781,7 +7794,7 @@ i64.const 19999868719476735 call $~lib/util/number/utoa64 local.tee $66 - i32.const 3192 + i32.const 3248 call $~lib/string/String.__eq i32.eqz if @@ -7795,7 +7808,7 @@ i64.const -1 call $~lib/util/number/utoa64 local.tee $67 - i32.const 3248 + i32.const 3304 call $~lib/string/String.__eq i32.eqz if @@ -7823,7 +7836,7 @@ i64.const -1234 call $~lib/util/number/itoa64 local.tee $69 - i32.const 3304 + i32.const 3360 call $~lib/string/String.__eq i32.eqz if @@ -7837,7 +7850,7 @@ i64.const 4294967295 call $~lib/util/number/itoa64 local.tee $70 - i32.const 2904 + i32.const 2960 call $~lib/string/String.__eq i32.eqz if @@ -7851,7 +7864,7 @@ i64.const -4294967295 call $~lib/util/number/itoa64 local.tee $71 - i32.const 3336 + i32.const 3392 call $~lib/string/String.__eq i32.eqz if @@ -7865,7 +7878,7 @@ i64.const 68719476735 call $~lib/util/number/itoa64 local.tee $72 - i32.const 3016 + i32.const 3072 call $~lib/string/String.__eq i32.eqz if @@ -7879,7 +7892,7 @@ i64.const -68719476735 call $~lib/util/number/itoa64 local.tee $73 - i32.const 3376 + i32.const 3432 call $~lib/string/String.__eq i32.eqz if @@ -7893,7 +7906,7 @@ i64.const -868719476735 call $~lib/util/number/itoa64 local.tee $74 - i32.const 3416 + i32.const 3472 call $~lib/string/String.__eq i32.eqz if @@ -7907,7 +7920,7 @@ i64.const -999868719476735 call $~lib/util/number/itoa64 local.tee $75 - i32.const 3464 + i32.const 3520 call $~lib/string/String.__eq i32.eqz if @@ -7921,7 +7934,7 @@ i64.const -19999868719476735 call $~lib/util/number/itoa64 local.tee $76 - i32.const 3512 + i32.const 3568 call $~lib/string/String.__eq i32.eqz if @@ -7935,7 +7948,7 @@ i64.const 9223372036854775807 call $~lib/util/number/itoa64 local.tee $77 - i32.const 3568 + i32.const 3624 call $~lib/string/String.__eq i32.eqz if @@ -7949,7 +7962,7 @@ i64.const -9223372036854775808 call $~lib/util/number/itoa64 local.tee $78 - i32.const 3624 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if @@ -7963,7 +7976,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $79 - i32.const 3680 + i32.const 3736 call $~lib/string/String.__eq i32.eqz if @@ -7977,7 +7990,7 @@ f64.const -0 call $~lib/util/number/dtoa local.tee $80 - i32.const 3680 + i32.const 3736 call $~lib/string/String.__eq i32.eqz if @@ -7991,7 +8004,7 @@ f64.const nan:0x8000000000000 call $~lib/util/number/dtoa local.tee $81 - i32.const 3704 + i32.const 3760 call $~lib/string/String.__eq i32.eqz if @@ -8005,7 +8018,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $82 - i32.const 3768 + i32.const 3824 call $~lib/string/String.__eq i32.eqz if @@ -8019,7 +8032,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $83 - i32.const 3728 + i32.const 3784 call $~lib/string/String.__eq i32.eqz if @@ -8033,7 +8046,7 @@ f64.const 2.220446049250313e-16 call $~lib/util/number/dtoa local.tee $84 - i32.const 4856 + i32.const 4912 call $~lib/string/String.__eq i32.eqz if @@ -8047,7 +8060,7 @@ f64.const -2.220446049250313e-16 call $~lib/util/number/dtoa local.tee $85 - i32.const 4920 + i32.const 4976 call $~lib/string/String.__eq i32.eqz if @@ -8061,7 +8074,7 @@ f64.const 1797693134862315708145274e284 call $~lib/util/number/dtoa local.tee $86 - i32.const 4984 + i32.const 5040 call $~lib/string/String.__eq i32.eqz if @@ -8075,7 +8088,7 @@ f64.const -1797693134862315708145274e284 call $~lib/util/number/dtoa local.tee $87 - i32.const 5048 + i32.const 5104 call $~lib/string/String.__eq i32.eqz if @@ -8089,7 +8102,7 @@ f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa local.tee $88 - i32.const 5112 + i32.const 5168 call $~lib/string/String.__eq i32.eqz if @@ -8103,7 +8116,7 @@ f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa local.tee $89 - i32.const 5176 + i32.const 5232 call $~lib/string/String.__eq i32.eqz if @@ -8117,7 +8130,7 @@ f64.const 4.940656e-318 call $~lib/util/number/dtoa local.tee $90 - i32.const 5240 + i32.const 5296 call $~lib/string/String.__eq i32.eqz if @@ -8131,7 +8144,7 @@ f64.const 9060801153433600 call $~lib/util/number/dtoa local.tee $91 - i32.const 5288 + i32.const 5344 call $~lib/string/String.__eq i32.eqz if @@ -8145,7 +8158,7 @@ f64.const 4708356024711512064 call $~lib/util/number/dtoa local.tee $92 - i32.const 5344 + i32.const 5400 call $~lib/string/String.__eq i32.eqz if @@ -8159,7 +8172,7 @@ f64.const 9409340012568248320 call $~lib/util/number/dtoa local.tee $93 - i32.const 5408 + i32.const 5464 call $~lib/string/String.__eq i32.eqz if @@ -8173,7 +8186,7 @@ f64.const 5e-324 call $~lib/util/number/dtoa local.tee $94 - i32.const 5472 + i32.const 5528 call $~lib/string/String.__eq i32.eqz if @@ -8187,7 +8200,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $95 - i32.const 5504 + i32.const 5560 call $~lib/string/String.__eq i32.eqz if @@ -8201,7 +8214,7 @@ f64.const 0.1 call $~lib/util/number/dtoa local.tee $96 - i32.const 1320 + i32.const 1376 call $~lib/string/String.__eq i32.eqz if @@ -8215,7 +8228,7 @@ f64.const -1 call $~lib/util/number/dtoa local.tee $97 - i32.const 5528 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if @@ -8229,7 +8242,7 @@ f64.const -0.1 call $~lib/util/number/dtoa local.tee $98 - i32.const 5552 + i32.const 5608 call $~lib/string/String.__eq i32.eqz if @@ -8243,7 +8256,7 @@ f64.const 1e6 call $~lib/util/number/dtoa local.tee $99 - i32.const 5576 + i32.const 5632 call $~lib/string/String.__eq i32.eqz if @@ -8257,7 +8270,7 @@ f64.const 1e-06 call $~lib/util/number/dtoa local.tee $100 - i32.const 5616 + i32.const 5672 call $~lib/string/String.__eq i32.eqz if @@ -8271,7 +8284,7 @@ f64.const -1e6 call $~lib/util/number/dtoa local.tee $101 - i32.const 5648 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if @@ -8285,7 +8298,7 @@ f64.const -1e-06 call $~lib/util/number/dtoa local.tee $102 - i32.const 5688 + i32.const 5744 call $~lib/string/String.__eq i32.eqz if @@ -8299,7 +8312,7 @@ f64.const 1e7 call $~lib/util/number/dtoa local.tee $103 - i32.const 5728 + i32.const 5784 call $~lib/string/String.__eq i32.eqz if @@ -8313,7 +8326,7 @@ f64.const 1e-07 call $~lib/util/number/dtoa local.tee $104 - i32.const 5768 + i32.const 5824 call $~lib/string/String.__eq i32.eqz if @@ -8327,7 +8340,7 @@ f64.const 1.e+308 call $~lib/util/number/dtoa local.tee $105 - i32.const 5792 + i32.const 5848 call $~lib/string/String.__eq i32.eqz if @@ -8341,7 +8354,7 @@ f64.const -1.e+308 call $~lib/util/number/dtoa local.tee $106 - i32.const 5824 + i32.const 5880 call $~lib/string/String.__eq i32.eqz if @@ -8355,7 +8368,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $107 - i32.const 3768 + i32.const 3824 call $~lib/string/String.__eq i32.eqz if @@ -8369,7 +8382,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $108 - i32.const 3728 + i32.const 3784 call $~lib/string/String.__eq i32.eqz if @@ -8383,7 +8396,7 @@ f64.const 1e-308 call $~lib/util/number/dtoa local.tee $109 - i32.const 5856 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if @@ -8397,7 +8410,7 @@ f64.const -1e-308 call $~lib/util/number/dtoa local.tee $110 - i32.const 5888 + i32.const 5944 call $~lib/string/String.__eq i32.eqz if @@ -8411,7 +8424,7 @@ f64.const 1e-323 call $~lib/util/number/dtoa local.tee $111 - i32.const 5920 + i32.const 5976 call $~lib/string/String.__eq i32.eqz if @@ -8425,7 +8438,7 @@ f64.const -1e-323 call $~lib/util/number/dtoa local.tee $112 - i32.const 5952 + i32.const 6008 call $~lib/string/String.__eq i32.eqz if @@ -8439,7 +8452,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $113 - i32.const 3680 + i32.const 3736 call $~lib/string/String.__eq i32.eqz if @@ -8453,7 +8466,7 @@ f64.const 4294967272 call $~lib/util/number/dtoa local.tee $114 - i32.const 5984 + i32.const 6040 call $~lib/string/String.__eq i32.eqz if @@ -8467,7 +8480,7 @@ f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa local.tee $115 - i32.const 6024 + i32.const 6080 call $~lib/string/String.__eq i32.eqz if @@ -8481,7 +8494,7 @@ f64.const 555555555.5555556 call $~lib/util/number/dtoa local.tee $116 - i32.const 6088 + i32.const 6144 call $~lib/string/String.__eq i32.eqz if @@ -8495,7 +8508,7 @@ f64.const 0.9999999999999999 call $~lib/util/number/dtoa local.tee $117 - i32.const 6144 + i32.const 6200 call $~lib/string/String.__eq i32.eqz if @@ -8509,7 +8522,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $118 - i32.const 5504 + i32.const 5560 call $~lib/string/String.__eq i32.eqz if @@ -8523,7 +8536,7 @@ f64.const 12.34 call $~lib/util/number/dtoa local.tee $119 - i32.const 6200 + i32.const 6256 call $~lib/string/String.__eq i32.eqz if @@ -8537,7 +8550,7 @@ f64.const 0.3333333333333333 call $~lib/util/number/dtoa local.tee $120 - i32.const 6232 + i32.const 6288 call $~lib/string/String.__eq i32.eqz if @@ -8551,7 +8564,7 @@ f64.const 1234e17 call $~lib/util/number/dtoa local.tee $121 - i32.const 6288 + i32.const 6344 call $~lib/string/String.__eq i32.eqz if @@ -8565,7 +8578,7 @@ f64.const 1234e18 call $~lib/util/number/dtoa local.tee $122 - i32.const 6352 + i32.const 6408 call $~lib/string/String.__eq i32.eqz if @@ -8579,7 +8592,7 @@ f64.const 2.71828 call $~lib/util/number/dtoa local.tee $123 - i32.const 6392 + i32.const 6448 call $~lib/string/String.__eq i32.eqz if @@ -8593,7 +8606,7 @@ f64.const 0.0271828 call $~lib/util/number/dtoa local.tee $124 - i32.const 6424 + i32.const 6480 call $~lib/string/String.__eq i32.eqz if @@ -8607,7 +8620,7 @@ f64.const 271.828 call $~lib/util/number/dtoa local.tee $125 - i32.const 6464 + i32.const 6520 call $~lib/string/String.__eq i32.eqz if @@ -8621,7 +8634,7 @@ f64.const 1.1e+128 call $~lib/util/number/dtoa local.tee $126 - i32.const 6496 + i32.const 6552 call $~lib/string/String.__eq i32.eqz if @@ -8635,7 +8648,7 @@ f64.const 1.1e-64 call $~lib/util/number/dtoa local.tee $127 - i32.const 6528 + i32.const 6584 call $~lib/string/String.__eq i32.eqz if @@ -8649,7 +8662,7 @@ f64.const 0.000035689 call $~lib/util/number/dtoa local.tee $128 - i32.const 6560 + i32.const 6616 call $~lib/string/String.__eq i32.eqz if @@ -8921,11 +8934,11 @@ local.get $128 call $~lib/rt/pure/__release ) - (func $std/string/getString (; 74 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 75 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $start (; 75 ;) (type $FUNCSIG$v) + (func $start (; 76 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -8935,7 +8948,7 @@ end call $start:std/string ) - (func $~lib/rt/pure/markGray (; 76 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8959,7 +8972,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -8972,7 +8985,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 79 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -9006,7 +9019,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 79 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 80 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -9039,9 +9052,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 81 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 6652 + i32.const 6708 i32.lt_u if return @@ -9149,7 +9162,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 81 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -9182,7 +9195,7 @@ end end ) - (func $~lib/rt/__visit_members (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 83 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $block$4$break block $switch$1$default block $switch$1$case$5 @@ -9211,7 +9224,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 83 ;) (type $FUNCSIG$v) + (func $null (; 84 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index c07bcf3e..c32a4a18 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -66,124 +66,125 @@ (data (i32.const 1224) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g\00") (data (i32.const 1248) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00 \00\t\00\n\001\00") (data (i32.const 1272) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002\00") - (data (i32.const 1304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001\00") - (data (i32.const 1328) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005\00") - (data (i32.const 1352) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00.\001\00f\00o\00o\00b\00a\00r\00") - (data (i32.const 1384) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00 \00\t\00\n\00.\001\00") - (data (i32.const 1416) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") - (data (i32.const 1440) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 1464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001\00") - (data (i32.const 1488) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002\00") - (data (i32.const 1512) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001\00") - (data (i32.const 1536) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002\00") - (data (i32.const 1560) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002\00") - (data (i32.const 1592) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001\00") - (data (i32.const 1624) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1656) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1688) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1728) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1768) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") - (data (i32.const 1792) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a\00") - (data (i32.const 1816) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 1864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a\00") - (data (i32.const 1888) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 1920) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 1952) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1984) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 2016) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 2064) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n\00") - (data (i32.const 2088) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 2120) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 2152) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 2184) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 2232) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 2280) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") - (data (i32.const 2392) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 2424) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.\00") - (data (i32.const 2448) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c\00") - (data (i32.const 2472) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 2888) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\b8\t\00\00\b8\t\00\00\90\01\00\00d\00\00\00") - (data (i32.const 2920) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008\00") - (data (i32.const 2944) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000\00") - (data (i32.const 2976) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00") - (data (i32.const 3000) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005\00") - (data (i32.const 3032) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006\00") - (data (i32.const 3064) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 3096) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 3128) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 3168) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 3208) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3248) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") - (data (i32.const 3272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000\00") - (data (i32.const 3296) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3336) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3376) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 3408) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 3448) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3488) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3528) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3576) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3624) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3680) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00") - (data (i32.const 3736) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004\00") - (data (i32.const 3768) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3808) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3848) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3896) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3944) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4000) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") - (data (i32.const 4056) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00") - (data (i32.const 4112) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 4136) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 4160) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4200) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4232) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 (; 43 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/util/string/strtol (; 43 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local $3 f64) (local $4 i32) @@ -4659,13 +4660,13 @@ drop local.get $0 local.get $1 - call $~lib/util/string/parse + call $~lib/util/string/strtol local.set $2 local.get $0 call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/parseFloat (; 45 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/strtod (; 45 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4824,8 +4825,8 @@ i32.eqz if i32.const 0 - i32.const 456 - i32.const 577 + i32.const 1320 + i32.const 180 i32.const 10 call $~lib/builtins/abort unreachable @@ -4895,7 +4896,19 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String#concat (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/parseFloat (; 46 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (local $1 f64) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/util/string/strtod + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/string/String#concat (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4973,7 +4986,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -4996,7 +5009,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5015,7 +5028,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gt (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5105,7 +5118,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lt (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5195,7 +5208,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gte (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5214,7 +5227,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lte (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lte (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5233,7 +5246,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String#repeat (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5266,7 +5279,7 @@ i64.gt_u end if - i32.const 1832 + i32.const 1888 i32.const 456 i32.const 335 i32.const 6 @@ -5313,7 +5326,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#slice (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5402,7 +5415,7 @@ local.get $6 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 55 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 56 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5440,7 +5453,7 @@ end local.get $4 ) - (func $~lib/rt/tlsf/reallocateBlock (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5573,7 +5586,7 @@ call $~lib/rt/tlsf/insertBlock local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -5613,7 +5626,7 @@ i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 58 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5876,7 +5889,7 @@ end end ) - (func $~lib/array/ensureSize (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 60 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5896,8 +5909,8 @@ i32.shr_u i32.gt_u if - i32.const 1832 - i32.const 2248 + i32.const 1888 + i32.const 2304 i32.const 14 i32.const 47 call $~lib/builtins/abort @@ -5939,7 +5952,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5975,7 +5988,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/string/String#split (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6296,11 +6309,11 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -6310,14 +6323,14 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 2296 - i32.const 2248 + i32.const 2352 + i32.const 2304 i32.const 106 i32.const 45 call $~lib/builtins/abort @@ -6331,7 +6344,7 @@ i32.ge_u if i32.const 232 - i32.const 2248 + i32.const 2304 i32.const 109 i32.const 61 call $~lib/builtins/abort @@ -6341,7 +6354,7 @@ local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $~lib/util/number/decimalCount32 (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -6410,7 +6423,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa32_lut (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 67 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6418,7 +6431,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 2904 + i32.const 2960 i32.load offset=4 local.set $3 block $break|0 @@ -6551,7 +6564,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 67 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6608,7 +6621,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6645,7 +6658,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 69 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 70 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -6714,7 +6727,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa64_lut (; 70 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 71 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -6726,7 +6739,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 2904 + i32.const 2960 i32.load offset=4 local.set $3 block $break|0 @@ -6840,7 +6853,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 71 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 72 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6909,7 +6922,7 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 72 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 73 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7000,19 +7013,19 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/builtins/isFinite (; 73 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 74 ;) (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 (; 74 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 75 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/array/Array#__unchecked_get (; 75 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__unchecked_get (; 76 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -7021,7 +7034,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__unchecked_get (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 77 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -7030,7 +7043,7 @@ i32.add i32.load16_s ) - (func $~lib/util/number/genDigits (; 77 ;) (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 (; 78 ;) (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) @@ -7085,7 +7098,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 5272 + i32.const 5328 i32.load offset=4 local.set $16 block $break|0 @@ -7586,7 +7599,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 78 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 79 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7916,7 +7929,7 @@ unreachable unreachable ) - (func $~lib/util/number/dtoa_core (; 79 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 80 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8085,11 +8098,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 4960 + i32.const 5016 local.get $14 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 5184 + i32.const 5240 local.get $14 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -8354,7 +8367,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 80 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8473,7 +8486,7 @@ local.get $10 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/dtoa (; 81 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 82 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8481,23 +8494,23 @@ f64.const 0 f64.eq if - i32.const 4128 + i32.const 4184 call $~lib/rt/pure/__retain return end local.get $0 - call $~lib/builtins/isFinite + call $~lib/number/isFinite i32.eqz if local.get $0 - call $~lib/builtins/isNaN + call $~lib/number/isNaN if - i32.const 4152 + i32.const 4208 call $~lib/rt/pure/__retain return end - i32.const 4176 - i32.const 4216 + i32.const 4232 + i32.const 4272 local.get $0 f64.const 0 f64.lt @@ -8532,7 +8545,7 @@ call $~lib/rt/tlsf/__free local.get $3 ) - (func $start:std/string (; 82 ;) (type $FUNCSIG$v) + (func $start:std/string (; 83 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9619,7 +9632,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1320 + i32.const 1376 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -9632,7 +9645,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 1400 call $~lib/string/parseFloat f64.const 0.25 f64.eq @@ -9645,7 +9658,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1368 + i32.const 1424 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -9658,7 +9671,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1400 + i32.const 1456 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -9673,13 +9686,13 @@ end block i32.const 408 - i32.const 1432 + i32.const 1488 call $~lib/string/String.__concat local.tee $22 call $~lib/rt/pure/__retain local.set $23 local.get $23 - i32.const 1456 + i32.const 1512 call $~lib/string/String.__eq i32.eqz if @@ -9744,7 +9757,7 @@ unreachable end i32.const 408 - i32.const 1432 + i32.const 1488 call $~lib/string/String.__ne i32.eqz if @@ -9767,8 +9780,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1480 - i32.const 1504 + i32.const 1536 + i32.const 1560 call $~lib/string/String.__ne i32.eqz if @@ -9779,8 +9792,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1480 - i32.const 1480 + i32.const 1536 + i32.const 1536 call $~lib/string/String.__eq i32.eqz if @@ -9791,8 +9804,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1528 - i32.const 1552 + i32.const 1584 + i32.const 1608 call $~lib/string/String.__ne i32.eqz if @@ -9803,8 +9816,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1576 - i32.const 1608 + i32.const 1632 + i32.const 1664 call $~lib/string/String.__ne i32.eqz if @@ -9815,8 +9828,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1640 - i32.const 1640 + i32.const 1696 + i32.const 1696 call $~lib/string/String.__eq i32.eqz if @@ -9827,8 +9840,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1640 - i32.const 1672 + i32.const 1696 + i32.const 1728 call $~lib/string/String.__ne i32.eqz if @@ -9839,8 +9852,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1704 - i32.const 1744 + i32.const 1760 + i32.const 1800 call $~lib/string/String.__ne i32.eqz if @@ -9851,7 +9864,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1432 + i32.const 1488 i32.const 408 call $~lib/string/String.__gt i32.eqz @@ -9863,7 +9876,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 + i32.const 1840 i32.const 408 call $~lib/string/String.__gt i32.eqz @@ -9875,8 +9888,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 - i32.const 1808 + i32.const 1840 + i32.const 1864 call $~lib/string/String.__gte i32.eqz if @@ -9887,8 +9900,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 - i32.const 1456 + i32.const 1840 + i32.const 1512 call $~lib/string/String.__gt i32.eqz if @@ -9899,8 +9912,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1784 - i32.const 1456 + i32.const 1840 + i32.const 1512 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -9912,7 +9925,7 @@ call $~lib/builtins/abort unreachable end - i32.const 1432 + i32.const 1488 global.get $std/string/nullStr call $~lib/string/String.__lt i32.eqz @@ -9926,7 +9939,7 @@ unreachable end global.get $std/string/nullStr - i32.const 1432 + i32.const 1488 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -10161,7 +10174,7 @@ i32.const 2 call $~lib/string/String#repeat local.tee $22 - i32.const 1808 + i32.const 1864 call $~lib/string/String.__eq i32.eqz if @@ -10176,7 +10189,7 @@ i32.const 3 call $~lib/string/String#repeat local.tee $23 - i32.const 1880 + i32.const 1936 call $~lib/string/String.__eq i32.eqz if @@ -10187,11 +10200,11 @@ call $~lib/builtins/abort unreachable end - i32.const 1456 + i32.const 1512 i32.const 4 call $~lib/string/String#repeat local.tee $27 - i32.const 1904 + i32.const 1960 call $~lib/string/String.__eq i32.eqz if @@ -10206,7 +10219,7 @@ i32.const 5 call $~lib/string/String#repeat local.tee $28 - i32.const 1936 + i32.const 1992 call $~lib/string/String.__eq i32.eqz if @@ -10221,7 +10234,7 @@ i32.const 6 call $~lib/string/String#repeat local.tee $29 - i32.const 1968 + i32.const 2024 call $~lib/string/String.__eq i32.eqz if @@ -10236,7 +10249,7 @@ i32.const 7 call $~lib/string/String#repeat local.tee $30 - i32.const 2000 + i32.const 2056 call $~lib/string/String.__eq i32.eqz if @@ -10248,7 +10261,7 @@ unreachable end block (result i32) - i32.const 2032 + i32.const 2088 local.tee $31 global.get $std/string/str local.tee $32 @@ -10268,7 +10281,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice local.tee $31 - i32.const 2032 + i32.const 2088 call $~lib/string/String.__eq i32.eqz if @@ -10284,7 +10297,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice local.tee $32 - i32.const 2080 + i32.const 2136 call $~lib/string/String.__eq i32.eqz if @@ -10300,7 +10313,7 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice local.tee $33 - i32.const 2104 + i32.const 2160 call $~lib/string/String.__eq i32.eqz if @@ -10316,7 +10329,7 @@ i32.const 7 call $~lib/string/String#slice local.tee $34 - i32.const 2136 + i32.const 2192 call $~lib/string/String.__eq i32.eqz if @@ -10332,7 +10345,7 @@ i32.const -6 call $~lib/string/String#slice local.tee $35 - i32.const 2168 + i32.const 2224 call $~lib/string/String.__eq i32.eqz if @@ -10364,7 +10377,7 @@ i32.const -1 call $~lib/string/String#slice local.tee $37 - i32.const 2200 + i32.const 2256 call $~lib/string/String.__eq i32.eqz if @@ -10483,8 +10496,8 @@ unreachable end block (result i32) - i32.const 2408 - i32.const 2440 + i32.const 2464 + i32.const 2496 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split local.set $40 @@ -10502,7 +10515,7 @@ i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.tee $40 - i32.const 2408 + i32.const 2464 call $~lib/string/String.__eq local.set $39 local.get $40 @@ -10523,7 +10536,7 @@ unreachable end block (result i32) - i32.const 2408 + i32.const 2464 i32.const 920 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -10558,7 +10571,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $39 - i32.const 1432 + i32.const 1488 call $~lib/string/String.__eq local.set $40 local.get $39 @@ -10574,7 +10587,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $39 - i32.const 2464 + i32.const 2520 call $~lib/string/String.__eq local.set $40 local.get $39 @@ -10628,7 +10641,7 @@ i32.const 8 call $~lib/util/number/itoa32 local.tee $40 - i32.const 2936 + i32.const 2992 call $~lib/string/String.__eq i32.eqz if @@ -10656,7 +10669,7 @@ i32.const -1000 call $~lib/util/number/itoa32 local.tee $42 - i32.const 2960 + i32.const 3016 call $~lib/string/String.__eq i32.eqz if @@ -10670,7 +10683,7 @@ i32.const 1234 call $~lib/util/number/itoa32 local.tee $43 - i32.const 2992 + i32.const 3048 call $~lib/string/String.__eq i32.eqz if @@ -10684,7 +10697,7 @@ i32.const 12345 call $~lib/util/number/itoa32 local.tee $44 - i32.const 3016 + i32.const 3072 call $~lib/string/String.__eq i32.eqz if @@ -10698,7 +10711,7 @@ i32.const 123456 call $~lib/util/number/itoa32 local.tee $45 - i32.const 3048 + i32.const 3104 call $~lib/string/String.__eq i32.eqz if @@ -10712,7 +10725,7 @@ i32.const 1111111 call $~lib/util/number/itoa32 local.tee $46 - i32.const 3080 + i32.const 3136 call $~lib/string/String.__eq i32.eqz if @@ -10726,7 +10739,7 @@ i32.const 1234567 call $~lib/util/number/itoa32 local.tee $47 - i32.const 3112 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if @@ -10740,7 +10753,7 @@ i32.const 2147483646 call $~lib/util/number/itoa32 local.tee $48 - i32.const 3144 + i32.const 3200 call $~lib/string/String.__eq i32.eqz if @@ -10754,7 +10767,7 @@ i32.const 2147483647 call $~lib/util/number/itoa32 local.tee $49 - i32.const 3184 + i32.const 3240 call $~lib/string/String.__eq i32.eqz if @@ -10768,7 +10781,7 @@ i32.const -2147483648 call $~lib/util/number/itoa32 local.tee $50 - i32.const 3224 + i32.const 3280 call $~lib/string/String.__eq i32.eqz if @@ -10782,7 +10795,7 @@ i32.const -1 call $~lib/util/number/itoa32 local.tee $51 - i32.const 3264 + i32.const 3320 call $~lib/string/String.__eq i32.eqz if @@ -10810,7 +10823,7 @@ i32.const 1000 call $~lib/util/number/utoa32 local.tee $53 - i32.const 3288 + i32.const 3344 call $~lib/string/String.__eq i32.eqz if @@ -10824,7 +10837,7 @@ i32.const 2147483647 call $~lib/util/number/utoa32 local.tee $54 - i32.const 3184 + i32.const 3240 call $~lib/string/String.__eq i32.eqz if @@ -10838,7 +10851,7 @@ i32.const -2147483648 call $~lib/util/number/utoa32 local.tee $55 - i32.const 3312 + i32.const 3368 call $~lib/string/String.__eq i32.eqz if @@ -10852,7 +10865,7 @@ global.get $~lib/builtins/u32.MAX_VALUE call $~lib/util/number/utoa32 local.tee $56 - i32.const 3352 + i32.const 3408 call $~lib/string/String.__eq i32.eqz if @@ -10880,7 +10893,7 @@ i64.const 1234 call $~lib/util/number/utoa64 local.tee $58 - i32.const 2992 + i32.const 3048 call $~lib/string/String.__eq i32.eqz if @@ -10894,7 +10907,7 @@ i64.const 99999999 call $~lib/util/number/utoa64 local.tee $59 - i32.const 3392 + i32.const 3448 call $~lib/string/String.__eq i32.eqz if @@ -10908,7 +10921,7 @@ i64.const 100000000 call $~lib/util/number/utoa64 local.tee $60 - i32.const 3424 + i32.const 3480 call $~lib/string/String.__eq i32.eqz if @@ -10922,7 +10935,7 @@ i64.const 4294967295 call $~lib/util/number/utoa64 local.tee $61 - i32.const 3352 + i32.const 3408 call $~lib/string/String.__eq i32.eqz if @@ -10936,7 +10949,7 @@ i64.const 68719476735 call $~lib/util/number/utoa64 local.tee $62 - i32.const 3464 + i32.const 3520 call $~lib/string/String.__eq i32.eqz if @@ -10950,7 +10963,7 @@ i64.const 868719476735 call $~lib/util/number/utoa64 local.tee $63 - i32.const 3504 + i32.const 3560 call $~lib/string/String.__eq i32.eqz if @@ -10964,7 +10977,7 @@ i64.const 999868719476735 call $~lib/util/number/utoa64 local.tee $64 - i32.const 3544 + i32.const 3600 call $~lib/string/String.__eq i32.eqz if @@ -10978,7 +10991,7 @@ i64.const 9999868719476735 call $~lib/util/number/utoa64 local.tee $65 - i32.const 3592 + i32.const 3648 call $~lib/string/String.__eq i32.eqz if @@ -10992,7 +11005,7 @@ i64.const 19999868719476735 call $~lib/util/number/utoa64 local.tee $66 - i32.const 3640 + i32.const 3696 call $~lib/string/String.__eq i32.eqz if @@ -11006,7 +11019,7 @@ global.get $~lib/builtins/u64.MAX_VALUE call $~lib/util/number/utoa64 local.tee $67 - i32.const 3696 + i32.const 3752 call $~lib/string/String.__eq i32.eqz if @@ -11034,7 +11047,7 @@ i64.const -1234 call $~lib/util/number/itoa64 local.tee $69 - i32.const 3752 + i32.const 3808 call $~lib/string/String.__eq i32.eqz if @@ -11048,7 +11061,7 @@ i64.const 4294967295 call $~lib/util/number/itoa64 local.tee $70 - i32.const 3352 + i32.const 3408 call $~lib/string/String.__eq i32.eqz if @@ -11062,7 +11075,7 @@ i64.const -4294967295 call $~lib/util/number/itoa64 local.tee $71 - i32.const 3784 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -11076,7 +11089,7 @@ i64.const 68719476735 call $~lib/util/number/itoa64 local.tee $72 - i32.const 3464 + i32.const 3520 call $~lib/string/String.__eq i32.eqz if @@ -11090,7 +11103,7 @@ i64.const -68719476735 call $~lib/util/number/itoa64 local.tee $73 - i32.const 3824 + i32.const 3880 call $~lib/string/String.__eq i32.eqz if @@ -11104,7 +11117,7 @@ i64.const -868719476735 call $~lib/util/number/itoa64 local.tee $74 - i32.const 3864 + i32.const 3920 call $~lib/string/String.__eq i32.eqz if @@ -11118,7 +11131,7 @@ i64.const -999868719476735 call $~lib/util/number/itoa64 local.tee $75 - i32.const 3912 + i32.const 3968 call $~lib/string/String.__eq i32.eqz if @@ -11132,7 +11145,7 @@ i64.const -19999868719476735 call $~lib/util/number/itoa64 local.tee $76 - i32.const 3960 + i32.const 4016 call $~lib/string/String.__eq i32.eqz if @@ -11146,7 +11159,7 @@ global.get $~lib/builtins/i64.MAX_VALUE call $~lib/util/number/itoa64 local.tee $77 - i32.const 4016 + i32.const 4072 call $~lib/string/String.__eq i32.eqz if @@ -11160,7 +11173,7 @@ global.get $~lib/builtins/i64.MIN_VALUE call $~lib/util/number/itoa64 local.tee $78 - i32.const 4072 + i32.const 4128 call $~lib/string/String.__eq i32.eqz if @@ -11174,7 +11187,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $79 - i32.const 4128 + i32.const 4184 call $~lib/string/String.__eq i32.eqz if @@ -11188,7 +11201,7 @@ f64.const -0 call $~lib/util/number/dtoa local.tee $80 - i32.const 4128 + i32.const 4184 call $~lib/string/String.__eq i32.eqz if @@ -11202,7 +11215,7 @@ f64.const nan:0x8000000000000 call $~lib/util/number/dtoa local.tee $81 - i32.const 4152 + i32.const 4208 call $~lib/string/String.__eq i32.eqz if @@ -11216,7 +11229,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $82 - i32.const 4216 + i32.const 4272 call $~lib/string/String.__eq i32.eqz if @@ -11231,7 +11244,7 @@ f64.neg call $~lib/util/number/dtoa local.tee $83 - i32.const 4176 + i32.const 4232 call $~lib/string/String.__eq i32.eqz if @@ -11245,7 +11258,7 @@ global.get $~lib/builtins/f64.EPSILON call $~lib/util/number/dtoa local.tee $84 - i32.const 5304 + i32.const 5360 call $~lib/string/String.__eq i32.eqz if @@ -11260,7 +11273,7 @@ f64.neg call $~lib/util/number/dtoa local.tee $85 - i32.const 5368 + i32.const 5424 call $~lib/string/String.__eq i32.eqz if @@ -11274,7 +11287,7 @@ global.get $~lib/builtins/f64.MAX_VALUE call $~lib/util/number/dtoa local.tee $86 - i32.const 5432 + i32.const 5488 call $~lib/string/String.__eq i32.eqz if @@ -11289,7 +11302,7 @@ f64.neg call $~lib/util/number/dtoa local.tee $87 - i32.const 5496 + i32.const 5552 call $~lib/string/String.__eq i32.eqz if @@ -11303,7 +11316,7 @@ f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa local.tee $88 - i32.const 5560 + i32.const 5616 call $~lib/string/String.__eq i32.eqz if @@ -11317,7 +11330,7 @@ f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa local.tee $89 - i32.const 5624 + i32.const 5680 call $~lib/string/String.__eq i32.eqz if @@ -11331,7 +11344,7 @@ f64.const 4.940656e-318 call $~lib/util/number/dtoa local.tee $90 - i32.const 5688 + i32.const 5744 call $~lib/string/String.__eq i32.eqz if @@ -11345,7 +11358,7 @@ f64.const 9060801153433600 call $~lib/util/number/dtoa local.tee $91 - i32.const 5736 + i32.const 5792 call $~lib/string/String.__eq i32.eqz if @@ -11359,7 +11372,7 @@ f64.const 4708356024711512064 call $~lib/util/number/dtoa local.tee $92 - i32.const 5792 + i32.const 5848 call $~lib/string/String.__eq i32.eqz if @@ -11373,7 +11386,7 @@ f64.const 9409340012568248320 call $~lib/util/number/dtoa local.tee $93 - i32.const 5856 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if @@ -11387,7 +11400,7 @@ f64.const 5e-324 call $~lib/util/number/dtoa local.tee $94 - i32.const 5920 + i32.const 5976 call $~lib/string/String.__eq i32.eqz if @@ -11401,7 +11414,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $95 - i32.const 5952 + i32.const 6008 call $~lib/string/String.__eq i32.eqz if @@ -11415,7 +11428,7 @@ f64.const 0.1 call $~lib/util/number/dtoa local.tee $96 - i32.const 1320 + i32.const 1376 call $~lib/string/String.__eq i32.eqz if @@ -11429,7 +11442,7 @@ f64.const -1 call $~lib/util/number/dtoa local.tee $97 - i32.const 5976 + i32.const 6032 call $~lib/string/String.__eq i32.eqz if @@ -11443,7 +11456,7 @@ f64.const -0.1 call $~lib/util/number/dtoa local.tee $98 - i32.const 6000 + i32.const 6056 call $~lib/string/String.__eq i32.eqz if @@ -11457,7 +11470,7 @@ f64.const 1e6 call $~lib/util/number/dtoa local.tee $99 - i32.const 6024 + i32.const 6080 call $~lib/string/String.__eq i32.eqz if @@ -11471,7 +11484,7 @@ f64.const 1e-06 call $~lib/util/number/dtoa local.tee $100 - i32.const 6064 + i32.const 6120 call $~lib/string/String.__eq i32.eqz if @@ -11485,7 +11498,7 @@ f64.const -1e6 call $~lib/util/number/dtoa local.tee $101 - i32.const 6096 + i32.const 6152 call $~lib/string/String.__eq i32.eqz if @@ -11499,7 +11512,7 @@ f64.const -1e-06 call $~lib/util/number/dtoa local.tee $102 - i32.const 6136 + i32.const 6192 call $~lib/string/String.__eq i32.eqz if @@ -11513,7 +11526,7 @@ f64.const 1e7 call $~lib/util/number/dtoa local.tee $103 - i32.const 6176 + i32.const 6232 call $~lib/string/String.__eq i32.eqz if @@ -11527,7 +11540,7 @@ f64.const 1e-07 call $~lib/util/number/dtoa local.tee $104 - i32.const 6216 + i32.const 6272 call $~lib/string/String.__eq i32.eqz if @@ -11541,7 +11554,7 @@ f64.const 1.e+308 call $~lib/util/number/dtoa local.tee $105 - i32.const 6240 + i32.const 6296 call $~lib/string/String.__eq i32.eqz if @@ -11555,7 +11568,7 @@ f64.const -1.e+308 call $~lib/util/number/dtoa local.tee $106 - i32.const 6272 + i32.const 6328 call $~lib/string/String.__eq i32.eqz if @@ -11569,7 +11582,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $107 - i32.const 4216 + i32.const 4272 call $~lib/string/String.__eq i32.eqz if @@ -11583,7 +11596,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $108 - i32.const 4176 + i32.const 4232 call $~lib/string/String.__eq i32.eqz if @@ -11597,7 +11610,7 @@ f64.const 1e-308 call $~lib/util/number/dtoa local.tee $109 - i32.const 6304 + i32.const 6360 call $~lib/string/String.__eq i32.eqz if @@ -11611,7 +11624,7 @@ f64.const -1e-308 call $~lib/util/number/dtoa local.tee $110 - i32.const 6336 + i32.const 6392 call $~lib/string/String.__eq i32.eqz if @@ -11625,7 +11638,7 @@ f64.const 1e-323 call $~lib/util/number/dtoa local.tee $111 - i32.const 6368 + i32.const 6424 call $~lib/string/String.__eq i32.eqz if @@ -11639,7 +11652,7 @@ f64.const -1e-323 call $~lib/util/number/dtoa local.tee $112 - i32.const 6400 + i32.const 6456 call $~lib/string/String.__eq i32.eqz if @@ -11653,7 +11666,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $113 - i32.const 4128 + i32.const 4184 call $~lib/string/String.__eq i32.eqz if @@ -11667,7 +11680,7 @@ f64.const 4294967272 call $~lib/util/number/dtoa local.tee $114 - i32.const 6432 + i32.const 6488 call $~lib/string/String.__eq i32.eqz if @@ -11681,7 +11694,7 @@ f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa local.tee $115 - i32.const 6472 + i32.const 6528 call $~lib/string/String.__eq i32.eqz if @@ -11695,7 +11708,7 @@ f64.const 555555555.5555556 call $~lib/util/number/dtoa local.tee $116 - i32.const 6536 + i32.const 6592 call $~lib/string/String.__eq i32.eqz if @@ -11709,7 +11722,7 @@ f64.const 0.9999999999999999 call $~lib/util/number/dtoa local.tee $117 - i32.const 6592 + i32.const 6648 call $~lib/string/String.__eq i32.eqz if @@ -11723,7 +11736,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $118 - i32.const 5952 + i32.const 6008 call $~lib/string/String.__eq i32.eqz if @@ -11737,7 +11750,7 @@ f64.const 12.34 call $~lib/util/number/dtoa local.tee $119 - i32.const 6648 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if @@ -11753,7 +11766,7 @@ f64.div call $~lib/util/number/dtoa local.tee $120 - i32.const 6680 + i32.const 6736 call $~lib/string/String.__eq i32.eqz if @@ -11767,7 +11780,7 @@ f64.const 1234e17 call $~lib/util/number/dtoa local.tee $121 - i32.const 6736 + i32.const 6792 call $~lib/string/String.__eq i32.eqz if @@ -11781,7 +11794,7 @@ f64.const 1234e18 call $~lib/util/number/dtoa local.tee $122 - i32.const 6800 + i32.const 6856 call $~lib/string/String.__eq i32.eqz if @@ -11795,7 +11808,7 @@ f64.const 2.71828 call $~lib/util/number/dtoa local.tee $123 - i32.const 6840 + i32.const 6896 call $~lib/string/String.__eq i32.eqz if @@ -11809,7 +11822,7 @@ f64.const 0.0271828 call $~lib/util/number/dtoa local.tee $124 - i32.const 6872 + i32.const 6928 call $~lib/string/String.__eq i32.eqz if @@ -11823,7 +11836,7 @@ f64.const 271.828 call $~lib/util/number/dtoa local.tee $125 - i32.const 6912 + i32.const 6968 call $~lib/string/String.__eq i32.eqz if @@ -11837,7 +11850,7 @@ f64.const 1.1e+128 call $~lib/util/number/dtoa local.tee $126 - i32.const 6944 + i32.const 7000 call $~lib/string/String.__eq i32.eqz if @@ -11851,7 +11864,7 @@ f64.const 1.1e-64 call $~lib/util/number/dtoa local.tee $127 - i32.const 6976 + i32.const 7032 call $~lib/string/String.__eq i32.eqz if @@ -11865,7 +11878,7 @@ f64.const 0.000035689 call $~lib/util/number/dtoa local.tee $128 - i32.const 7008 + i32.const 7064 call $~lib/string/String.__eq i32.eqz if @@ -12137,11 +12150,11 @@ local.get $128 call $~lib/rt/pure/__release ) - (func $std/string/getString (; 83 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 84 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $start (; 84 ;) (type $FUNCSIG$v) + (func $start (; 85 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -12151,7 +12164,7 @@ end call $start:std/string ) - (func $~lib/rt/pure/markGray (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 86 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12178,7 +12191,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 86 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -12195,7 +12208,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 88 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12232,7 +12245,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 88 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 89 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12270,7 +12283,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -12424,7 +12437,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12462,19 +12475,19 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 94 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 94 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 95 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/__visit_members (; 95 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block @@ -12624,6 +12637,6 @@ end unreachable ) - (func $null (; 96 ;) (type $FUNCSIG$v) + (func $null (; 97 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 019e9be2..63a7cce1 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -15506,7 +15506,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/builtins/isNaN (; 317 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 317 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne @@ -15561,7 +15561,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0 @@ -15917,7 +15917,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/builtins/isNaN (; 323 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 323 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne @@ -15972,7 +15972,7 @@ i32.const 1 else local.get $1 - call $~lib/builtins/isNaN + call $~lib/number/isNaN end if local.get $0