diff --git a/std/assembly/internal/number.ts b/std/assembly/internal/number.ts index e254aece..0cc7ac21 100644 --- a/std/assembly/internal/number.ts +++ b/std/assembly/internal/number.ts @@ -1,10 +1,13 @@ import { - CharCode, - allocateUnsafe as allocateUnsafeString, - freeUnsafe as freeUnsafeString, - HEADER_SIZE as STRING_HEADER_SIZE + CharCode } from "./string"; +import { + ALLOC, + REGISTER, + FREE +} from "../runtime"; + import { LOAD } from "./arraybuffer"; @@ -175,7 +178,7 @@ function utoa32_lut(buffer: usize, num: u32, offset: usize): void { let digits2 = LOAD(lutbuf, d2); offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32), STRING_HEADER_SIZE); + store(buffer + (offset << 1), digits1 | (digits2 << 32)); } if (num >= 100) { @@ -184,17 +187,17 @@ function utoa32_lut(buffer: usize, num: u32, offset: usize): void { num = t; offset -= 2; let digits = LOAD(lutbuf, d1); - store(buffer + (offset << 1), digits, STRING_HEADER_SIZE); + store(buffer + (offset << 1), digits); } if (num >= 10) { offset -= 2; let digits = LOAD(lutbuf, num); - store(buffer + (offset << 1), digits, STRING_HEADER_SIZE); + store(buffer + (offset << 1), digits); } else { offset -= 1; let digit = CharCode._0 + num; - store(buffer + (offset << 1), digit, STRING_HEADER_SIZE); + store(buffer + (offset << 1), digit); } } @@ -218,13 +221,13 @@ function utoa64_lut(buffer: usize, num: u64, offset: usize): void { let digits2 = LOAD(lutbuf, c2); offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32), STRING_HEADER_SIZE); + store(buffer + (offset << 1), digits1 | (digits2 << 32)); digits1 = LOAD(lutbuf, b1); digits2 = LOAD(lutbuf, b2); offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32), STRING_HEADER_SIZE); + store(buffer + (offset << 1), digits1 | (digits2 << 32)); } utoa32_lut(buffer, num, offset); @@ -236,7 +239,7 @@ function utoa_simple(buffer: usize, num: T, offset: usize): void { let r = (num % 10); num = t; offset -= 1; - store(buffer + (offset << 1), CharCode._0 + r, STRING_HEADER_SIZE); + store(buffer + (offset << 1), CharCode._0 + r); } while (num); } @@ -262,10 +265,10 @@ export function utoa32(value: u32): String { if (!value) return "0"; var decimals = decimalCount32(value); - var buffer = allocateUnsafeString(decimals); + var out = ALLOC(decimals << 1); - utoa32_core(changetype(buffer), value, decimals); - return buffer; + utoa32_core(changetype(out), value, decimals); + return REGISTER(out); } export function itoa32(value: i32): String { @@ -275,29 +278,29 @@ export function itoa32(value: i32): String { if (sign) value = -value; var decimals = decimalCount32(value) + sign; - var buffer = allocateUnsafeString(decimals); + var out = ALLOC(decimals << 1); - utoa32_core(changetype(buffer), value, decimals); - if (sign) store(changetype(buffer), CharCode.MINUS, STRING_HEADER_SIZE); + utoa32_core(changetype(out), value, decimals); + if (sign) store(changetype(out), CharCode.MINUS); - return buffer; + return REGISTER(out); } export function utoa64(value: u64): String { if (!value) return "0"; - var buffer: String; + var out: usize; if (value <= u32.MAX_VALUE) { let val32 = value; let decimals = decimalCount32(val32); - buffer = allocateUnsafeString(decimals); - utoa32_core(changetype(buffer), val32, decimals); + out = ALLOC(decimals << 1); + utoa32_core(out, val32, decimals); } else { let decimals = decimalCount64(value); - buffer = allocateUnsafeString(decimals); - utoa64_core(changetype(buffer), value, decimals); + out = ALLOC(decimals << 1); + utoa64_core(changetype(out), value, decimals); } - return buffer; + return REGISTER(out); } export function itoa64(value: i64): String { @@ -306,20 +309,20 @@ export function itoa64(value: i64): String { var sign = value < 0; if (sign) value = -value; - var buffer: String; + var out: usize; if (value <= u32.MAX_VALUE) { let val32 = value; let decimals = decimalCount32(val32) + sign; - buffer = allocateUnsafeString(decimals); - utoa32_core(changetype(buffer), val32, decimals); + out = ALLOC(decimals << 1); + utoa32_core(changetype(out), val32, decimals); } else { let decimals = decimalCount64(value) + sign; - buffer = allocateUnsafeString(decimals); - utoa64_core(changetype(buffer), value, decimals); + out = ALLOC(decimals << 1); + utoa64_core(changetype(out), value, decimals); } - if (sign) store(changetype(buffer), CharCode.MINUS, STRING_HEADER_SIZE); + if (sign) store(changetype(out), CharCode.MINUS); - return buffer; + return REGISTER(out); } export function itoa(value: T): String { @@ -393,7 +396,7 @@ function normalizedBoundaries(f: u64, e: i32): void { @inline function grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void { var lastp = buffer + ((len - 1) << 1); - var digit = load(lastp, STRING_HEADER_SIZE); + var digit = load(lastp); while ( rest < wp_w && delta - rest >= ten_kappa && ( @@ -404,7 +407,7 @@ function grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u --digit; rest += ten_kappa; } - store(lastp, digit, STRING_HEADER_SIZE); + store(lastp, digit); } @inline @@ -487,7 +490,7 @@ function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i default: { d = 0; break; } } - if (d | len) store(buffer + (len++ << 1), CharCode._0 + d, STRING_HEADER_SIZE); + if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); --kappa; let tmp = ((p1) << one_exp) + p2; @@ -503,7 +506,7 @@ function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i delta *= 10; let d = p2 >> one_exp; - if (d | len) store(buffer + (len++ << 1), CharCode._0 + d, STRING_HEADER_SIZE); + if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); p2 &= mask; --kappa; @@ -524,13 +527,13 @@ function genExponent(buffer: usize, k: i32): i32 { if (sign) k = -k; var decimals = decimalCount32(k) + 1; utoa32_core(buffer, k, decimals); - store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign), STRING_HEADER_SIZE); + store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign)); return decimals; } function prettify(buffer: usize, length: i32, k: i32): i32 { if (!k) { - store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16), STRING_HEADER_SIZE); + store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16)); return length + 2; } @@ -538,47 +541,47 @@ function prettify(buffer: usize, length: i32, k: i32): i32 { if (length <= kk && kk <= 21) { // 1234e7 -> 12340000000 for (let i = length; i < kk; ++i) { - store(buffer + (i << 1), CharCode._0, STRING_HEADER_SIZE); + store(buffer + (i << 1), CharCode._0); } - store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16), STRING_HEADER_SIZE); + store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16)); return kk + 2; } else if (kk > 0 && kk <= 21) { // 1234e-2 -> 12.34 let ptr = buffer + (kk << 1); memory.copy( - ptr + STRING_HEADER_SIZE + 2, - ptr + STRING_HEADER_SIZE, + ptr + 2, + ptr, -k << 1 ); - store(buffer + (kk << 1), CharCode.DOT, STRING_HEADER_SIZE); + store(buffer + (kk << 1), CharCode.DOT); return length + 1; } else if (-6 < kk && kk <= 0) { // 1234e-6 -> 0.001234 let offset = 2 - kk; memory.copy( - buffer + STRING_HEADER_SIZE + (offset << 1), - buffer + STRING_HEADER_SIZE, + buffer + (offset << 1), + buffer, length << 1 ); - store(buffer, CharCode._0 | (CharCode.DOT << 16), STRING_HEADER_SIZE); + store(buffer, CharCode._0 | (CharCode.DOT << 16)); for (let i = 2; i < offset; ++i) { - store(buffer + (i << 1), CharCode._0, STRING_HEADER_SIZE); + store(buffer + (i << 1), CharCode._0); } return length + offset; } else if (length == 1) { // 1e30 - store(buffer, CharCode.e, STRING_HEADER_SIZE + 2); + store(buffer, CharCode.e, 2); length = genExponent(buffer + 4, kk - 1); return length + 2; } else { let len = length << 1; memory.copy( - buffer + STRING_HEADER_SIZE + 4, - buffer + STRING_HEADER_SIZE + 2, + buffer + 4, + buffer + 2, len - 2 ); - store(buffer, CharCode.DOT, STRING_HEADER_SIZE + 2); - store(buffer + len, CharCode.e, STRING_HEADER_SIZE + 2); + store(buffer, CharCode.DOT, 2); + store(buffer + len, CharCode.e, 2); length += genExponent(buffer + len + 4, kk - 1); return length + 2; } @@ -588,7 +591,7 @@ export function dtoa_core(buffer: usize, value: f64): i32 { var sign = (value < 0); if (sign) { value = -value; - store(buffer, CharCode.MINUS, STRING_HEADER_SIZE); + store(buffer, CharCode.MINUS); } // assert(value > 0 && value <= 1.7976931348623157e308); var len = grisu2(value, buffer, sign); @@ -602,17 +605,17 @@ export function dtoa(value: f64): String { if (isNaN(value)) return "NaN"; return select("-Infinity", "Infinity", value < 0); } - var buffer = allocateUnsafeString(MAX_DOUBLE_LENGTH); - var length = dtoa_core(changetype(buffer), value); - var result = buffer.substring(0, length); - freeUnsafeString(buffer); + var temp = ALLOC(MAX_DOUBLE_LENGTH << 1); + var length = dtoa_core(temp, value); + var result = changetype(temp).substring(0, length); + FREE(temp); return result; } export function itoa_stream(buffer: usize, offset: usize, value: T): u32 { buffer += (offset << 1); if (!value) { - store(buffer, CharCode._0, STRING_HEADER_SIZE); + store(buffer, CharCode._0); return 1; } var decimals: u32 = 0; @@ -632,7 +635,7 @@ export function itoa_stream(buffer: usize, offset: usize, value: T): u32 { utoa64_core(buffer, value, decimals); } } - if (sign) store(buffer, CharCode.MINUS, STRING_HEADER_SIZE); + if (sign) store(buffer, CharCode.MINUS); } else { if (sizeof() <= 4) { decimals = decimalCount32(value); @@ -654,22 +657,22 @@ export function itoa_stream(buffer: usize, offset: usize, value: T): u32 { export function dtoa_stream(buffer: usize, offset: usize, value: f64): u32 { buffer += (offset << 1); if (value == 0.0) { - store(buffer, CharCode._0, STRING_HEADER_SIZE + 0); - store(buffer, CharCode.DOT, STRING_HEADER_SIZE + 2); - store(buffer, CharCode._0, STRING_HEADER_SIZE + 4); + store(buffer, CharCode._0); + store(buffer, CharCode.DOT, 2); + store(buffer, CharCode._0, 4); return 3; } if (!isFinite(value)) { if (isNaN(value)) { - store(buffer, CharCode.N, STRING_HEADER_SIZE + 0); - store(buffer, CharCode.a, STRING_HEADER_SIZE + 2); - store(buffer, CharCode.N, STRING_HEADER_SIZE + 4); + store(buffer, CharCode.N); + store(buffer, CharCode.a, 2); + store(buffer, CharCode.N, 4); return 3; } else { let sign = (value < 0); let len = 8 + sign; let source = changetype(select("-Infinity", "Infinity", sign)); - memory.copy(buffer + STRING_HEADER_SIZE, source + STRING_HEADER_SIZE, len << 1); + memory.copy(buffer, source, len << 1); return len; } } diff --git a/std/assembly/string.ts b/std/assembly/string.ts index bc74f170..2a3a71f9 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -333,7 +333,7 @@ export class String extends StringBase { var padLen = padString.length; if (targetLength < length || !padLen) return this; var len = targetLength - length; - var out = ALLOC(targetLength); + var out = ALLOC(targetLength << 1); if (length) { memory.copy(out, changetype(this), length << 1); } @@ -356,13 +356,13 @@ export class String extends StringBase { var length = this.length; // Most browsers can't handle strings 1 << 28 chars or longer - if (count < 0 || length * count > (1 << 28)) { + if (count < 0 || length * count > (1 << 28)) { throw new RangeError("Invalid count value"); } if (count == 0 || !length) return changetype(""); if (count == 1) return this; - var out = ALLOC(length * count); + var out = ALLOC((length * count) << 1); memory.repeat(out, changetype(this), length << 1, count); return REGISTER(out); } @@ -373,7 +373,7 @@ export class String extends StringBase { var end = endIndex < 0 ? max(endIndex + len, 0) : min(endIndex, len); len = end - begin; if (len <= 0) return changetype(""); - var out = ALLOC(len); + var out = ALLOC(len << 1); memory.copy(out, changetype(this) + (begin << 1), len << 1); return REGISTER(out); } diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 24507556..4f9252e6 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -1,11 +1,10 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiiii (func (param i32 i32 i32 i32 i32))) + (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$viji (func (param i32 i64 i32))) @@ -13,170 +12,171 @@ (type $FUNCSIG$iid (func (param i32 f64) (result i32))) (type $FUNCSIG$iijijiji (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) (type $FUNCSIG$i (func (result i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g") - (data (i32.const 48) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 80) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 112) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 168) "\01") - (data (i32.const 176) "\01\00\00\006") - (data (i32.const 184) "\02\00\00\004\d8\06\df") - (data (i32.const 192) "\02\00\00\00h\00i") - (data (i32.const 200) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 216) "\06\00\00\00s\00t\00r\00i\00n\00g") - (data (i32.const 232) "\03\00\00\00I\00\'\00m") - (data (i32.const 248) "\01\00\00\00 ") - (data (i32.const 264) "\03\00\00\00 \00 \00 ") - (data (i32.const 280) "\01\00\00\00a") - (data (i32.const 288) "\03\00\00\00a\00b\00c") - (data (i32.const 304) "\05\00\00\00 \00 \00a\00b\00c") - (data (i32.const 320) "\03\00\00\001\002\003") - (data (i32.const 336) "\06\00\00\001\002\003\00a\00b\00c") - (data (i32.const 352) "\08\00\00\001\002\003\001\002\00a\00b\00c") - (data (i32.const 376) "\05\00\00\00a\00b\00c\00 \00 ") - (data (i32.const 392) "\06\00\00\00a\00b\00c\00a\00b\00c") - (data (i32.const 408) "\08\00\00\00a\00b\00c\00a\00b\00c\00a\00b") - (data (i32.const 432) "\01\00\00\00,") - (data (i32.const 440) "\01\00\00\00x") - (data (i32.const 448) "\03\00\00\00,\00 \00I") - (data (i32.const 464) "\01\00\00\00g") - (data (i32.const 472) "\01\00\00\00i") - (data (i32.const 480) "\01\00\00\000") - (data (i32.const 488) "\01\00\00\001") - (data (i32.const 496) "\05\00\00\000\00b\001\000\001") - (data (i32.const 512) "\05\00\00\000\00o\007\000\007") - (data (i32.const 528) "\05\00\00\000\00x\00f\000\00f") - (data (i32.const 544) "\05\00\00\000\00x\00F\000\00F") - (data (i32.const 560) "\03\00\00\000\001\001") - (data (i32.const 576) "\04\00\00\000\00x\001\00g") - (data (i32.const 592) "\03\00\00\000\00.\001") - (data (i32.const 608) "\03\00\00\00.\002\005") - (data (i32.const 624) "\08\00\00\00.\001\00f\00o\00o\00b\00a\00r") - (data (i32.const 648) "\01\00\00\00b") - (data (i32.const 656) "\02\00\00\00a\00b") - (data (i32.const 664) "\04\00\00\00k\00e\00y\001") - (data (i32.const 680) "\04\00\00\00k\00e\00y\002") - (data (i32.const 696) "\03\00\00\00k\00e\001") - (data (i32.const 712) "\03\00\00\00k\00e\002") - (data (i32.const 728) "\05\00\00\00k\00e\00y\001\002") - (data (i32.const 744) "\05\00\00\00k\00e\00y\001\001") - (data (i32.const 760) "\07\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 784) "\07\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 808) "\0b\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 840) "\n\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 864) "\02\00\00\00b\00a") - (data (i32.const 872) "\02\00\00\00a\00a") - (data (i32.const 880) "\03\00\00\00a\00a\00a") - (data (i32.const 896) "\08\00\00\00a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 920) "\05\00\00\00a\00a\00a\00a\00a") - (data (i32.const 936) "\06\00\00\00a\00a\00a\00a\00a\00a") - (data (i32.const 952) "\07\00\00\00a\00a\00a\00a\00a\00a\00a") - (data (i32.const 976) "\0e\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 1008) "\01\00\00\00n") - (data (i32.const 1016) "\05\00\00\00j\00k\00l\00m\00n") - (data (i32.const 1032) "\05\00\00\00c\00d\00e\00f\00g") - (data (i32.const 1048) "\05\00\00\00d\00e\00f\00g\00h") - (data (i32.const 1064) "\0d\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 1096) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1128) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1192) "\05\00\00\00a\00,\00b\00,\00c") - (data (i32.const 1208) "\01\00\00\00.") - (data (i32.const 1216) "\01\00\00\00c") - (data (i32.const 1224) "\07\00\00\00a\00,\00 \00b\00,\00 \00c") - (data (i32.const 1248) "\02\00\00\00,\00 ") - (data (i32.const 1256) "\06\00\00\00a\00,\00b\00,\00,\00c") - (data (i32.const 1272) "\06\00\00\00,\00a\00,\00b\00,\00c") - (data (i32.const 1288) "\06\00\00\00a\00,\00b\00,\00c\00,") - (data (i32.const 1304) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 1816) "\18\05\00\00d") - (data (i32.const 1824) "\01\00\00\008") - (data (i32.const 1832) "\05\00\00\00-\001\000\000\000") - (data (i32.const 1848) "\04\00\00\001\002\003\004") - (data (i32.const 1864) "\05\00\00\001\002\003\004\005") - (data (i32.const 1880) "\06\00\00\001\002\003\004\005\006") - (data (i32.const 1896) "\07\00\00\001\001\001\001\001\001\001") - (data (i32.const 1920) "\07\00\00\001\002\003\004\005\006\007") - (data (i32.const 1944) "\n\00\00\002\001\004\007\004\008\003\006\004\006") - (data (i32.const 1968) "\n\00\00\002\001\004\007\004\008\003\006\004\007") - (data (i32.const 1992) "\0b\00\00\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2024) "\02\00\00\00-\001") - (data (i32.const 2032) "\04\00\00\001\000\000\000") - (data (i32.const 2048) "\n\00\00\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2072) "\n\00\00\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 2096) "\08\00\00\009\009\009\009\009\009\009\009") - (data (i32.const 2120) "\t\00\00\001\000\000\000\000\000\000\000\000") - (data (i32.const 2144) "\0b\00\00\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2176) "\0c\00\00\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2208) "\0f\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2248) "\10\00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2288) "\11\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2328) "\14\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 2376) "\05\00\00\00-\001\002\003\004") - (data (i32.const 2392) "\0b\00\00\00-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 2424) "\0c\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2456) "\0d\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2488) "\10\00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2528) "\12\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2568) "\13\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 2616) "\14\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 2664) "\03\00\00\000\00.\000") - (data (i32.const 2680) "\03\00\00\00N\00a\00N") - (data (i32.const 2696) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 2720) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 2744) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\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 (; 21 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/internal/string/parse (; 22 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2256,7 +2404,11 @@ (local $5 f64) (local $6 f64) local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.tee $3 i32.eqz if @@ -2265,7 +2417,7 @@ end local.get $0 local.tee $2 - i32.load16_u offset=4 + i32.load16_u local.tee $1 i32.const 45 i32.eq @@ -2283,7 +2435,7 @@ i32.const 2 i32.add local.tee $2 - i32.load16_u offset=4 + i32.load16_u local.set $1 f64.const -1 else @@ -2304,7 +2456,7 @@ i32.const 2 i32.add local.tee $2 - i32.load16_u offset=4 + i32.load16_u local.set $1 end f64.const 1 @@ -2314,13 +2466,13 @@ i32.const 48 i32.eq local.tee $0 - if (result i32) + if local.get $3 i32.const 2 i32.gt_s - else - local.get $0 + local.set $0 end + local.get $0 if (result i32) block $break|0 (result i32) block $case6|0 @@ -2330,7 +2482,7 @@ local.get $2 i32.const 2 i32.add - i32.load16_u offset=4 + i32.load16_u local.tee $0 i32.const 66 i32.eq @@ -2406,18 +2558,18 @@ local.get $0 if local.get $2 - i32.load16_u offset=4 + i32.load16_u local.tee $1 i32.const 48 i32.ge_s local.tee $0 - if (result i32) + if local.get $1 i32.const 57 i32.le_s - else - local.get $0 + local.set $0 end + local.get $0 if (result i32) local.get $1 i32.const 48 @@ -2427,13 +2579,13 @@ i32.const 65 i32.ge_s local.tee $0 - if (result i32) + if local.get $1 i32.const 90 i32.le_s - else - local.get $0 + local.set $0 end + local.get $0 if (result i32) local.get $1 i32.const 55 @@ -2443,13 +2595,13 @@ i32.const 97 i32.ge_s local.tee $0 - if (result i32) + if local.get $1 i32.const 122 i32.le_s - else - local.get $0 + local.set $0 end + local.get $0 i32.eqz br_if $break|1 local.get $1 @@ -2481,7 +2633,7 @@ local.get $5 f64.mul ) - (func $~lib/string/parseFloat (; 22 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 23 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2489,7 +2641,11 @@ (local $5 f64) (local $6 f64) local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.tee $3 i32.eqz if @@ -2498,7 +2654,7 @@ end local.get $0 local.tee $1 - i32.load16_u offset=4 + i32.load16_u local.tee $2 i32.const 45 i32.eq @@ -2516,7 +2672,7 @@ i32.const 2 i32.add local.tee $1 - i32.load16_u offset=4 + i32.load16_u drop f64.const -1 else @@ -2537,7 +2693,7 @@ i32.const 2 i32.add local.tee $1 - i32.load16_u offset=4 + i32.load16_u drop end f64.const 1 @@ -2553,7 +2709,7 @@ local.get $0 if local.get $1 - i32.load16_u offset=4 + i32.load16_u local.tee $2 i32.const 46 i32.eq @@ -2574,23 +2730,22 @@ local.get $0 if local.get $1 - i32.load16_u offset=4 + i32.load16_u local.tee $2 i32.const 69 i32.eq local.tee $0 - i32.eqz - if + if (result i32) + local.get $0 + else local.get $2 i32.const 101 i32.eq - local.set $0 end - local.get $0 if i32.const 0 - i32.const 80 - i32.const 625 + i32.const 96 + i32.const 597 i32.const 10 call $~lib/env/abort unreachable @@ -2649,7 +2804,7 @@ local.get $4 f64.mul ) - (func $~lib/string/String#concat (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2657,89 +2812,113 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 110 + i32.const 96 + i32.const 97 i32.const 4 call $~lib/env/abort unreachable end - local.get $0 - i32.load - local.tee $3 local.get $1 - i32.const 200 + i32.const 240 local.get $1 select local.tee $1 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl local.tee $4 + local.get $0 + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $3 i32.add local.tee $2 i32.eqz if - i32.const 256 + i32.const 312 return end local.get $2 - call $~lib/internal/string/allocateUnsafe + call $~lib/runtime/ALLOC local.tee $2 - i32.const 0 local.get $0 - i32.const 0 local.get $3 - call $~lib/internal/string/copyUnsafe + call $~lib/internal/memory/memmove local.get $2 local.get $3 + i32.add local.get $1 - i32.const 0 local.get $4 - call $~lib/internal/string/copyUnsafe + call $~lib/internal/memory/memmove + local.get $2 + call $~lib/runtime/unref + i32.const 1 + i32.store local.get $2 ) - (func $~lib/string/String.__concat (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 200 + i32.const 240 local.get $0 select local.get $1 call $~lib/string/String#concat ) - (func $~lib/string/String.__ne (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.ne (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz ) - (func $~lib/string/String.__gt (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.gt (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 - local.get $1 - i32.eq - local.tee $2 - i32.eqz - if + block (result i32) local.get $0 + local.get $1 + i32.eq + local.tee $2 + i32.eqz + if + local.get $0 + i32.eqz + local.set $2 + end + local.get $2 i32.eqz - local.set $2 end - local.get $2 - i32.eqz - if + if (result i32) local.get $1 i32.eqz - local.set $2 + else + local.get $2 end - local.get $2 if i32.const 0 return end local.get $1 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.set $3 local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.tee $2 i32.eqz if @@ -2761,40 +2940,50 @@ local.get $3 i32.lt_s select - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.const 0 i32.gt_s ) - (func $~lib/string/String.__lt (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.lt (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 - local.get $1 - i32.eq - local.tee $2 - i32.eqz - if + block (result i32) local.get $0 + local.get $1 + i32.eq + local.tee $2 + i32.eqz + if + local.get $0 + i32.eqz + local.set $2 + end + local.get $2 i32.eqz - local.set $2 end - local.get $2 - i32.eqz - if + if (result i32) local.get $1 i32.eqz - local.set $2 + else + local.get $2 end - local.get $2 if i32.const 0 return end local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.set $2 local.get $1 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.tee $3 i32.eqz if @@ -2816,56 +3005,61 @@ local.get $3 i32.lt_s select - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.const 0 i32.lt_s ) - (func $~lib/string/String.__gte (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.gte (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.__lt + call $~lib/string/String.lt i32.eqz ) - (func $~lib/string/String.__lte (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 256 + (func $~lib/string/String.lte (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 312 local.get $0 - call $~lib/string/String.__gt + call $~lib/string/String.gt i32.eqz ) - (func $~lib/string/String#repeat (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 i32.eqz if i32.const 0 - i32.const 80 - i32.const 380 + i32.const 96 + i32.const 355 i32.const 4 call $~lib/env/abort unreachable end local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.set $3 local.get $1 i32.const 0 i32.lt_s local.tee $2 - i32.eqz - if - local.get $1 + if (result i32) + local.get $2 + else local.get $3 - i32.mul - i32.const 268435456 - i32.gt_s - local.set $2 + i64.extend_i32_s + local.get $1 + i64.extend_i32_s + i64.mul + i64.const 268435456 + i64.gt_u end - local.get $2 if i32.const 0 - i32.const 80 - i32.const 385 + i32.const 96 + i32.const 360 i32.const 6 call $~lib/env/abort unreachable @@ -2873,15 +3067,14 @@ local.get $1 i32.eqz local.tee $2 - i32.eqz - if + if (result i32) + local.get $2 + else local.get $3 i32.eqz - local.set $2 end - local.get $2 if - i32.const 256 + i32.const 312 return end local.get $1 @@ -2894,19 +3087,31 @@ local.get $1 local.get $3 i32.mul - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.tee $2 - i32.const 0 local.get $0 + local.get $3 + i32.const 1 + i32.shl local.get $1 - call $~lib/internal/string/repeatUnsafe + call $~lib/runtime/memory.repeat + local.get $2 + call $~lib/runtime/unref + i32.const 1 + i32.store local.get $2 ) - (func $~lib/string/String#slice (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.set $3 local.get $1 i32.const 0 @@ -2958,20 +3163,29 @@ i32.const 0 i32.le_s if - i32.const 256 + i32.const 312 return end local.get $3 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl local.tee $1 - i32.const 0 - local.get $0 + call $~lib/runtime/ALLOC + local.tee $2 local.get $4 - local.get $3 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.get $0 + i32.add local.get $1 + call $~lib/internal/memory/memmove + local.get $2 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $2 ) - (func $~lib/string/String#slice|trampoline (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#slice|trampoline (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) block $1of1 block $0of1 @@ -2991,14 +3205,14 @@ local.get $2 call $~lib/string/String#slice ) - (func $~lib/internal/arraybuffer/allocateUnsafe (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/internal/arraybuffer/allocateUnsafe (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741816 i32.gt_u if i32.const 0 - i32.const 1128 + i32.const 1432 i32.const 26 i32.const 2 call $~lib/env/abort @@ -3012,231 +3226,12 @@ i32.clz i32.sub i32.shl - call $~lib/allocator/arena/__memory_allocate + call $~lib/allocator/arena/memory.allocate local.tee $1 local.get $0 i32.store local.get $1 ) - (func $~lib/internal/memory/memset (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.eqz - if - return - end - local.get $0 - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 1 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - i32.const 0 - i32.store8 - local.get $0 - i32.const 2 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 2 - i32.sub - i32.const 0 - i32.store8 - local.get $2 - i32.const 3 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 4 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 8 - i32.le_u - if - return - end - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $2 - local.get $0 - i32.add - local.tee $0 - i32.const 0 - i32.store - local.get $1 - local.get $2 - i32.sub - i32.const -4 - i32.and - local.tee $1 - local.get $0 - i32.add - i32.const 4 - i32.sub - i32.const 0 - i32.store - local.get $1 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 8 - i32.add - i32.const 0 - i32.store - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 12 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 8 - i32.sub - i32.const 0 - i32.store - local.get $1 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 16 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 20 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 24 - i32.add - i32.const 0 - i32.store - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 28 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 24 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 20 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 16 - i32.sub - i32.const 0 - i32.store - local.get $0 - i32.const 4 - i32.and - i32.const 24 - i32.add - local.tee $2 - local.get $0 - i32.add - local.set $0 - local.get $1 - local.get $2 - i32.sub - local.set $1 - loop $continue|0 - local.get $1 - i32.const 32 - i32.ge_u - if - local.get $0 - i64.const 0 - i64.store - local.get $0 - i32.const 8 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 16 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 24 - i32.add - i64.const 0 - i64.store - local.get $1 - i32.const 32 - i32.sub - local.set $1 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $continue|0 - end - end - ) (func $~lib/array/Array#constructor (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -3246,7 +3241,7 @@ i32.gt_u if i32.const 0 - i32.const 1096 + i32.const 1392 i32.const 45 i32.const 39 call $~lib/env/abort @@ -3259,7 +3254,7 @@ call $~lib/internal/arraybuffer/allocateUnsafe local.set $2 i32.const 8 - call $~lib/allocator/arena/__memory_allocate + call $~lib/allocator/arena/memory.allocate local.tee $1 i32.const 0 i32.store @@ -3293,7 +3288,7 @@ i32.gt_s if i32.const 0 - i32.const 1128 + i32.const 1432 i32.const 40 i32.const 4 call $~lib/env/abort @@ -3348,7 +3343,7 @@ i32.lt_s if i32.const 0 - i32.const 1128 + i32.const 1432 i32.const 62 i32.const 4 call $~lib/env/abort @@ -3385,7 +3380,7 @@ i32.ge_u if i32.const 0 - i32.const 1096 + i32.const 1392 i32.const 182 i32.const 42 call $~lib/env/abort @@ -3424,8 +3419,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 408 + i32.const 96 + i32.const 382 i32.const 4 call $~lib/env/abort unreachable @@ -3450,7 +3445,11 @@ return end local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.set $4 i32.const 2147483647 local.get $2 @@ -3459,10 +3458,16 @@ i32.lt_s select local.set $2 + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u + local.tee $3 + local.set $9 block $folding-inner0 - local.get $1 - i32.load - local.tee $9 + local.get $3 if local.get $4 i32.eqz @@ -3471,7 +3476,7 @@ call $~lib/array/Array#constructor local.tee $3 i32.load - i32.const 256 + i32.const 312 i32.store offset=8 br $folding-inner0 end @@ -3494,7 +3499,7 @@ call $~lib/array/Array#constructor local.tee $3 i32.load - local.set $5 + local.set $7 i32.const 0 local.set $2 loop $repeat|0 @@ -3502,20 +3507,20 @@ local.get $4 i32.lt_s if - i32.const 1 - call $~lib/internal/string/allocateUnsafe + i32.const 2 + call $~lib/runtime/ALLOC local.tee $1 local.get $2 i32.const 1 i32.shl local.get $0 i32.add - i32.load16_u offset=4 - i32.store16 offset=4 + i32.load16_u + i32.store16 local.get $2 i32.const 2 i32.shl - local.get $5 + local.get $7 i32.add local.get $1 i32.store offset=8 @@ -3531,37 +3536,46 @@ end i32.const 0 call $~lib/array/Array#constructor - local.set $6 + local.set $5 loop $continue|1 local.get $0 local.get $1 - local.get $7 + local.get $6 call $~lib/string/String#indexOf local.tee $8 i32.const -1 i32.ne if local.get $8 - local.get $7 + local.get $6 i32.sub - local.tee $5 + local.tee $7 i32.const 0 i32.gt_s if - local.get $5 - call $~lib/internal/string/allocateUnsafe - local.tee $3 - i32.const 0 - local.get $0 local.get $7 - local.get $5 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.tee $7 + call $~lib/runtime/ALLOC + local.tee $3 local.get $6 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $7 + call $~lib/internal/memory/memmove + local.get $3 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $5 local.get $3 call $~lib/array/Array#push else - local.get $6 - i32.const 256 + local.get $5 + i32.const 312 call $~lib/array/Array#push end local.get $10 @@ -3571,17 +3585,17 @@ local.get $2 i32.eq if - local.get $6 + local.get $5 return end local.get $8 local.get $9 i32.add - local.set $7 + local.set $6 br $continue|1 end end - local.get $7 + local.get $6 i32.eqz if i32.const 1 @@ -3593,29 +3607,38 @@ br $folding-inner0 end local.get $4 - local.get $7 + local.get $6 i32.sub local.tee $1 i32.const 0 i32.gt_s if local.get $1 - call $~lib/internal/string/allocateUnsafe - local.tee $5 - i32.const 0 - local.get $0 - local.get $7 - local.get $1 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.tee $1 + call $~lib/runtime/ALLOC + local.tee $3 local.get $6 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $1 + call $~lib/internal/memory/memmove + local.get $3 + call $~lib/runtime/unref + i32.const 1 + i32.store local.get $5 + local.get $3 call $~lib/array/Array#push else - local.get $6 - i32.const 256 + local.get $5 + i32.const 312 call $~lib/array/Array#push end - local.get $6 + local.get $5 return end local.get $3 @@ -3703,7 +3726,7 @@ (func $~lib/internal/number/utoa32_lut (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 1816 + i32.const 2168 i32.load local.set $3 loop $continue|0 @@ -3746,7 +3769,7 @@ i64.const 32 i64.shl i64.or - i64.store offset=4 + i64.store br $continue|0 end end @@ -3776,7 +3799,7 @@ i32.shl i32.add i32.load offset=8 - i32.store offset=4 + i32.store end local.get $1 i32.const 10 @@ -3795,7 +3818,7 @@ i32.shl i32.add i32.load offset=8 - i32.store offset=4 + i32.store else local.get $2 i32.const 1 @@ -3807,7 +3830,7 @@ local.get $1 i32.const 48 i32.add - i32.store16 offset=4 + i32.store16 end ) (func $~lib/internal/number/itoa32 (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -3817,13 +3840,13 @@ local.get $0 i32.eqz if - i32.const 480 + i32.const 608 return end local.get $0 i32.const 0 i32.lt_s - local.tee $1 + local.tee $2 if i32.const 0 local.get $0 @@ -3832,21 +3855,27 @@ end local.get $0 call $~lib/internal/number/decimalCount32 - local.get $1 + local.get $2 i32.add local.tee $3 - call $~lib/internal/string/allocateUnsafe - local.tee $2 + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC + local.tee $1 local.get $0 local.get $3 call $~lib/internal/number/utoa32_lut - local.get $1 - if - local.get $2 - i32.const 45 - i32.store16 offset=4 - end local.get $2 + if + local.get $1 + i32.const 45 + i32.store16 + end + local.get $1 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $1 ) (func $~lib/internal/number/utoa32 (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -3854,18 +3883,24 @@ local.get $0 i32.eqz if - i32.const 480 + i32.const 608 return end local.get $0 call $~lib/internal/number/decimalCount32 - local.tee $1 - call $~lib/internal/string/allocateUnsafe local.tee $2 + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC + local.tee $1 local.get $0 - local.get $1 - call $~lib/internal/number/utoa32_lut local.get $2 + call $~lib/internal/number/utoa32_lut + local.get $1 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $1 ) (func $~lib/internal/number/decimalCount64 (; 44 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 @@ -3926,7 +3961,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 1816 + i32.const 2168 i32.load local.set $3 loop $continue|0 @@ -3984,7 +4019,7 @@ i64.const 32 i64.shl i64.or - i64.store offset=4 + i64.store local.get $2 i32.const 4 i32.sub @@ -4008,7 +4043,7 @@ i64.const 32 i64.shl i64.or - i64.store offset=4 + i64.store br $continue|0 end end @@ -4025,7 +4060,7 @@ local.get $0 i64.eqz if - i32.const 480 + i32.const 608 return end local.get $0 @@ -4037,7 +4072,9 @@ local.tee $3 call $~lib/internal/number/decimalCount32 local.tee $1 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.tee $2 local.get $3 local.get $1 @@ -4046,13 +4083,20 @@ local.get $0 call $~lib/internal/number/decimalCount64 local.tee $1 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.tee $2 local.get $0 local.get $1 call $~lib/internal/number/utoa64_lut end local.get $2 + local.tee $1 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $1 ) (func $~lib/internal/number/itoa64 (; 47 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) @@ -4062,14 +4106,14 @@ local.get $0 i64.eqz if - i32.const 480 + i32.const 608 return end block (result i32) local.get $0 i64.const 0 i64.lt_s - local.tee $1 + local.tee $2 if i64.const 0 local.get $0 @@ -4085,33 +4129,42 @@ i32.wrap_i64 local.tee $4 call $~lib/internal/number/decimalCount32 - local.get $1 + local.get $2 i32.add - local.tee $2 - call $~lib/internal/string/allocateUnsafe + local.tee $1 + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.tee $3 local.get $4 - local.get $2 + local.get $1 call $~lib/internal/number/utoa32_lut else local.get $0 call $~lib/internal/number/decimalCount64 - local.get $1 + local.get $2 i32.add - local.tee $2 - call $~lib/internal/string/allocateUnsafe + local.tee $1 + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.tee $3 local.get $0 - local.get $2 + local.get $1 call $~lib/internal/number/utoa64_lut end - local.get $1 + local.get $2 if local.get $3 i32.const 45 - i32.store16 offset=4 + i32.store16 end local.get $3 + local.tee $1 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $1 ) (func $~lib/internal/number/genDigits (; 48 ;) (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) @@ -4148,7 +4201,7 @@ local.tee $7 call $~lib/internal/number/decimalCount32 local.set $8 - i32.const 4104 + i32.const 4576 i32.load local.set $12 loop $continue|0 @@ -4295,7 +4348,7 @@ i32.and i32.const 48 i32.add - i32.store16 offset=4 + i32.store16 end local.get $8 i32.const 1 @@ -4341,7 +4394,7 @@ local.get $0 i32.add local.tee $2 - i32.load16_u offset=4 + i32.load16_u local.set $6 loop $continue|2 local.get $1 @@ -4393,7 +4446,7 @@ end local.get $2 local.get $6 - i32.store16 offset=4 + i32.store16 local.get $7 return end @@ -4435,7 +4488,7 @@ i32.and i32.const 48 i32.add - i32.store16 offset=4 + i32.store16 end local.get $8 i32.const 1 @@ -4475,7 +4528,7 @@ local.get $0 i32.add local.tee $4 - i32.load16_u offset=4 + i32.load16_u local.set $7 loop $continue|4 local.get $3 @@ -4527,7 +4580,7 @@ end local.get $4 local.get $7 - i32.store16 offset=4 + i32.store16 local.get $6 end ) @@ -4543,7 +4596,7 @@ local.get $0 i32.add i32.const 3145774 - i32.store offset=4 + i32.store local.get $1 i32.const 2 i32.add @@ -4578,7 +4631,7 @@ local.get $0 i32.add i32.const 48 - i32.store16 offset=4 + i32.store16 local.get $4 i32.const 1 i32.add @@ -4592,7 +4645,7 @@ local.get $0 i32.add i32.const 3145774 - i32.store offset=4 + i32.store local.get $3 i32.const 2 i32.add @@ -4614,8 +4667,6 @@ i32.shl local.get $0 i32.add - i32.const 4 - i32.add local.tee $4 i32.const 2 i32.add @@ -4632,7 +4683,7 @@ local.get $0 i32.add i32.const 46 - i32.store16 offset=4 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4649,25 +4700,22 @@ end local.get $4 if (result i32) - local.get $0 - i32.const 4 - i32.add - local.tee $2 i32.const 2 local.get $3 i32.sub local.tee $4 i32.const 1 i32.shl + local.get $0 i32.add - local.get $2 + local.get $0 local.get $1 i32.const 1 i32.shl call $~lib/internal/memory/memmove local.get $0 i32.const 3014704 - i32.store offset=4 + i32.store i32.const 2 local.set $3 loop $repeat|1 @@ -4682,7 +4730,7 @@ local.get $0 i32.add i32.const 48 - i32.store16 offset=4 + i32.store16 local.get $3 i32.const 1 i32.add @@ -4700,7 +4748,7 @@ if (result i32) local.get $0 i32.const 101 - i32.store16 offset=6 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -4732,7 +4780,7 @@ i32.const 43 local.get $0 select - i32.store16 offset=4 + i32.store16 local.get $2 i32.const 2 i32.add @@ -4740,10 +4788,7 @@ local.get $0 i32.const 4 i32.add - local.tee $2 - i32.const 4 - i32.add - local.get $2 + local.get $0 i32.const 2 i32.add local.get $1 @@ -4755,13 +4800,13 @@ call $~lib/internal/memory/memmove local.get $0 i32.const 46 - i32.store16 offset=6 + i32.store16 offset=2 local.get $0 local.get $2 i32.add local.tee $0 i32.const 101 - i32.store16 offset=6 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -4793,7 +4838,7 @@ i32.const 43 local.get $0 select - i32.store16 offset=4 + i32.store16 local.get $1 local.get $2 i32.add @@ -4826,7 +4871,7 @@ if (result f64) local.get $0 i32.const 45 - i32.store16 offset=4 + i32.store16 local.get $1 f64.neg else @@ -4925,10 +4970,10 @@ local.tee $14 i32.sub global.set $~lib/internal/number/_K - i32.const 4032 + i32.const 4504 i32.load local.set $7 - i32.const 3768 + i32.const 4240 i32.load local.get $14 i32.add @@ -5127,8 +5172,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 249 + i32.const 96 + i32.const 215 i32.const 4 call $~lib/env/abort unreachable @@ -5141,7 +5186,11 @@ select local.tee $2 local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u local.tee $3 local.get $2 local.get $3 @@ -5160,6 +5209,8 @@ local.get $1 i32.lt_s select + i32.const 1 + i32.shl local.set $4 local.get $2 local.get $1 @@ -5167,38 +5218,50 @@ local.get $1 i32.gt_s select + i32.const 1 + i32.shl local.tee $1 local.get $4 i32.sub local.tee $3 i32.eqz if - i32.const 256 + i32.const 312 return end local.get $4 i32.eqz local.tee $2 - if (result i32) + if local.get $0 - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl local.get $1 i32.eq - else - local.get $2 + local.set $2 end + local.get $2 if local.get $0 return end local.get $3 - call $~lib/internal/string/allocateUnsafe + call $~lib/runtime/ALLOC local.tee $2 - i32.const 0 local.get $0 local.get $4 + i32.add local.get $3 - call $~lib/internal/string/copyUnsafe + call $~lib/internal/memory/memmove + local.get $2 + call $~lib/runtime/unref + i32.const 1 + i32.store local.get $2 ) (func $~lib/internal/number/dtoa (; 52 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -5208,7 +5271,7 @@ f64.const 0 f64.eq if - i32.const 2664 + i32.const 3136 return end local.get $0 @@ -5221,19 +5284,19 @@ local.get $0 f64.ne if - i32.const 2680 + i32.const 3152 return end - i32.const 2696 - i32.const 2720 + i32.const 3168 + i32.const 3200 local.get $0 f64.const 0 f64.lt select return end - i32.const 28 - call $~lib/internal/string/allocateUnsafe + i32.const 56 + call $~lib/runtime/ALLOC local.tee $2 local.get $0 call $~lib/internal/number/dtoa_core @@ -5243,42 +5306,39 @@ call $~lib/string/String#substring local.set $1 local.get $2 - i32.eqz - if - i32.const 0 - i32.const 112 - i32.const 28 - i32.const 4 - call $~lib/env/abort - unreachable - end + call $~lib/runtime/unref + drop local.get $1 ) (func $start:std/string (; 53 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - i32.const 5360 + i32.const 6008 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset global.get $std/string/str - i32.const 8 + i32.const 16 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 16 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u i32.const 16 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 18 i32.const 0 call $~lib/env/abort @@ -5290,7 +5350,7 @@ i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 19 i32.const 0 call $~lib/env/abort @@ -5298,12 +5358,12 @@ end i32.const 0 call $~lib/string/String.fromCharCode - i32.const 168 - call $~lib/string/String.__eq + i32.const 176 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 21 i32.const 0 call $~lib/env/abort @@ -5311,12 +5371,12 @@ end i32.const 54 call $~lib/string/String.fromCharCode - i32.const 176 - call $~lib/string/String.__eq + i32.const 192 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 22 i32.const 0 call $~lib/env/abort @@ -5324,12 +5384,12 @@ end i32.const 65590 call $~lib/string/String.fromCharCode - i32.const 176 - call $~lib/string/String.__eq + i32.const 192 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 23 i32.const 0 call $~lib/env/abort @@ -5337,12 +5397,12 @@ end i32.const 0 call $~lib/string/String.fromCodePoint - i32.const 168 - call $~lib/string/String.__eq + i32.const 176 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 25 i32.const 0 call $~lib/env/abort @@ -5350,12 +5410,12 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - i32.const 176 - call $~lib/string/String.__eq + i32.const 192 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 26 i32.const 0 call $~lib/env/abort @@ -5365,8 +5425,8 @@ call $~lib/string/String.fromCodePoint i32.eqz if - i32.const 184 - i32.const 48 + i32.const 208 + i32.const 56 i32.const 27 i32.const 0 call $~lib/env/abort @@ -5377,7 +5437,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 29 i32.const 0 call $~lib/env/abort @@ -5397,7 +5457,7 @@ end unreachable end - i32.const 536870910 + i32.const 536870908 local.set $0 end local.get $1 @@ -5406,21 +5466,21 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 30 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 232 + i32.const 280 i32.const 0 call $~lib/string/String#indexOf i32.const -1 i32.eq if i32.const 0 - i32.const 48 + i32.const 56 i32.const 31 i32.const 0 call $~lib/env/abort @@ -5432,11 +5492,11 @@ i32.const 0 call $~lib/string/String#padStart|trampoline global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 33 i32.const 0 call $~lib/env/abort @@ -5448,11 +5508,11 @@ i32.const 15 call $~lib/string/String#padStart|trampoline global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 34 i32.const 0 call $~lib/env/abort @@ -5460,45 +5520,45 @@ end i32.const 1 global.set $~lib/argc - i32.const 256 + i32.const 312 i32.const 3 call $~lib/string/String#padStart|trampoline - i32.const 264 - call $~lib/string/String.__eq + i32.const 320 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 35 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 i32.const 10 - i32.const 256 + i32.const 312 call $~lib/string/String#padStart - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 36 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 100 - i32.const 256 + i32.const 312 call $~lib/string/String#padStart - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 37 i32.const 0 call $~lib/env/abort @@ -5506,45 +5566,45 @@ end i32.const 1 global.set $~lib/argc - i32.const 288 + i32.const 352 i32.const 5 call $~lib/string/String#padStart|trampoline - i32.const 304 - call $~lib/string/String.__eq + i32.const 368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 38 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 + i32.const 352 i32.const 6 - i32.const 320 + i32.const 392 call $~lib/string/String#padStart - i32.const 336 - call $~lib/string/String.__eq + i32.const 408 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 39 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 8 - i32.const 320 - call $~lib/string/String#padStart i32.const 352 - call $~lib/string/String.__eq + i32.const 8 + i32.const 392 + call $~lib/string/String#padStart + i32.const 432 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 40 i32.const 0 call $~lib/env/abort @@ -5556,11 +5616,11 @@ i32.const 0 call $~lib/string/String#padEnd|trampoline global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 42 i32.const 0 call $~lib/env/abort @@ -5572,11 +5632,11 @@ i32.const 15 call $~lib/string/String#padEnd|trampoline global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 43 i32.const 0 call $~lib/env/abort @@ -5584,45 +5644,45 @@ end i32.const 1 global.set $~lib/argc - i32.const 256 + i32.const 312 i32.const 3 call $~lib/string/String#padEnd|trampoline - i32.const 264 - call $~lib/string/String.__eq + i32.const 320 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 44 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 i32.const 10 - i32.const 256 + i32.const 312 call $~lib/string/String#padEnd - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 45 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 100 - i32.const 256 + i32.const 312 call $~lib/string/String#padEnd - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 46 i32.const 0 call $~lib/env/abort @@ -5630,83 +5690,83 @@ end i32.const 1 global.set $~lib/argc - i32.const 288 + i32.const 352 i32.const 5 call $~lib/string/String#padEnd|trampoline - i32.const 376 - call $~lib/string/String.__eq + i32.const 456 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 47 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 + i32.const 352 i32.const 6 - i32.const 288 + i32.const 352 call $~lib/string/String#padEnd - i32.const 392 - call $~lib/string/String.__eq + i32.const 480 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 48 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 + i32.const 352 i32.const 8 - i32.const 288 + i32.const 352 call $~lib/string/String#padEnd - i32.const 408 - call $~lib/string/String.__eq + i32.const 504 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 49 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 + i32.const 312 + i32.const 312 i32.const 0 call $~lib/string/String#indexOf if i32.const 0 - i32.const 48 + i32.const 56 i32.const 51 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 192 + i32.const 312 + i32.const 224 i32.const 0 call $~lib/string/String#indexOf i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 52 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 280 + i32.const 336 + i32.const 336 i32.const 0 call $~lib/string/String#indexOf if i32.const 0 - i32.const 48 + i32.const 56 i32.const 53 i32.const 0 call $~lib/env/abort @@ -5719,89 +5779,89 @@ call $~lib/string/String#indexOf if i32.const 0 - i32.const 48 + i32.const 56 i32.const 54 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 256 + i32.const 312 i32.const 0 call $~lib/string/String#indexOf if i32.const 0 - i32.const 48 + i32.const 56 i32.const 55 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 0 call $~lib/string/String#indexOf i32.const 2 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 56 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 440 + i32.const 544 i32.const 0 call $~lib/string/String#indexOf i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 57 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 2 call $~lib/string/String#indexOf i32.const 2 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 58 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 3 call $~lib/string/String#indexOf i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 59 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 448 + i32.const 560 i32.const -1 call $~lib/string/String#indexOf i32.const 2 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 60 i32.const 0 call $~lib/env/abort @@ -5809,12 +5869,12 @@ end i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 256 + i32.const 312 + i32.const 312 call $~lib/string/String#lastIndexOf|trampoline if i32.const 0 - i32.const 48 + i32.const 56 i32.const 62 i32.const 0 call $~lib/env/abort @@ -5822,14 +5882,14 @@ end i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 192 + i32.const 312 + i32.const 224 call $~lib/string/String#lastIndexOf|trampoline i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 63 i32.const 0 call $~lib/env/abort @@ -5838,14 +5898,18 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 256 + i32.const 312 call $~lib/string/String#lastIndexOf|trampoline global.get $std/string/str - i32.load + i32.const 8 + i32.sub + i32.load offset=4 + i32.const 1 + i32.shr_u i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 64 i32.const 0 call $~lib/env/abort @@ -5854,13 +5918,13 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 432 + i32.const 528 call $~lib/string/String#lastIndexOf|trampoline i32.const 2 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 65 i32.const 0 call $~lib/env/abort @@ -5869,13 +5933,13 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 440 + i32.const 544 call $~lib/string/String#lastIndexOf|trampoline i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 66 i32.const 0 call $~lib/env/abort @@ -5884,604 +5948,604 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 464 + i32.const 576 call $~lib/string/String#lastIndexOf|trampoline i32.const 15 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 67 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 2 call $~lib/string/String#lastIndexOf i32.const 2 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 68 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 3 call $~lib/string/String#lastIndexOf i32.const 2 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 69 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 448 + i32.const 560 i32.const -1 call $~lib/string/String#lastIndexOf i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 70 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 472 + i32.const 592 i32.const 0 call $~lib/string/String#lastIndexOf i32.const -1 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 71 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 192 + i32.const 224 i32.const 0 call $~lib/string/String#lastIndexOf if i32.const 0 - i32.const 48 + i32.const 56 i32.const 72 i32.const 0 call $~lib/env/abort unreachable end - i32.const 480 + i32.const 608 call $~lib/internal/string/parse f64.const 0 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 78 i32.const 0 call $~lib/env/abort unreachable end - i32.const 488 + i32.const 624 call $~lib/internal/string/parse f64.const 1 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 79 i32.const 0 call $~lib/env/abort unreachable end - i32.const 496 + i32.const 640 call $~lib/internal/string/parse f64.const 5 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 80 i32.const 0 call $~lib/env/abort unreachable end - i32.const 512 + i32.const 664 call $~lib/internal/string/parse f64.const 455 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 81 i32.const 0 call $~lib/env/abort unreachable end - i32.const 528 + i32.const 688 call $~lib/internal/string/parse f64.const 3855 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 82 i32.const 0 call $~lib/env/abort unreachable end - i32.const 544 + i32.const 712 call $~lib/internal/string/parse f64.const 3855 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 83 i32.const 0 call $~lib/env/abort unreachable end - i32.const 560 + i32.const 736 call $~lib/internal/string/parse f64.const 11 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 84 i32.const 0 call $~lib/env/abort unreachable end - i32.const 576 + i32.const 752 call $~lib/internal/string/parse f64.const 1 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 85 i32.const 0 call $~lib/env/abort unreachable end - i32.const 480 - call $~lib/string/parseFloat - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 48 - i32.const 87 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 488 - call $~lib/string/parseFloat - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 48 - i32.const 88 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 592 - call $~lib/string/parseFloat - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 48 - i32.const 89 - i32.const 0 - call $~lib/env/abort - unreachable - end i32.const 608 call $~lib/string/parseFloat - f64.const 0.25 + f64.const 0 f64.ne if i32.const 0 - i32.const 48 - i32.const 90 + i32.const 56 + i32.const 87 i32.const 0 call $~lib/env/abort unreachable end i32.const 624 call $~lib/string/parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 56 + i32.const 88 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 768 + call $~lib/string/parseFloat f64.const 0.1 f64.ne if i32.const 0 - i32.const 48 + i32.const 56 + i32.const 89 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 784 + call $~lib/string/parseFloat + f64.const 0.25 + f64.ne + if + i32.const 0 + i32.const 56 + i32.const 90 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 800 + call $~lib/string/parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 56 i32.const 91 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 648 - call $~lib/string/String.__concat + i32.const 336 + i32.const 824 + call $~lib/string/String.concat global.set $std/string/c global.get $std/string/c - i32.const 656 - call $~lib/string/String.__eq + i32.const 840 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 94 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/c - i32.const 280 - call $~lib/string/String.__ne + i32.const 336 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 95 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 96 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 global.get $std/string/nullStr - call $~lib/string/String.__ne + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 97 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/nullStr - i32.const 256 - call $~lib/string/String.__ne + i32.const 312 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 98 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 648 - call $~lib/string/String.__ne + i32.const 336 + i32.const 824 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 99 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 100 i32.const 0 call $~lib/env/abort unreachable end - i32.const 664 - i32.const 680 - call $~lib/string/String.__ne + i32.const 856 + i32.const 872 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 101 i32.const 0 call $~lib/env/abort unreachable end - i32.const 664 - i32.const 664 - call $~lib/string/String.__eq + i32.const 856 + i32.const 856 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 102 i32.const 0 call $~lib/env/abort unreachable end - i32.const 696 - i32.const 712 - call $~lib/string/String.__ne + i32.const 888 + i32.const 904 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 103 i32.const 0 call $~lib/env/abort unreachable end - i32.const 728 - i32.const 744 - call $~lib/string/String.__ne + i32.const 920 + i32.const 944 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 104 i32.const 0 call $~lib/env/abort unreachable end - i32.const 760 - i32.const 760 - call $~lib/string/String.__eq + i32.const 968 + i32.const 968 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 105 i32.const 0 call $~lib/env/abort unreachable end - i32.const 760 - i32.const 784 - call $~lib/string/String.__ne + i32.const 968 + i32.const 992 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 106 i32.const 0 call $~lib/env/abort unreachable end - i32.const 808 - i32.const 840 - call $~lib/string/String.__ne + i32.const 1016 + i32.const 1048 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 107 i32.const 0 call $~lib/env/abort unreachable end - i32.const 648 - i32.const 280 - call $~lib/string/String.__gt + i32.const 824 + i32.const 336 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 109 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 280 - call $~lib/string/String.__gt + i32.const 1080 + i32.const 336 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 110 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 872 - call $~lib/string/String.__gte + i32.const 1080 + i32.const 1096 + call $~lib/string/String.gte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 111 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 656 - call $~lib/string/String.__gt + i32.const 1080 + i32.const 840 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 112 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 656 - call $~lib/string/String.__lt + i32.const 1080 + i32.const 840 + call $~lib/string/String.lt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 113 i32.const 0 call $~lib/env/abort unreachable end - i32.const 648 + i32.const 824 global.get $std/string/nullStr - call $~lib/string/String.__lt + call $~lib/string/String.lt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 115 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/nullStr - i32.const 648 - call $~lib/string/String.__lt + i32.const 824 + call $~lib/string/String.lt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 116 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 - call $~lib/string/String.__gt + i32.const 352 + i32.const 312 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 118 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 288 - call $~lib/string/String.__lt + i32.const 312 + i32.const 352 + call $~lib/string/String.lt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 119 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 - call $~lib/string/String.__gte + i32.const 352 + i32.const 312 + call $~lib/string/String.gte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 120 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - call $~lib/string/String.__lte + i32.const 352 + call $~lib/string/String.lte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 121 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 - call $~lib/string/String.__lt + i32.const 352 + i32.const 312 + call $~lib/string/String.lt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 122 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 288 - call $~lib/string/String.__gt + i32.const 312 + i32.const 352 + call $~lib/string/String.gt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 123 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__lt + i32.const 312 + i32.const 312 + call $~lib/string/String.lt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 124 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__gt + i32.const 312 + i32.const 312 + call $~lib/string/String.gt if i32.const 0 - i32.const 48 + i32.const 56 i32.const 125 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__gte + i32.const 312 + i32.const 312 + call $~lib/string/String.gte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 126 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - call $~lib/string/String.__lte + i32.const 312 + call $~lib/string/String.lte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 127 i32.const 0 call $~lib/env/abort @@ -6494,171 +6558,173 @@ call $~lib/string/String.fromCodePoint i32.const 56322 call $~lib/string/String.fromCodePoint - call $~lib/string/String.__concat + call $~lib/string/String.concat global.set $std/string/b global.get $std/string/a global.get $std/string/b - call $~lib/string/String.__gt + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 131 i32.const 0 call $~lib/env/abort unreachable end - i32.const 320 + i32.const 388 i32.load + i32.const 1 + i32.shr_u i32.const 3 i32.ne if i32.const 0 - i32.const 48 + i32.const 56 i32.const 133 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 i32.const 100 call $~lib/string/String#repeat - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 135 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 0 call $~lib/string/String#repeat - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 136 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 1 call $~lib/string/String#repeat - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 137 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 2 call $~lib/string/String#repeat - i32.const 872 - call $~lib/string/String.__eq + i32.const 1096 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 138 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 3 call $~lib/string/String#repeat - i32.const 880 - call $~lib/string/String.__eq + i32.const 1112 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 139 i32.const 0 call $~lib/env/abort unreachable end - i32.const 656 + i32.const 840 i32.const 4 call $~lib/string/String#repeat - i32.const 896 - call $~lib/string/String.__eq + i32.const 1128 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 140 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 5 call $~lib/string/String#repeat - i32.const 920 - call $~lib/string/String.__eq + i32.const 1152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 141 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 6 call $~lib/string/String#repeat - i32.const 936 - call $~lib/string/String.__eq + i32.const 1176 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 142 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 7 call $~lib/string/String#repeat - i32.const 952 - call $~lib/string/String.__eq + i32.const 1200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 143 i32.const 0 call $~lib/env/abort unreachable end - i32.const 976 + i32.const 1224 global.set $std/string/str i32.const 1 global.set $~lib/argc global.get $std/string/str i32.const 0 call $~lib/string/String#slice|trampoline - i32.const 976 - call $~lib/string/String.__eq + i32.const 1224 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 147 i32.const 0 call $~lib/env/abort @@ -6669,12 +6735,12 @@ global.get $std/string/str i32.const -1 call $~lib/string/String#slice|trampoline - i32.const 1008 - call $~lib/string/String.__eq + i32.const 1264 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 148 i32.const 0 call $~lib/env/abort @@ -6685,12 +6751,12 @@ global.get $std/string/str i32.const -5 call $~lib/string/String#slice|trampoline - i32.const 1016 - call $~lib/string/String.__eq + i32.const 1280 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 149 i32.const 0 call $~lib/env/abort @@ -6700,12 +6766,12 @@ i32.const 2 i32.const 7 call $~lib/string/String#slice - i32.const 1032 - call $~lib/string/String.__eq + i32.const 1304 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 150 i32.const 0 call $~lib/env/abort @@ -6715,12 +6781,12 @@ i32.const -11 i32.const -6 call $~lib/string/String#slice - i32.const 1048 - call $~lib/string/String.__eq + i32.const 1328 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 151 i32.const 0 call $~lib/env/abort @@ -6730,12 +6796,12 @@ i32.const 4 i32.const 3 call $~lib/string/String#slice - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 152 i32.const 0 call $~lib/env/abort @@ -6745,12 +6811,12 @@ i32.const 0 i32.const -1 call $~lib/string/String#slice - i32.const 1064 - call $~lib/string/String.__eq + i32.const 1352 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 153 i32.const 0 call $~lib/env/abort @@ -6758,7 +6824,7 @@ end i32.const 0 global.set $~lib/argc - i32.const 256 + i32.const 312 i32.const 0 call $~lib/string/String#split|trampoline global.set $std/string/sa @@ -6782,15 +6848,15 @@ else unreachable end - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 158 i32.const 0 call $~lib/env/abort @@ -6798,15 +6864,15 @@ end i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 256 + i32.const 312 + i32.const 312 call $~lib/string/String#split|trampoline global.set $std/string/sa global.get $std/string/sa i32.load offset=4 if i32.const 0 - i32.const 48 + i32.const 56 i32.const 160 i32.const 0 call $~lib/env/abort @@ -6814,8 +6880,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 432 + i32.const 312 + i32.const 528 call $~lib/string/String#split|trampoline global.set $std/string/sa global.get $std/string/sa @@ -6838,15 +6904,15 @@ else unreachable end - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 162 i32.const 0 call $~lib/env/abort @@ -6854,8 +6920,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 1192 - i32.const 1208 + i32.const 1496 + i32.const 1520 call $~lib/string/String#split|trampoline global.set $std/string/sa global.get $std/string/sa @@ -6878,15 +6944,15 @@ else unreachable end - i32.const 1192 - call $~lib/string/String.__eq + i32.const 1496 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 164 i32.const 0 call $~lib/env/abort @@ -6894,8 +6960,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 1192 - i32.const 432 + i32.const 1496 + i32.const 528 call $~lib/string/String#split|trampoline global.set $std/string/sa block (result i32) @@ -6920,8 +6986,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -6943,8 +7009,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -6966,15 +7032,15 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 166 i32.const 0 call $~lib/env/abort @@ -6982,8 +7048,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 1224 - i32.const 1248 + i32.const 1552 + i32.const 1576 call $~lib/string/String#split|trampoline global.set $std/string/sa block (result i32) @@ -7008,8 +7074,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7031,8 +7097,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7054,15 +7120,15 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 168 i32.const 0 call $~lib/env/abort @@ -7070,8 +7136,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 1256 - i32.const 432 + i32.const 1592 + i32.const 528 call $~lib/string/String#split|trampoline global.set $std/string/sa block (result i32) @@ -7097,8 +7163,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7120,8 +7186,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7143,8 +7209,8 @@ else unreachable end - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7166,15 +7232,15 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 170 i32.const 0 call $~lib/env/abort @@ -7182,8 +7248,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 1272 - i32.const 432 + i32.const 1616 + i32.const 528 call $~lib/string/String#split|trampoline global.set $std/string/sa block (result i32) @@ -7209,8 +7275,8 @@ else unreachable end - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7232,8 +7298,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7255,8 +7321,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7278,15 +7344,15 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 172 i32.const 0 call $~lib/env/abort @@ -7294,8 +7360,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 1288 - i32.const 432 + i32.const 1640 + i32.const 528 call $~lib/string/String#split|trampoline global.set $std/string/sa block (result i32) @@ -7321,8 +7387,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7344,8 +7410,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7367,8 +7433,8 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7390,15 +7456,15 @@ else unreachable end - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 174 i32.const 0 call $~lib/env/abort @@ -7406,8 +7472,8 @@ end i32.const 1 global.set $~lib/argc - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 call $~lib/string/String#split|trampoline global.set $std/string/sa block (result i32) @@ -7432,8 +7498,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7455,8 +7521,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7478,22 +7544,22 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 176 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 0 call $~lib/string/String#split global.set $std/string/sa @@ -7501,14 +7567,14 @@ i32.load offset=4 if i32.const 0 - i32.const 48 + i32.const 56 i32.const 178 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 1 call $~lib/string/String#split global.set $std/string/sa @@ -7532,22 +7598,22 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 180 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 432 + i32.const 1496 + i32.const 528 i32.const 1 call $~lib/string/String#split global.set $std/string/sa @@ -7571,22 +7637,22 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 182 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 4 call $~lib/string/String#split global.set $std/string/sa @@ -7612,8 +7678,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7635,8 +7701,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7658,22 +7724,22 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 184 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const -1 call $~lib/string/String#split global.set $std/string/sa @@ -7699,8 +7765,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7722,8 +7788,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7745,22 +7811,22 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 186 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 432 + i32.const 1496 + i32.const 528 i32.const -1 call $~lib/string/String#split global.set $std/string/sa @@ -7786,8 +7852,8 @@ else unreachable end - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7809,8 +7875,8 @@ else unreachable end - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq local.set $0 end local.get $0 @@ -7832,15 +7898,15 @@ else unreachable end - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $0 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 188 i32.const 0 call $~lib/env/abort @@ -7848,12 +7914,12 @@ end i32.const 0 call $~lib/internal/number/itoa32 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 190 i32.const 0 call $~lib/env/abort @@ -7861,12 +7927,12 @@ end i32.const 1 call $~lib/internal/number/itoa32 - i32.const 488 - call $~lib/string/String.__eq + i32.const 624 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 191 i32.const 0 call $~lib/env/abort @@ -7874,12 +7940,12 @@ end i32.const 8 call $~lib/internal/number/itoa32 - i32.const 1824 - call $~lib/string/String.__eq + i32.const 2184 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 192 i32.const 0 call $~lib/env/abort @@ -7887,12 +7953,12 @@ end i32.const 123 call $~lib/internal/number/itoa32 - i32.const 320 - call $~lib/string/String.__eq + i32.const 392 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 193 i32.const 0 call $~lib/env/abort @@ -7900,12 +7966,12 @@ end i32.const -1000 call $~lib/internal/number/itoa32 - i32.const 1832 - call $~lib/string/String.__eq + i32.const 2200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 194 i32.const 0 call $~lib/env/abort @@ -7913,12 +7979,12 @@ end i32.const 1234 call $~lib/internal/number/itoa32 - i32.const 1848 - call $~lib/string/String.__eq + i32.const 2224 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 195 i32.const 0 call $~lib/env/abort @@ -7926,12 +7992,12 @@ end i32.const 12345 call $~lib/internal/number/itoa32 - i32.const 1864 - call $~lib/string/String.__eq + i32.const 2240 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 196 i32.const 0 call $~lib/env/abort @@ -7939,12 +8005,12 @@ end i32.const 123456 call $~lib/internal/number/itoa32 - i32.const 1880 - call $~lib/string/String.__eq + i32.const 2264 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 197 i32.const 0 call $~lib/env/abort @@ -7952,12 +8018,12 @@ end i32.const 1111111 call $~lib/internal/number/itoa32 - i32.const 1896 - call $~lib/string/String.__eq + i32.const 2288 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 198 i32.const 0 call $~lib/env/abort @@ -7965,12 +8031,12 @@ end i32.const 1234567 call $~lib/internal/number/itoa32 - i32.const 1920 - call $~lib/string/String.__eq + i32.const 2312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 199 i32.const 0 call $~lib/env/abort @@ -7978,12 +8044,12 @@ end i32.const 2147483646 call $~lib/internal/number/itoa32 - i32.const 1944 - call $~lib/string/String.__eq + i32.const 2336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 200 i32.const 0 call $~lib/env/abort @@ -7991,12 +8057,12 @@ end i32.const 2147483647 call $~lib/internal/number/itoa32 - i32.const 1968 - call $~lib/string/String.__eq + i32.const 2368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 201 i32.const 0 call $~lib/env/abort @@ -8004,12 +8070,12 @@ end i32.const -2147483648 call $~lib/internal/number/itoa32 - i32.const 1992 - call $~lib/string/String.__eq + i32.const 2400 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 202 i32.const 0 call $~lib/env/abort @@ -8017,12 +8083,12 @@ end i32.const -1 call $~lib/internal/number/itoa32 - i32.const 2024 - call $~lib/string/String.__eq + i32.const 2432 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 203 i32.const 0 call $~lib/env/abort @@ -8030,12 +8096,12 @@ end i32.const 0 call $~lib/internal/number/utoa32 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 205 i32.const 0 call $~lib/env/abort @@ -8043,12 +8109,12 @@ end i32.const 1000 call $~lib/internal/number/utoa32 - i32.const 2032 - call $~lib/string/String.__eq + i32.const 2448 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 206 i32.const 0 call $~lib/env/abort @@ -8056,12 +8122,12 @@ end i32.const 2147483647 call $~lib/internal/number/utoa32 - i32.const 1968 - call $~lib/string/String.__eq + i32.const 2368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 207 i32.const 0 call $~lib/env/abort @@ -8069,12 +8135,12 @@ end i32.const -2147483648 call $~lib/internal/number/utoa32 - i32.const 2048 - call $~lib/string/String.__eq + i32.const 2464 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 208 i32.const 0 call $~lib/env/abort @@ -8082,12 +8148,12 @@ end i32.const -1 call $~lib/internal/number/utoa32 - i32.const 2072 - call $~lib/string/String.__eq + i32.const 2496 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 209 i32.const 0 call $~lib/env/abort @@ -8095,12 +8161,12 @@ end i64.const 0 call $~lib/internal/number/utoa64 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 211 i32.const 0 call $~lib/env/abort @@ -8108,12 +8174,12 @@ end i64.const 1234 call $~lib/internal/number/utoa64 - i32.const 1848 - call $~lib/string/String.__eq + i32.const 2224 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 212 i32.const 0 call $~lib/env/abort @@ -8121,12 +8187,12 @@ end i64.const 99999999 call $~lib/internal/number/utoa64 - i32.const 2096 - call $~lib/string/String.__eq + i32.const 2528 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 213 i32.const 0 call $~lib/env/abort @@ -8134,12 +8200,12 @@ end i64.const 100000000 call $~lib/internal/number/utoa64 - i32.const 2120 - call $~lib/string/String.__eq + i32.const 2552 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 214 i32.const 0 call $~lib/env/abort @@ -8147,12 +8213,12 @@ end i64.const 4294967295 call $~lib/internal/number/utoa64 - i32.const 2072 - call $~lib/string/String.__eq + i32.const 2496 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 215 i32.const 0 call $~lib/env/abort @@ -8160,12 +8226,12 @@ end i64.const 68719476735 call $~lib/internal/number/utoa64 - i32.const 2144 - call $~lib/string/String.__eq + i32.const 2584 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 216 i32.const 0 call $~lib/env/abort @@ -8173,12 +8239,12 @@ end i64.const 868719476735 call $~lib/internal/number/utoa64 - i32.const 2176 - call $~lib/string/String.__eq + i32.const 2616 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 217 i32.const 0 call $~lib/env/abort @@ -8186,12 +8252,12 @@ end i64.const 999868719476735 call $~lib/internal/number/utoa64 - i32.const 2208 - call $~lib/string/String.__eq + i32.const 2648 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 218 i32.const 0 call $~lib/env/abort @@ -8199,12 +8265,12 @@ end i64.const 9999868719476735 call $~lib/internal/number/utoa64 - i32.const 2248 - call $~lib/string/String.__eq + i32.const 2688 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 219 i32.const 0 call $~lib/env/abort @@ -8212,12 +8278,12 @@ end i64.const 19999868719476735 call $~lib/internal/number/utoa64 - i32.const 2288 - call $~lib/string/String.__eq + i32.const 2728 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 220 i32.const 0 call $~lib/env/abort @@ -8225,12 +8291,12 @@ end i64.const -1 call $~lib/internal/number/utoa64 - i32.const 2328 - call $~lib/string/String.__eq + i32.const 2776 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 221 i32.const 0 call $~lib/env/abort @@ -8238,12 +8304,12 @@ end i64.const 0 call $~lib/internal/number/itoa64 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 223 i32.const 0 call $~lib/env/abort @@ -8251,12 +8317,12 @@ end i64.const -1234 call $~lib/internal/number/itoa64 - i32.const 2376 - call $~lib/string/String.__eq + i32.const 2824 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 224 i32.const 0 call $~lib/env/abort @@ -8264,12 +8330,12 @@ end i64.const 4294967295 call $~lib/internal/number/itoa64 - i32.const 2072 - call $~lib/string/String.__eq + i32.const 2496 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 225 i32.const 0 call $~lib/env/abort @@ -8277,12 +8343,12 @@ end i64.const -4294967295 call $~lib/internal/number/itoa64 - i32.const 2392 - call $~lib/string/String.__eq + i32.const 2848 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 226 i32.const 0 call $~lib/env/abort @@ -8290,12 +8356,12 @@ end i64.const 68719476735 call $~lib/internal/number/itoa64 - i32.const 2144 - call $~lib/string/String.__eq + i32.const 2584 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 227 i32.const 0 call $~lib/env/abort @@ -8303,12 +8369,12 @@ end i64.const -68719476735 call $~lib/internal/number/itoa64 - i32.const 2424 - call $~lib/string/String.__eq + i32.const 2880 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 228 i32.const 0 call $~lib/env/abort @@ -8316,12 +8382,12 @@ end i64.const -868719476735 call $~lib/internal/number/itoa64 - i32.const 2456 - call $~lib/string/String.__eq + i32.const 2912 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 229 i32.const 0 call $~lib/env/abort @@ -8329,12 +8395,12 @@ end i64.const -999868719476735 call $~lib/internal/number/itoa64 - i32.const 2488 - call $~lib/string/String.__eq + i32.const 2952 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 230 i32.const 0 call $~lib/env/abort @@ -8342,12 +8408,12 @@ end i64.const -19999868719476735 call $~lib/internal/number/itoa64 - i32.const 2528 - call $~lib/string/String.__eq + i32.const 2992 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 231 i32.const 0 call $~lib/env/abort @@ -8355,12 +8421,12 @@ end i64.const 9223372036854775807 call $~lib/internal/number/itoa64 - i32.const 2568 - call $~lib/string/String.__eq + i32.const 3040 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 232 i32.const 0 call $~lib/env/abort @@ -8368,12 +8434,12 @@ end i64.const -9223372036854775808 call $~lib/internal/number/itoa64 - i32.const 2616 - call $~lib/string/String.__eq + i32.const 3088 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 233 i32.const 0 call $~lib/env/abort @@ -8381,12 +8447,12 @@ end f64.const 0 call $~lib/internal/number/dtoa - i32.const 2664 - call $~lib/string/String.__eq + i32.const 3136 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 236 i32.const 0 call $~lib/env/abort @@ -8394,12 +8460,12 @@ end f64.const -0 call $~lib/internal/number/dtoa - i32.const 2664 - call $~lib/string/String.__eq + i32.const 3136 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 237 i32.const 0 call $~lib/env/abort @@ -8407,12 +8473,12 @@ end f64.const nan:0x8000000000000 call $~lib/internal/number/dtoa - i32.const 2680 - call $~lib/string/String.__eq + i32.const 3152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 238 i32.const 0 call $~lib/env/abort @@ -8420,12 +8486,12 @@ end f64.const inf call $~lib/internal/number/dtoa - i32.const 2720 - call $~lib/string/String.__eq + i32.const 3200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 239 i32.const 0 call $~lib/env/abort @@ -8433,12 +8499,12 @@ end f64.const -inf call $~lib/internal/number/dtoa - i32.const 2696 - call $~lib/string/String.__eq + i32.const 3168 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 240 i32.const 0 call $~lib/env/abort @@ -8446,12 +8512,12 @@ end f64.const 2.220446049250313e-16 call $~lib/internal/number/dtoa - i32.const 4112 - call $~lib/string/String.__eq + i32.const 4592 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 241 i32.const 0 call $~lib/env/abort @@ -8459,12 +8525,12 @@ end f64.const -2.220446049250313e-16 call $~lib/internal/number/dtoa - i32.const 4160 - call $~lib/string/String.__eq + i32.const 4648 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 242 i32.const 0 call $~lib/env/abort @@ -8472,12 +8538,12 @@ end f64.const 1797693134862315708145274e284 call $~lib/internal/number/dtoa - i32.const 4208 - call $~lib/string/String.__eq + i32.const 4704 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 243 i32.const 0 call $~lib/env/abort @@ -8485,12 +8551,12 @@ end f64.const -1797693134862315708145274e284 call $~lib/internal/number/dtoa - i32.const 4264 - call $~lib/string/String.__eq + i32.const 4760 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 244 i32.const 0 call $~lib/env/abort @@ -8498,12 +8564,12 @@ end f64.const 4185580496821356722454785e274 call $~lib/internal/number/dtoa - i32.const 4320 - call $~lib/string/String.__eq + i32.const 4816 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 245 i32.const 0 call $~lib/env/abort @@ -8511,12 +8577,12 @@ end f64.const 2.2250738585072014e-308 call $~lib/internal/number/dtoa - i32.const 4368 - call $~lib/string/String.__eq + i32.const 4872 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 246 i32.const 0 call $~lib/env/abort @@ -8524,12 +8590,12 @@ end f64.const 4.940656e-318 call $~lib/internal/number/dtoa - i32.const 4424 - call $~lib/string/String.__eq + i32.const 4928 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 249 i32.const 0 call $~lib/env/abort @@ -8537,12 +8603,12 @@ end f64.const 9060801153433600 call $~lib/internal/number/dtoa - i32.const 4456 - call $~lib/string/String.__eq + i32.const 4968 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 250 i32.const 0 call $~lib/env/abort @@ -8550,12 +8616,12 @@ end f64.const 4708356024711512064 call $~lib/internal/number/dtoa - i32.const 4496 - call $~lib/string/String.__eq + i32.const 5016 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 251 i32.const 0 call $~lib/env/abort @@ -8563,12 +8629,12 @@ end f64.const 9409340012568248320 call $~lib/internal/number/dtoa - i32.const 4544 - call $~lib/string/String.__eq + i32.const 5072 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 252 i32.const 0 call $~lib/env/abort @@ -8576,12 +8642,12 @@ end f64.const 5e-324 call $~lib/internal/number/dtoa - i32.const 4592 - call $~lib/string/String.__eq + i32.const 5128 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 253 i32.const 0 call $~lib/env/abort @@ -8589,12 +8655,12 @@ end f64.const 1 call $~lib/internal/number/dtoa - i32.const 4608 - call $~lib/string/String.__eq + i32.const 5152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 259 i32.const 0 call $~lib/env/abort @@ -8602,12 +8668,12 @@ end f64.const 0.1 call $~lib/internal/number/dtoa - i32.const 592 - call $~lib/string/String.__eq + i32.const 768 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 260 i32.const 0 call $~lib/env/abort @@ -8615,12 +8681,12 @@ end f64.const -1 call $~lib/internal/number/dtoa - i32.const 4624 - call $~lib/string/String.__eq + i32.const 5168 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 261 i32.const 0 call $~lib/env/abort @@ -8628,12 +8694,12 @@ end f64.const -0.1 call $~lib/internal/number/dtoa - i32.const 4640 - call $~lib/string/String.__eq + i32.const 5184 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 262 i32.const 0 call $~lib/env/abort @@ -8641,12 +8707,12 @@ end f64.const 1e6 call $~lib/internal/number/dtoa - i32.const 4656 - call $~lib/string/String.__eq + i32.const 5200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 264 i32.const 0 call $~lib/env/abort @@ -8654,12 +8720,12 @@ end f64.const 1e-06 call $~lib/internal/number/dtoa - i32.const 4680 - call $~lib/string/String.__eq + i32.const 5232 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 265 i32.const 0 call $~lib/env/abort @@ -8667,12 +8733,12 @@ end f64.const -1e6 call $~lib/internal/number/dtoa - i32.const 4704 - call $~lib/string/String.__eq + i32.const 5256 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 266 i32.const 0 call $~lib/env/abort @@ -8680,12 +8746,12 @@ end f64.const -1e-06 call $~lib/internal/number/dtoa - i32.const 4728 - call $~lib/string/String.__eq + i32.const 5288 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 267 i32.const 0 call $~lib/env/abort @@ -8693,12 +8759,12 @@ end f64.const 1e7 call $~lib/internal/number/dtoa - i32.const 4752 - call $~lib/string/String.__eq + i32.const 5320 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 268 i32.const 0 call $~lib/env/abort @@ -8706,12 +8772,12 @@ end f64.const 1e-07 call $~lib/internal/number/dtoa - i32.const 4776 - call $~lib/string/String.__eq + i32.const 5352 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 269 i32.const 0 call $~lib/env/abort @@ -8719,12 +8785,12 @@ end f64.const 1.e+308 call $~lib/internal/number/dtoa - i32.const 4792 - call $~lib/string/String.__eq + i32.const 5368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 271 i32.const 0 call $~lib/env/abort @@ -8732,12 +8798,12 @@ end f64.const -1.e+308 call $~lib/internal/number/dtoa - i32.const 4808 - call $~lib/string/String.__eq + i32.const 5392 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 272 i32.const 0 call $~lib/env/abort @@ -8745,12 +8811,12 @@ end f64.const inf call $~lib/internal/number/dtoa - i32.const 2720 - call $~lib/string/String.__eq + i32.const 3200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 273 i32.const 0 call $~lib/env/abort @@ -8758,12 +8824,12 @@ end f64.const -inf call $~lib/internal/number/dtoa - i32.const 2696 - call $~lib/string/String.__eq + i32.const 3168 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 274 i32.const 0 call $~lib/env/abort @@ -8771,12 +8837,12 @@ end f64.const 1e-308 call $~lib/internal/number/dtoa - i32.const 4832 - call $~lib/string/String.__eq + i32.const 5416 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 275 i32.const 0 call $~lib/env/abort @@ -8784,12 +8850,12 @@ end f64.const -1e-308 call $~lib/internal/number/dtoa - i32.const 4848 - call $~lib/string/String.__eq + i32.const 5440 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 276 i32.const 0 call $~lib/env/abort @@ -8797,12 +8863,12 @@ end f64.const 1e-323 call $~lib/internal/number/dtoa - i32.const 4872 - call $~lib/string/String.__eq + i32.const 5464 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 277 i32.const 0 call $~lib/env/abort @@ -8810,12 +8876,12 @@ end f64.const -1e-323 call $~lib/internal/number/dtoa - i32.const 4888 - call $~lib/string/String.__eq + i32.const 5488 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 278 i32.const 0 call $~lib/env/abort @@ -8823,12 +8889,12 @@ end f64.const 0 call $~lib/internal/number/dtoa - i32.const 2664 - call $~lib/string/String.__eq + i32.const 3136 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 279 i32.const 0 call $~lib/env/abort @@ -8836,12 +8902,12 @@ end f64.const 4294967272 call $~lib/internal/number/dtoa - i32.const 4912 - call $~lib/string/String.__eq + i32.const 5512 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 281 i32.const 0 call $~lib/env/abort @@ -8849,12 +8915,12 @@ end f64.const 1.2312145673456234e-08 call $~lib/internal/number/dtoa - i32.const 4944 - call $~lib/string/String.__eq + i32.const 5544 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 282 i32.const 0 call $~lib/env/abort @@ -8862,12 +8928,12 @@ end f64.const 555555555.5555556 call $~lib/internal/number/dtoa - i32.const 4992 - call $~lib/string/String.__eq + i32.const 5600 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 284 i32.const 0 call $~lib/env/abort @@ -8875,12 +8941,12 @@ end f64.const 0.9999999999999999 call $~lib/internal/number/dtoa - i32.const 5032 - call $~lib/string/String.__eq + i32.const 5648 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 285 i32.const 0 call $~lib/env/abort @@ -8888,12 +8954,12 @@ end f64.const 1 call $~lib/internal/number/dtoa - i32.const 4608 - call $~lib/string/String.__eq + i32.const 5152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 286 i32.const 0 call $~lib/env/abort @@ -8901,12 +8967,12 @@ end f64.const 12.34 call $~lib/internal/number/dtoa - i32.const 5072 - call $~lib/string/String.__eq + i32.const 5696 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 287 i32.const 0 call $~lib/env/abort @@ -8914,12 +8980,12 @@ end f64.const 0.3333333333333333 call $~lib/internal/number/dtoa - i32.const 5088 - call $~lib/string/String.__eq + i32.const 5720 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 289 i32.const 0 call $~lib/env/abort @@ -8927,12 +8993,12 @@ end f64.const 1234e17 call $~lib/internal/number/dtoa - i32.const 5128 - call $~lib/string/String.__eq + i32.const 5768 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 290 i32.const 0 call $~lib/env/abort @@ -8940,12 +9006,12 @@ end f64.const 1234e18 call $~lib/internal/number/dtoa - i32.const 5184 - call $~lib/string/String.__eq + i32.const 5824 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 291 i32.const 0 call $~lib/env/abort @@ -8953,12 +9019,12 @@ end f64.const 2.71828 call $~lib/internal/number/dtoa - i32.const 5208 - call $~lib/string/String.__eq + i32.const 5856 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 292 i32.const 0 call $~lib/env/abort @@ -8966,12 +9032,12 @@ end f64.const 0.0271828 call $~lib/internal/number/dtoa - i32.const 5232 - call $~lib/string/String.__eq + i32.const 5880 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 293 i32.const 0 call $~lib/env/abort @@ -8979,12 +9045,12 @@ end f64.const 271.828 call $~lib/internal/number/dtoa - i32.const 5256 - call $~lib/string/String.__eq + i32.const 5912 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 294 i32.const 0 call $~lib/env/abort @@ -8992,12 +9058,12 @@ end f64.const 1.1e+128 call $~lib/internal/number/dtoa - i32.const 5280 - call $~lib/string/String.__eq + i32.const 5936 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 295 i32.const 0 call $~lib/env/abort @@ -9005,12 +9071,12 @@ end f64.const 1.1e-64 call $~lib/internal/number/dtoa - i32.const 5304 - call $~lib/string/String.__eq + i32.const 5960 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 296 i32.const 0 call $~lib/env/abort @@ -9018,12 +9084,12 @@ end f64.const 0.000035689 call $~lib/internal/number/dtoa - i32.const 5328 - call $~lib/string/String.__eq + i32.const 5984 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 297 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 4aac6309..4a5fee69 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -1,12 +1,11 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiiii (func (param i32 i32 i32 i32 i32))) (type $FUNCSIG$dii (func (param i32 i32) (result f64))) (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$vi (func (param i32))) @@ -18,175 +17,176 @@ (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00") - (data (i32.const 48) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 80) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 112) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 168) "\01\00\00\00\00\00") - (data (i32.const 176) "\01\00\00\006\00") - (data (i32.const 184) "\02\00\00\004\d8\06\df") - (data (i32.const 192) "\02\00\00\00h\00i\00") - (data (i32.const 200) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 216) "\06\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 232) "\03\00\00\00I\00\'\00m\00") - (data (i32.const 248) "\01\00\00\00 \00") - (data (i32.const 256) "\00\00\00\00") - (data (i32.const 264) "\03\00\00\00 \00 \00 \00") - (data (i32.const 280) "\01\00\00\00a\00") - (data (i32.const 288) "\03\00\00\00a\00b\00c\00") - (data (i32.const 304) "\05\00\00\00 \00 \00a\00b\00c\00") - (data (i32.const 320) "\03\00\00\001\002\003\00") - (data (i32.const 336) "\06\00\00\001\002\003\00a\00b\00c\00") - (data (i32.const 352) "\08\00\00\001\002\003\001\002\00a\00b\00c\00") - (data (i32.const 376) "\05\00\00\00a\00b\00c\00 \00 \00") - (data (i32.const 392) "\06\00\00\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 408) "\08\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00") - (data (i32.const 432) "\01\00\00\00,\00") - (data (i32.const 440) "\01\00\00\00x\00") - (data (i32.const 448) "\03\00\00\00,\00 \00I\00") - (data (i32.const 464) "\01\00\00\00g\00") - (data (i32.const 472) "\01\00\00\00i\00") - (data (i32.const 480) "\01\00\00\000\00") - (data (i32.const 488) "\01\00\00\001\00") - (data (i32.const 496) "\05\00\00\000\00b\001\000\001\00") - (data (i32.const 512) "\05\00\00\000\00o\007\000\007\00") - (data (i32.const 528) "\05\00\00\000\00x\00f\000\00f\00") - (data (i32.const 544) "\05\00\00\000\00x\00F\000\00F\00") - (data (i32.const 560) "\03\00\00\000\001\001\00") - (data (i32.const 576) "\04\00\00\000\00x\001\00g\00") - (data (i32.const 592) "\03\00\00\000\00.\001\00") - (data (i32.const 608) "\03\00\00\00.\002\005\00") - (data (i32.const 624) "\08\00\00\00.\001\00f\00o\00o\00b\00a\00r\00") - (data (i32.const 648) "\01\00\00\00b\00") - (data (i32.const 656) "\02\00\00\00a\00b\00") - (data (i32.const 664) "\04\00\00\00k\00e\00y\001\00") - (data (i32.const 680) "\04\00\00\00k\00e\00y\002\00") - (data (i32.const 696) "\03\00\00\00k\00e\001\00") - (data (i32.const 712) "\03\00\00\00k\00e\002\00") - (data (i32.const 728) "\05\00\00\00k\00e\00y\001\002\00") - (data (i32.const 744) "\05\00\00\00k\00e\00y\001\001\00") - (data (i32.const 760) "\07\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 784) "\07\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 808) "\0b\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 840) "\n\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 864) "\02\00\00\00b\00a\00") - (data (i32.const 872) "\02\00\00\00a\00a\00") - (data (i32.const 880) "\03\00\00\00a\00a\00a\00") - (data (i32.const 896) "\08\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 920) "\05\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 936) "\06\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 952) "\07\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 976) "\0e\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 1008) "\01\00\00\00n\00") - (data (i32.const 1016) "\05\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 1032) "\05\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 1048) "\05\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 1064) "\0d\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 1096) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 1128) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 1192) "\05\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 1208) "\01\00\00\00.\00") - (data (i32.const 1216) "\01\00\00\00c\00") - (data (i32.const 1224) "\07\00\00\00a\00,\00 \00b\00,\00 \00c\00") - (data (i32.const 1248) "\02\00\00\00,\00 \00") - (data (i32.const 1256) "\06\00\00\00a\00,\00b\00,\00,\00c\00") - (data (i32.const 1272) "\06\00\00\00,\00a\00,\00b\00,\00c\00") - (data (i32.const 1288) "\06\00\00\00a\00,\00b\00,\00c\00,\00") - (data (i32.const 1304) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1816) "\18\05\00\00d\00\00\00") - (data (i32.const 1824) "\01\00\00\008\00") - (data (i32.const 1832) "\05\00\00\00-\001\000\000\000\00") - (data (i32.const 1848) "\04\00\00\001\002\003\004\00") - (data (i32.const 1864) "\05\00\00\001\002\003\004\005\00") - (data (i32.const 1880) "\06\00\00\001\002\003\004\005\006\00") - (data (i32.const 1896) "\07\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 1920) "\07\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 1944) "\n\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 1968) "\n\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 1992) "\0b\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 2024) "\02\00\00\00-\001\00") - (data (i32.const 2032) "\04\00\00\001\000\000\000\00") - (data (i32.const 2048) "\n\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 2072) "\n\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 2096) "\08\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 2120) "\t\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 2144) "\0b\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2176) "\0c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2208) "\0f\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2248) "\10\00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2288) "\11\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2328) "\14\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 2376) "\05\00\00\00-\001\002\003\004\00") - (data (i32.const 2392) "\0b\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 2424) "\0c\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2456) "\0d\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2488) "\10\00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2528) "\12\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 2568) "\13\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 2616) "\14\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 2664) "\03\00\00\000\00.\000\00") - (data (i32.const 2680) "\03\00\00\00N\00a\00N\00") - (data (i32.const 2696) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 2720) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 2744) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\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|inlined.0 (result i32) + local.get $1 + local.set $2 + local.get $2 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $2 + end ) - (func $~lib/internal/string/compareUnsafe (; 6 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/string/compareImpl (; 10 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -396,9 +708,9 @@ local.get $4 if (result i32) local.get $6 - i32.load16_u offset=4 + i32.load16_u local.get $7 - i32.load16_u offset=4 + i32.load16_u i32.sub local.tee $5 i32.eqz @@ -426,7 +738,7 @@ end local.get $5 ) - (func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.eq (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -452,11 +764,11 @@ return end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $3 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length i32.ne if i32.const 0 @@ -467,10 +779,10 @@ local.get $1 i32.const 0 local.get $3 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.eqz ) - (func $~lib/string/String.fromCodePoint (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCodePoint (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -481,8 +793,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 34 + i32.const 96 + i32.const 53 i32.const 4 call $~lib/env/abort unreachable @@ -494,14 +806,16 @@ local.get $1 i32.const 1 i32.add - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $2 local.get $1 i32.eqz if local.get $2 local.get $0 - i32.store16 offset=4 + i32.store16 else local.get $0 i32.const 65536 @@ -525,11 +839,19 @@ i32.shl local.get $4 i32.or - i32.store offset=4 + i32.store + end + block $~lib/runtime/REGISTER|inlined.1 (result i32) + local.get $2 + local.set $4 + local.get $4 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $4 end - local.get $2 ) - (func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#startsWith (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -542,8 +864,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 224 + i32.const 96 + i32.const 191 i32.const 4 call $~lib/env/abort unreachable @@ -552,13 +874,13 @@ i32.const 0 i32.eq if - i32.const 200 + i32.const 240 local.set $1 end local.get $2 local.set $3 local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $3 local.tee $5 @@ -577,7 +899,7 @@ select local.set $7 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $8 local.get $8 local.get $7 @@ -593,10 +915,10 @@ local.get $1 i32.const 0 local.get $8 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.eqz ) - (func $~lib/string/String#endsWith (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#endsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -608,8 +930,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 124 + i32.const 96 + i32.const 110 i32.const 4 call $~lib/env/abort unreachable @@ -631,7 +953,7 @@ select local.tee $3 local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.tee $4 local.get $3 local.get $4 @@ -639,7 +961,7 @@ select local.set $5 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $6 local.get $5 local.get $6 @@ -657,10 +979,10 @@ local.get $1 i32.const 0 local.get $6 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.eqz ) - (func $~lib/string/String#endsWith|trampoline (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#endsWith|trampoline (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -671,7 +993,7 @@ end unreachable end - i32.const 536870910 + global.get $~lib/runtime/StringBase.MAX_LENGTH local.set $2 end local.get $0 @@ -679,7 +1001,7 @@ local.get $2 call $~lib/string/String#endsWith ) - (func $~lib/string/String#indexOf (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#indexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -691,8 +1013,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 193 + i32.const 96 + i32.const 162 i32.const 4 call $~lib/env/abort unreachable @@ -701,11 +1023,11 @@ i32.const 0 i32.eq if - i32.const 200 + i32.const 240 local.set $1 end local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $3 i32.eqz @@ -714,7 +1036,7 @@ return end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $4 i32.eqz @@ -756,7 +1078,7 @@ local.get $1 i32.const 0 local.get $3 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.eqz if local.get $5 @@ -773,7 +1095,7 @@ end i32.const -1 ) - (func $~lib/internal/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memcpy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1974,7 +2296,7 @@ i32.store8 end ) - (func $~lib/internal/memory/memmove (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memmove (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 local.get $1 @@ -2201,316 +2523,50 @@ end end ) - (func $~lib/internal/string/repeatUnsafe (; 15 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/runtime/memory.repeat (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - local.get $2 - i32.load + i32.const 0 local.set $4 - block $break|0 - block $case5|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $5 - local.get $5 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $5 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $5 - i32.const 3 - i32.eq - br_if $case3|0 - local.get $5 - i32.const 4 - i32.eq - br_if $case4|0 - br $case5|0 - end - br $break|0 - end - block - local.get $2 - i32.load16_u offset=4 - local.set $5 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $6 - block $break|1 - i32.const 0 - local.set $7 - loop $repeat|1 - local.get $7 - local.get $3 - i32.lt_s - i32.eqz - br_if $break|1 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $5 - i32.store16 offset=4 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|1 - unreachable - end - unreachable - end - br $break|0 - unreachable - end - unreachable - end - block - local.get $2 - i32.load offset=4 - local.set $6 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $5 - block $break|2 - i32.const 0 - local.set $7 - loop $repeat|2 - local.get $7 - local.get $3 - i32.lt_s - i32.eqz - br_if $break|2 - local.get $5 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store offset=4 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $repeat|2 - unreachable - end - unreachable - end - br $break|0 - unreachable - end - unreachable - end - block - local.get $2 - i32.load offset=4 - local.set $5 - local.get $2 - i32.load16_u offset=8 - local.set $6 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $7 - block $break|3 - i32.const 0 - local.set $8 - loop $repeat|3 - local.get $8 - local.get $3 - i32.lt_s - i32.eqz - br_if $break|3 - block - local.get $7 - local.get $8 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store offset=4 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.store16 offset=8 - end - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $repeat|3 - unreachable - end - unreachable - end - br $break|0 - unreachable - end - unreachable - end - block - local.get $2 - i64.load offset=4 - local.set $9 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $7 - block $break|4 - i32.const 0 - local.set $6 - loop $repeat|4 - local.get $6 - local.get $3 - i32.lt_s - i32.eqz - br_if $break|4 - local.get $7 - local.get $6 - i32.const 3 - i32.shl - i32.add - local.get $9 - i64.store offset=4 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $repeat|4 - unreachable - end - unreachable - end - br $break|0 - unreachable - end - unreachable - end - block - local.get $4 - i32.const 1 - i32.shl - local.set $7 - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $2 - i32.const 4 - i32.add - local.set $5 - block $break|5 - block - i32.const 0 - local.set $8 - local.get $7 - local.get $3 - i32.mul - local.set $10 - end - loop $repeat|5 - local.get $8 - local.get $10 - i32.lt_s - i32.eqz - br_if $break|5 - block $~lib/memory/memory.copy|inlined.0 - local.get $6 - local.get $8 - i32.add - local.set $11 - local.get $5 - local.set $12 - local.get $7 - local.set $13 - local.get $11 - local.get $12 - local.get $13 - call $~lib/internal/memory/memmove - end - local.get $8 - local.get $7 - i32.add - local.set $8 - br $repeat|5 - unreachable - end - unreachable - end - br $break|0 - unreachable - end - unreachable - end - ) - (func $~lib/internal/string/copyUnsafe (; 16 ;) (type $FUNCSIG$viiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 4 - i32.add - local.set $5 local.get $2 local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 4 - i32.add - local.set $6 - local.get $4 - i32.const 1 - i32.shl - local.set $7 - local.get $5 - local.get $6 - local.get $7 - call $~lib/internal/memory/memmove + i32.mul + local.set $5 + block $break|0 + loop $continue|0 + local.get $4 + local.get $5 + i32.lt_u + if + block + block $~lib/runtime/memory.copy|inlined.0 + local.get $0 + local.get $4 + i32.add + local.set $6 + local.get $1 + local.set $7 + local.get $2 + local.set $8 + local.get $6 + local.get $7 + local.get $8 + call $~lib/internal/memory/memmove + end + local.get $4 + local.get $2 + i32.add + local.set $4 + end + br $continue|0 + end + end + end ) - (func $~lib/string/String#padStart (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padStart (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2518,23 +2574,26 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 - i32.const 80 - i32.const 340 + i32.const 96 + i32.const 307 i32.const 4 call $~lib/env/abort unreachable end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $2 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $1 local.get $3 @@ -2555,7 +2614,9 @@ i32.sub local.set $6 local.get $1 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $7 local.get $6 local.get $4 @@ -2576,39 +2637,76 @@ i32.sub local.set $9 local.get $7 - i32.const 0 local.get $2 + local.get $2 + call $~lib/runtime/StringBase#get:length + i32.const 1 + i32.shl local.get $5 - call $~lib/internal/string/repeatUnsafe + call $~lib/runtime/memory.repeat local.get $9 if local.get $7 local.get $8 + i32.const 1 + i32.shl + i32.add + local.set $10 local.get $2 - i32.const 0 + local.set $11 local.get $9 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.set $12 + local.get $10 + local.get $11 + local.get $12 + call $~lib/internal/memory/memmove end else local.get $7 - i32.const 0 + local.set $9 local.get $2 - i32.const 0 + local.set $8 local.get $6 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.set $5 + local.get $9 + local.get $8 + local.get $5 + call $~lib/internal/memory/memmove end local.get $3 if local.get $7 local.get $6 + i32.const 1 + i32.shl + i32.add + local.set $5 local.get $0 - i32.const 0 + local.set $8 local.get $3 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.set $9 + local.get $5 + local.get $8 + local.get $9 + call $~lib/internal/memory/memmove + end + block $~lib/runtime/REGISTER|inlined.2 (result i32) + local.get $7 + local.set $9 + local.get $9 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $9 end - local.get $7 ) - (func $~lib/string/String#padStart|trampoline (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padStart|trampoline (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2619,7 +2717,7 @@ end unreachable end - i32.const 248 + i32.const 296 local.set $2 end local.get $0 @@ -2627,7 +2725,7 @@ local.get $2 call $~lib/string/String#padStart ) - (func $~lib/string/String#padEnd (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padEnd (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2635,23 +2733,26 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 - i32.const 80 - i32.const 360 + i32.const 96 + i32.const 331 i32.const 4 call $~lib/env/abort unreachable end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $2 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $1 local.get $3 @@ -2672,16 +2773,24 @@ i32.sub local.set $6 local.get $1 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $7 local.get $3 if local.get $7 - i32.const 0 + local.set $5 local.get $0 - i32.const 0 + local.set $8 local.get $3 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.set $9 + local.get $5 + local.get $8 + local.get $9 + call $~lib/internal/memory/memmove end local.get $6 local.get $4 @@ -2692,42 +2801,77 @@ i32.sub local.get $4 i32.div_s - local.set $5 - local.get $5 + local.set $9 + local.get $9 local.get $4 i32.mul local.set $8 local.get $6 local.get $8 i32.sub - local.set $9 + local.set $5 local.get $7 local.get $3 + i32.const 1 + i32.shl + i32.add local.get $2 - local.get $5 - call $~lib/internal/string/repeatUnsafe + local.get $2 + call $~lib/runtime/StringBase#get:length + i32.const 1 + i32.shl local.get $9 + call $~lib/runtime/memory.repeat + local.get $5 if local.get $7 local.get $8 local.get $3 i32.add + i32.const 1 + i32.shl + i32.add + local.set $10 local.get $2 - i32.const 0 - local.get $9 - call $~lib/internal/string/copyUnsafe + local.set $11 + local.get $5 + i32.const 1 + i32.shl + local.set $12 + local.get $10 + local.get $11 + local.get $12 + call $~lib/internal/memory/memmove end else local.get $7 local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $5 local.get $2 - i32.const 0 + local.set $8 local.get $6 - call $~lib/internal/string/copyUnsafe + i32.const 1 + i32.shl + local.set $9 + local.get $5 + local.get $8 + local.get $9 + call $~lib/internal/memory/memmove + end + block $~lib/runtime/REGISTER|inlined.3 (result i32) + local.get $7 + local.set $9 + local.get $9 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $9 end - local.get $7 ) - (func $~lib/string/String#padEnd|trampoline (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padEnd|trampoline (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2738,7 +2882,7 @@ end unreachable end - i32.const 248 + i32.const 296 local.set $2 end local.get $0 @@ -2746,7 +2890,7 @@ local.get $2 call $~lib/string/String#padEnd ) - (func $~lib/string/String#lastIndexOf (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#lastIndexOf (; 24 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2758,8 +2902,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 209 + i32.const 96 + i32.const 177 i32.const 4 call $~lib/env/abort unreachable @@ -2768,14 +2912,14 @@ i32.const 0 i32.eq if - i32.const 200 + i32.const 240 local.set $1 end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $4 i32.eqz @@ -2821,7 +2965,7 @@ local.get $1 i32.const 0 local.get $4 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.eqz if local.get $5 @@ -2838,7 +2982,7 @@ end i32.const -1 ) - (func $~lib/string/String#lastIndexOf|trampoline (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#lastIndexOf|trampoline (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2857,7 +3001,7 @@ local.get $2 call $~lib/string/String#lastIndexOf ) - (func $~lib/internal/string/parse (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/internal/string/parse (; 26 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2865,7 +3009,7 @@ (local $6 i32) (local $7 f64) local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $2 local.get $2 i32.eqz @@ -2876,7 +3020,7 @@ local.get $0 local.set $3 local.get $3 - i32.load16_u offset=4 + i32.load16_u local.set $4 local.get $4 i32.const 45 @@ -2895,7 +3039,7 @@ i32.const 2 i32.add local.tee $3 - i32.load16_u offset=4 + i32.load16_u local.set $4 f64.const -1 local.set $5 @@ -2917,7 +3061,7 @@ i32.const 2 i32.add local.tee $3 - i32.load16_u offset=4 + i32.load16_u local.set $4 f64.const 1 local.set $5 @@ -2952,7 +3096,7 @@ local.get $3 i32.const 2 i32.add - i32.load16_u offset=4 + i32.load16_u local.set $6 local.get $6 i32.const 66 @@ -3070,7 +3214,7 @@ if block local.get $3 - i32.load16_u offset=4 + i32.load16_u local.set $4 local.get $4 i32.const 48 @@ -3158,12 +3302,12 @@ local.get $7 f64.mul ) - (func $~lib/string/parseInt (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/string/parseInt (; 27 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $0 local.get $1 call $~lib/internal/string/parse ) - (func $~lib/string/parseFloat (; 25 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 28 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3172,7 +3316,7 @@ (local $6 i32) (local $7 f64) local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $1 local.get $1 i32.eqz @@ -3183,7 +3327,7 @@ local.get $0 local.set $2 local.get $2 - i32.load16_u offset=4 + i32.load16_u local.set $3 local.get $3 i32.const 45 @@ -3202,7 +3346,7 @@ i32.const 2 i32.add local.tee $2 - i32.load16_u offset=4 + i32.load16_u local.set $3 f64.const -1 local.set $4 @@ -3224,7 +3368,7 @@ i32.const 2 i32.add local.tee $2 - i32.load16_u offset=4 + i32.load16_u local.set $3 f64.const 1 local.set $4 @@ -3248,7 +3392,7 @@ if block local.get $2 - i32.load16_u offset=4 + i32.load16_u local.set $3 local.get $3 i32.const 46 @@ -3273,7 +3417,7 @@ if block local.get $2 - i32.load16_u offset=4 + i32.load16_u local.set $3 local.get $3 i32.const 69 @@ -3291,8 +3435,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 625 + i32.const 96 + i32.const 597 i32.const 10 call $~lib/env/abort unreachable @@ -3360,19 +3504,22 @@ local.get $5 f64.mul ) - (func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 - i32.const 80 - i32.const 110 + i32.const 96 + i32.const 97 i32.const 4 call $~lib/env/abort unreachable @@ -3381,14 +3528,18 @@ i32.const 0 i32.eq if - i32.const 200 + i32.const 240 local.set $1 end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length + i32.const 1 + i32.shl local.set $2 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length + i32.const 1 + i32.shl local.set $3 local.get $2 local.get $3 @@ -3398,49 +3549,70 @@ i32.const 0 i32.eq if - i32.const 256 + i32.const 312 return end local.get $4 - call $~lib/internal/string/allocateUnsafe + call $~lib/runtime/ALLOC local.set $5 - local.get $5 - i32.const 0 - local.get $0 - i32.const 0 - local.get $2 - call $~lib/internal/string/copyUnsafe - local.get $5 - local.get $2 - local.get $1 - i32.const 0 - local.get $3 - call $~lib/internal/string/copyUnsafe - local.get $5 + block $~lib/runtime/memory.copy|inlined.7 + local.get $5 + local.set $6 + local.get $0 + local.set $7 + local.get $2 + local.set $8 + local.get $6 + local.get $7 + local.get $8 + call $~lib/internal/memory/memmove + end + block $~lib/runtime/memory.copy|inlined.8 + local.get $5 + local.get $2 + i32.add + local.set $8 + local.get $1 + local.set $7 + local.get $3 + local.set $6 + local.get $8 + local.get $7 + local.get $6 + call $~lib/internal/memory/memmove + end + block $~lib/runtime/REGISTER|inlined.4 (result i32) + local.get $5 + local.set $6 + local.get $6 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $6 + end ) - (func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.concat (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.eqz if - i32.const 200 + i32.const 240 local.set $0 end local.get $0 local.get $1 call $~lib/string/String#concat ) - (func $~lib/string/String.__ne (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.ne (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz ) - (func $~lib/string/String.__gt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.gt (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) local.get $0 local.get $1 i32.eq @@ -3465,10 +3637,10 @@ return end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $3 i32.eqz @@ -3482,6 +3654,10 @@ i32.const 1 return end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 local.get $3 local.tee $2 local.get $4 @@ -3490,22 +3666,15 @@ local.get $5 i32.lt_s select - local.set $6 - local.get $0 - i32.const 0 - local.get $1 - i32.const 0 - local.get $6 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.const 0 i32.gt_s ) - (func $~lib/string/String.__lt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.lt (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) local.get $0 local.get $1 i32.eq @@ -3530,10 +3699,10 @@ return end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $4 i32.eqz @@ -3547,6 +3716,10 @@ i32.const 1 return end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 local.get $3 local.tee $2 local.get $4 @@ -3555,29 +3728,23 @@ local.get $5 i32.lt_s select - local.set $6 - local.get $0 - i32.const 0 - local.get $1 - i32.const 0 - local.get $6 - call $~lib/internal/string/compareUnsafe + call $~lib/string/compareImpl i32.const 0 i32.lt_s ) - (func $~lib/string/String.__gte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.gte (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.__lt + call $~lib/string/String.lt i32.eqz ) - (func $~lib/string/String.__lte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.lte (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/string/String.__gt + call $~lib/string/String.gt i32.eqz ) - (func $~lib/string/String#repeat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3587,14 +3754,14 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 380 + i32.const 96 + i32.const 355 i32.const 4 call $~lib/env/abort unreachable end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $2 local.get $1 i32.const 0 @@ -3604,17 +3771,19 @@ local.get $3 else local.get $2 + i64.extend_i32_s local.get $1 - i32.mul - i32.const 1 - i32.const 28 - i32.shl - i32.gt_s + i64.extend_i32_s + i64.mul + i64.const 1 + i64.const 28 + i64.shl + i64.gt_u end if i32.const 0 - i32.const 80 - i32.const 385 + i32.const 96 + i32.const 360 i32.const 6 call $~lib/env/abort unreachable @@ -3630,7 +3799,7 @@ i32.eqz end if - i32.const 256 + i32.const 312 return end local.get $1 @@ -3643,24 +3812,37 @@ local.get $2 local.get $1 i32.mul - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $4 local.get $4 - i32.const 0 local.get $0 + local.get $2 + i32.const 1 + i32.shl local.get $1 - call $~lib/internal/string/repeatUnsafe - local.get $4 + call $~lib/runtime/memory.repeat + block $~lib/runtime/REGISTER|inlined.5 (result i32) + local.get $4 + local.set $3 + local.get $3 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $3 + end ) - (func $~lib/string/String#slice (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $1 i32.const 0 @@ -3720,21 +3902,43 @@ i32.const 0 i32.le_s if - i32.const 256 + i32.const 312 return end local.get $3 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $8 - local.get $8 - i32.const 0 - local.get $0 - local.get $6 - local.get $3 - call $~lib/internal/string/copyUnsafe - local.get $8 + block $~lib/runtime/memory.copy|inlined.9 + local.get $8 + local.set $4 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.set $5 + local.get $3 + i32.const 1 + i32.shl + local.set $9 + local.get $4 + local.get $5 + local.get $9 + call $~lib/internal/memory/memmove + end + block $~lib/runtime/REGISTER|inlined.6 (result i32) + local.get $8 + local.set $9 + local.get $9 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $9 + end ) - (func $~lib/string/String#slice|trampoline (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice|trampoline (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -3753,7 +3957,7 @@ local.get $2 call $~lib/string/String#slice ) - (func $~lib/internal/arraybuffer/computeSize (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/internal/arraybuffer/computeSize (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -3765,295 +3969,30 @@ i32.sub i32.shl ) - (func $~lib/internal/arraybuffer/allocateUnsafe (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/internal/arraybuffer/allocateUnsafe (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) local.get $0 i32.const 1073741816 i32.le_u i32.eqz if i32.const 0 - i32.const 1128 + i32.const 1432 i32.const 26 i32.const 2 call $~lib/env/abort unreachable end - block $~lib/memory/memory.allocate|inlined.1 (result i32) - local.get $0 - call $~lib/internal/arraybuffer/computeSize - local.set $2 - local.get $2 - call $~lib/allocator/arena/__memory_allocate - br $~lib/memory/memory.allocate|inlined.1 - end + local.get $0 + call $~lib/internal/arraybuffer/computeSize + call $~lib/allocator/arena/memory.allocate local.set $1 local.get $1 local.get $0 i32.store local.get $1 ) - (func $~lib/memory/memory.allocate (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/arena/__memory_allocate - return - ) - (func $~lib/internal/memory/memset (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - local.get $2 - i32.eqz - if - return - end - local.get $0 - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 1 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 2 - i32.le_u - if - return - end - local.get $0 - i32.const 1 - i32.add - local.get $1 - i32.store8 - local.get $0 - i32.const 2 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 2 - i32.sub - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 3 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 6 - i32.le_u - if - return - end - local.get $0 - i32.const 3 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $1 - i32.store8 - local.get $2 - i32.const 8 - i32.le_u - if - return - end - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $2 - i32.const -4 - i32.and - local.set $2 - i32.const -1 - i32.const 255 - i32.div_u - local.get $1 - i32.const 255 - i32.and - i32.mul - local.set $4 - local.get $0 - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 8 - i32.le_u - if - return - end - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 12 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.get $4 - i32.store - local.get $2 - i32.const 24 - i32.le_u - if - return - end - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 16 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 20 - i32.add - local.get $4 - i32.store - local.get $0 - i32.const 24 - i32.add - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 28 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 24 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 20 - i32.sub - local.get $4 - i32.store - local.get $0 - local.get $2 - i32.add - i32.const 16 - i32.sub - local.get $4 - i32.store - i32.const 24 - local.get $0 - i32.const 4 - i32.and - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.add - local.set $0 - local.get $2 - local.get $3 - i32.sub - local.set $2 - local.get $4 - i64.extend_i32_u - local.get $4 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $5 - block $break|0 - loop $continue|0 - local.get $2 - i32.const 32 - i32.ge_u - if - block - local.get $0 - local.get $5 - i64.store - local.get $0 - i32.const 8 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 16 - i32.add - local.get $5 - i64.store - local.get $0 - i32.const 24 - i32.add - local.get $5 - i64.store - local.get $2 - i32.const 32 - i32.sub - local.set $2 - local.get $0 - i32.const 32 - i32.add - local.set $0 - end - br $continue|0 - end - end - end - ) - (func $~lib/array/Array#constructor (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4064,7 +4003,7 @@ i32.gt_u if i32.const 0 - i32.const 1096 + i32.const 1392 i32.const 45 i32.const 39 call $~lib/env/abort @@ -4082,7 +4021,7 @@ i32.eqz if i32.const 8 - call $~lib/memory/memory.allocate + call $~lib/allocator/arena/memory.allocate local.set $0 end local.get $0 @@ -4098,7 +4037,7 @@ local.get $0 local.get $1 i32.store offset=4 - block $~lib/memory/memory.fill|inlined.0 + block $~lib/runtime/memory.fill|inlined.1 local.get $3 i32.const 8 i32.add @@ -4114,7 +4053,7 @@ end local.get $0 ) - (func $~lib/array/Array#__unchecked_set (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4138,7 +4077,7 @@ local.get $5 i32.store offset=8 ) - (func $~lib/array/Array#__unchecked_get (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4158,10 +4097,10 @@ i32.add i32.load offset=8 ) - (func $~lib/allocator/arena/__memory_free (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/arena/memory.free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/internal/arraybuffer/reallocateUnsafe (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/internal/arraybuffer/reallocateUnsafe (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4180,7 +4119,7 @@ i32.eqz if i32.const 0 - i32.const 1128 + i32.const 1432 i32.const 40 i32.const 4 call $~lib/env/abort @@ -4200,7 +4139,7 @@ local.get $1 call $~lib/internal/arraybuffer/allocateUnsafe local.set $3 - block $~lib/memory/memory.copy|inlined.2 + block $~lib/runtime/memory.copy|inlined.11 local.get $3 i32.const 8 i32.add @@ -4216,17 +4155,12 @@ local.get $6 call $~lib/internal/memory/memmove end - block $~lib/memory/memory.free|inlined.0 - local.get $0 - local.set $6 - local.get $6 - call $~lib/allocator/arena/__memory_free - br $~lib/memory/memory.free|inlined.0 - end + local.get $0 + call $~lib/allocator/arena/memory.free local.get $3 local.set $0 end - block $~lib/memory/memory.fill|inlined.1 + block $~lib/runtime/memory.fill|inlined.2 local.get $0 i32.const 8 i32.add @@ -4255,7 +4189,7 @@ i32.eqz if i32.const 0 - i32.const 1128 + i32.const 1432 i32.const 62 i32.const 4 call $~lib/env/abort @@ -4268,7 +4202,7 @@ end local.get $0 ) - (func $~lib/array/Array#push (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4301,7 +4235,7 @@ i32.ge_u if i32.const 0 - i32.const 1096 + i32.const 1392 i32.const 182 i32.const 42 call $~lib/env/abort @@ -4320,7 +4254,7 @@ local.get $0 local.get $5 i32.store offset=4 - block $~lib/internal/arraybuffer/STORE|inlined.2 + block $~lib/internal/arraybuffer/STORE|inlined.1 local.get $3 local.set $6 local.get $2 @@ -4341,7 +4275,7 @@ end local.get $5 ) - (func $~lib/string/String#split (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4363,8 +4297,8 @@ i32.eqz if i32.const 0 - i32.const 80 - i32.const 408 + i32.const 96 + i32.const 382 i32.const 4 call $~lib/env/abort unreachable @@ -4395,10 +4329,10 @@ return end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $4 local.get $1 - i32.load + call $~lib/runtime/StringBase#get:length local.set $5 local.get $2 i32.const 0 @@ -4444,8 +4378,8 @@ i32.eqz br_if $break|0 block - i32.const 1 - call $~lib/internal/string/allocateUnsafe + i32.const 2 + call $~lib/runtime/ALLOC local.set $8 local.get $8 local.get $0 @@ -4453,9 +4387,9 @@ i32.const 1 i32.shl i32.add - i32.load16_u offset=4 - i32.store16 offset=4 - block $~lib/internal/arraybuffer/STORE|inlined.1 + i32.load16_u + i32.store16 + block $~lib/internal/arraybuffer/STORE|inlined.0 local.get $6 local.set $9 local.get $7 @@ -4499,7 +4433,7 @@ local.tee $3 i32.const 0 local.tee $7 - i32.const 256 + i32.const 312 call $~lib/array/Array#__unchecked_set local.get $3 local.get $7 @@ -4540,21 +4474,43 @@ i32.gt_s if local.get $6 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $3 - local.get $3 - i32.const 0 - local.get $0 - local.get $15 - local.get $6 - call $~lib/internal/string/copyUnsafe + block $~lib/runtime/memory.copy|inlined.10 + local.get $3 + local.set $7 + local.get $0 + local.get $15 + i32.const 1 + i32.shl + i32.add + local.set $8 + local.get $6 + i32.const 1 + i32.shl + local.set $12 + local.get $7 + local.get $8 + local.get $12 + call $~lib/internal/memory/memmove + end local.get $13 - local.get $3 + block $~lib/runtime/REGISTER|inlined.7 (result i32) + local.get $3 + local.set $12 + local.get $12 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $12 + end call $~lib/array/Array#push drop else local.get $13 - i32.const 256 + i32.const 312 call $~lib/array/Array#push drop end @@ -4588,11 +4544,11 @@ local.get $6 local.tee $3 i32.const 0 - local.tee $7 + local.tee $12 local.get $0 call $~lib/array/Array#__unchecked_set local.get $3 - local.get $7 + local.get $12 call $~lib/array/Array#__unchecked_get end drop @@ -4608,27 +4564,49 @@ i32.gt_s if local.get $17 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $6 - local.get $6 - i32.const 0 - local.get $0 - local.get $15 - local.get $17 - call $~lib/internal/string/copyUnsafe + block $~lib/runtime/memory.copy|inlined.12 + local.get $6 + local.set $3 + local.get $0 + local.get $15 + i32.const 1 + i32.shl + i32.add + local.set $12 + local.get $17 + i32.const 1 + i32.shl + local.set $8 + local.get $3 + local.get $12 + local.get $8 + call $~lib/internal/memory/memmove + end local.get $13 - local.get $6 + block $~lib/runtime/REGISTER|inlined.8 (result i32) + local.get $6 + local.set $8 + local.get $8 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $8 + end call $~lib/array/Array#push drop else local.get $13 - i32.const 256 + i32.const 312 call $~lib/array/Array#push drop end local.get $13 ) - (func $~lib/string/String#split|trampoline (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split|trampoline (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -4649,7 +4627,7 @@ local.get $2 call $~lib/string/String#split ) - (func $~lib/array/Array#__get (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4682,7 +4660,7 @@ unreachable end ) - (func $~lib/internal/number/decimalCount32 (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/internal/number/decimalCount32 (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -4751,7 +4729,7 @@ unreachable unreachable ) - (func $~lib/internal/number/utoa32_lut (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/number/utoa32_lut (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4762,7 +4740,7 @@ (local $10 i32) (local $11 i64) (local $12 i64) - i32.const 1816 + i32.const 2168 i32.load local.set $3 block $break|0 @@ -4838,7 +4816,7 @@ i64.const 32 i64.shl i64.or - i64.store offset=4 + i64.store end br $continue|0 end @@ -4885,7 +4863,7 @@ i32.shl i32.add local.get $8 - i32.store offset=4 + i32.store end local.get $1 i32.const 10 @@ -4918,7 +4896,7 @@ i32.shl i32.add local.get $7 - i32.store offset=4 + i32.store else local.get $2 i32.const 1 @@ -4934,10 +4912,10 @@ i32.shl i32.add local.get $7 - i32.store16 offset=4 + i32.store16 end ) - (func $~lib/internal/number/itoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa32 (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4947,7 +4925,7 @@ local.get $0 i32.eqz if - i32.const 480 + i32.const 608 return end local.get $0 @@ -4967,7 +4945,9 @@ i32.add local.set $2 local.get $2 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $3 block $~lib/internal/number/utoa32_core|inlined.0 local.get $3 @@ -4985,11 +4965,19 @@ if local.get $3 i32.const 45 - i32.store16 offset=4 + i32.store16 + end + block $~lib/runtime/REGISTER|inlined.9 (result i32) + local.get $3 + local.set $6 + local.get $6 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $6 end - local.get $3 ) - (func $~lib/internal/number/utoa32 (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/internal/number/utoa32 (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4998,14 +4986,16 @@ local.get $0 i32.eqz if - i32.const 480 + i32.const 608 return end local.get $0 call $~lib/internal/number/decimalCount32 local.set $1 local.get $1 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $2 block $~lib/internal/number/utoa32_core|inlined.1 local.get $2 @@ -5019,9 +5009,17 @@ local.get $5 call $~lib/internal/number/utoa32_lut end - local.get $2 + block $~lib/runtime/REGISTER|inlined.10 (result i32) + local.get $2 + local.set $5 + local.get $5 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $5 + end ) - (func $~lib/internal/number/decimalCount64 (; 53 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/internal/number/decimalCount64 (; 54 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -5090,7 +5088,7 @@ unreachable unreachable ) - (func $~lib/internal/number/utoa64_lut (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/internal/number/utoa64_lut (; 55 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -5105,7 +5103,7 @@ (local $14 i32) (local $15 i64) (local $16 i64) - i32.const 1816 + i32.const 2168 i32.load local.set $3 block $break|0 @@ -5200,7 +5198,7 @@ i64.const 32 i64.shl i64.or - i64.store offset=4 + i64.store block $~lib/internal/arraybuffer/LOAD|inlined.4 (result i64) local.get $3 local.set $12 @@ -5249,7 +5247,7 @@ i64.const 32 i64.shl i64.or - i64.store offset=4 + i64.store end br $continue|0 end @@ -5261,7 +5259,7 @@ local.get $2 call $~lib/internal/number/utoa32_lut ) - (func $~lib/internal/number/utoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/internal/number/utoa64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5272,7 +5270,7 @@ local.get $0 i64.eqz if - i32.const 480 + i32.const 608 return end local.get $0 @@ -5287,7 +5285,9 @@ call $~lib/internal/number/decimalCount32 local.set $3 local.get $3 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $1 block $~lib/internal/number/utoa32_core|inlined.2 local.get $1 @@ -5306,7 +5306,9 @@ call $~lib/internal/number/decimalCount64 local.set $3 local.get $3 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $1 block $~lib/internal/number/utoa64_core|inlined.0 local.get $1 @@ -5321,9 +5323,17 @@ call $~lib/internal/number/utoa64_lut end end - local.get $1 + block $~lib/runtime/REGISTER|inlined.11 (result i32) + local.get $1 + local.set $3 + local.get $3 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $3 + end ) - (func $~lib/internal/number/itoa64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/internal/number/itoa64 (; 57 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5335,7 +5345,7 @@ local.get $0 i64.eqz if - i32.const 480 + i32.const 608 return end local.get $0 @@ -5363,7 +5373,9 @@ i32.add local.set $4 local.get $4 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $2 block $~lib/internal/number/utoa32_core|inlined.3 local.get $2 @@ -5384,7 +5396,9 @@ i32.add local.set $4 local.get $4 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $2 block $~lib/internal/number/utoa64_core|inlined.1 local.get $2 @@ -5403,23 +5417,31 @@ if local.get $2 i32.const 45 - i32.store16 offset=4 + i32.store16 + end + block $~lib/runtime/REGISTER|inlined.12 (result i32) + local.get $2 + local.set $4 + local.get $4 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $4 end - local.get $2 ) - (func $~lib/builtins/isFinite (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 58 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/builtins/isNaN (; 58 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 59 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/internal/number/genDigits (; 59 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/internal/number/genDigits (; 60 ;) (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) @@ -5475,7 +5497,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 4104 + i32.const 4576 i32.load local.set $16 block $break|0 @@ -5706,7 +5728,7 @@ i32.const 65535 i32.and i32.add - i32.store16 offset=4 + i32.store16 end local.get $14 i32.const 1 @@ -5768,7 +5790,7 @@ i32.add local.set $25 local.get $25 - i32.load16_u offset=4 + i32.load16_u local.set $24 block $break|2 loop $continue|2 @@ -5826,7 +5848,7 @@ end local.get $25 local.get $24 - i32.store16 offset=4 + i32.store16 end local.get $15 return @@ -5879,7 +5901,7 @@ i32.const 65535 i32.and i32.add - i32.store16 offset=4 + i32.store16 end local.get $13 local.get $9 @@ -5940,7 +5962,7 @@ i32.add local.set $17 local.get $17 - i32.load16_u offset=4 + i32.load16_u local.set $20 block $break|4 loop $continue|4 @@ -5998,7 +6020,7 @@ end local.get $17 local.get $20 - i32.store16 offset=4 + i32.store16 end local.get $15 return @@ -6010,7 +6032,7 @@ end local.get $15 ) - (func $~lib/internal/number/prettify (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/prettify (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6033,7 +6055,7 @@ i32.const 16 i32.shl i32.or - i32.store offset=4 + i32.store local.get $1 i32.const 2 i32.add @@ -6070,7 +6092,7 @@ i32.shl i32.add i32.const 48 - i32.store16 offset=4 + i32.store16 local.get $4 i32.const 1 i32.add @@ -6090,7 +6112,7 @@ i32.const 16 i32.shl i32.or - i32.store offset=4 + i32.store local.get $3 i32.const 2 i32.add @@ -6114,16 +6136,12 @@ i32.shl i32.add local.set $4 - block $~lib/memory/memory.copy|inlined.3 + block $~lib/runtime/memory.copy|inlined.13 local.get $4 - i32.const 4 - i32.add i32.const 2 i32.add local.set $5 local.get $4 - i32.const 4 - i32.add local.set $6 i32.const 0 local.get $2 @@ -6142,7 +6160,7 @@ i32.shl i32.add i32.const 46 - i32.store16 offset=4 + i32.store16 local.get $1 i32.const 1 i32.add @@ -6164,18 +6182,14 @@ local.get $3 i32.sub local.set $4 - block $~lib/memory/memory.copy|inlined.4 + block $~lib/runtime/memory.copy|inlined.14 local.get $0 - i32.const 4 - i32.add local.get $4 i32.const 1 i32.shl i32.add local.set $7 local.get $0 - i32.const 4 - i32.add local.set $6 local.get $1 i32.const 1 @@ -6192,7 +6206,7 @@ i32.const 16 i32.shl i32.or - i32.store offset=4 + i32.store block $break|1 i32.const 2 local.set $5 @@ -6208,7 +6222,7 @@ i32.shl i32.add i32.const 48 - i32.store16 offset=4 + i32.store16 local.get $5 i32.const 1 i32.add @@ -6229,7 +6243,7 @@ if local.get $0 i32.const 101 - i32.store16 offset=6 + i32.store16 offset=2 block $~lib/internal/number/genExponent|inlined.0 (result i32) local.get $0 i32.const 4 @@ -6272,7 +6286,7 @@ i32.const 43 local.get $6 select - i32.store16 offset=4 + i32.store16 local.get $7 end local.set $1 @@ -6285,16 +6299,12 @@ i32.const 1 i32.shl local.set $7 - block $~lib/memory/memory.copy|inlined.5 + block $~lib/runtime/memory.copy|inlined.15 local.get $0 i32.const 4 i32.add - i32.const 4 - i32.add local.set $6 local.get $0 - i32.const 4 - i32.add i32.const 2 i32.add local.set $5 @@ -6309,12 +6319,12 @@ end local.get $0 i32.const 46 - i32.store16 offset=6 + i32.store16 offset=2 local.get $0 local.get $7 i32.add i32.const 101 - i32.store16 offset=6 + i32.store16 offset=2 local.get $1 block $~lib/internal/number/genExponent|inlined.1 (result i32) local.get $0 @@ -6360,7 +6370,7 @@ i32.const 43 local.get $6 select - i32.store16 offset=4 + i32.store16 local.get $10 end i32.add @@ -6379,7 +6389,7 @@ unreachable unreachable ) - (func $~lib/internal/number/dtoa_core (; 61 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/internal/number/dtoa_core (; 62 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -6421,7 +6431,7 @@ local.set $1 local.get $0 i32.const 45 - i32.store16 offset=4 + i32.store16 end block $~lib/internal/number/grisu2|inlined.0 (result i32) local.get $1 @@ -6551,10 +6561,10 @@ i32.shl i32.sub global.set $~lib/internal/number/_K - i32.const 3768 + i32.const 4240 i32.load local.set $11 - i32.const 4032 + i32.const 4504 i32.load local.set $17 block $~lib/internal/arraybuffer/LOAD|inlined.0 (result i64) @@ -6852,7 +6862,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6861,20 +6871,21 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 - i32.const 80 - i32.const 249 + i32.const 96 + i32.const 215 i32.const 4 call $~lib/env/abort unreachable end local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length local.set $3 local.get $1 local.tee $4 @@ -6916,6 +6927,8 @@ local.get $5 i32.lt_s select + i32.const 1 + i32.shl local.set $8 local.get $6 local.tee $4 @@ -6925,6 +6938,8 @@ local.get $5 i32.gt_s select + i32.const 1 + i32.shl local.set $9 local.get $9 local.get $8 @@ -6933,7 +6948,7 @@ local.get $3 i32.eqz if - i32.const 256 + i32.const 312 return end local.get $8 @@ -6942,7 +6957,9 @@ if (result i32) local.get $9 local.get $0 - i32.load + call $~lib/runtime/StringBase#get:length + i32.const 1 + i32.shl i32.eq else local.get $4 @@ -6952,27 +6969,46 @@ return end local.get $3 - call $~lib/internal/string/allocateUnsafe + call $~lib/runtime/ALLOC local.set $10 - local.get $10 - i32.const 0 - local.get $0 - local.get $8 - local.get $3 - call $~lib/internal/string/copyUnsafe - local.get $10 + block $~lib/runtime/memory.copy|inlined.16 + local.get $10 + local.set $4 + local.get $0 + local.get $8 + i32.add + local.set $5 + local.get $3 + local.set $11 + local.get $4 + local.get $5 + local.get $11 + call $~lib/internal/memory/memmove + end + block $~lib/runtime/REGISTER|inlined.13 (result i32) + local.get $10 + local.set $11 + local.get $11 + call $~lib/runtime/unref + i32.const 1 + i32.store + local.get $11 + end ) - (func $~lib/internal/number/dtoa (; 63 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/runtime/FREE (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/runtime/unref + call $~lib/allocator/arena/memory.free + ) + (func $~lib/internal/number/dtoa (; 65 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) local.get $0 f64.const 0 f64.eq if - i32.const 2664 + i32.const 3136 return end local.get $0 @@ -6982,11 +7018,11 @@ local.get $0 call $~lib/builtins/isNaN if - i32.const 2680 + i32.const 3152 return end - i32.const 2696 - i32.const 2720 + i32.const 3168 + i32.const 3200 local.get $0 f64.const 0 f64.lt @@ -6994,7 +7030,9 @@ return end i32.const 28 - call $~lib/internal/string/allocateUnsafe + i32.const 1 + i32.shl + call $~lib/runtime/ALLOC local.set $1 local.get $1 local.get $0 @@ -7005,54 +7043,35 @@ local.get $2 call $~lib/string/String#substring local.set $3 - block $~lib/internal/string/freeUnsafe|inlined.0 - local.get $1 - local.set $4 - local.get $4 - i32.eqz - if - i32.const 0 - i32.const 112 - i32.const 28 - i32.const 4 - call $~lib/env/abort - unreachable - end - block $~lib/memory/memory.free|inlined.1 - local.get $4 - local.set $5 - local.get $5 - call $~lib/allocator/arena/__memory_free - br $~lib/memory/memory.free|inlined.1 - end - end + local.get $1 + call $~lib/runtime/FREE local.get $3 ) - (func $start:std/string (; 64 ;) (type $FUNCSIG$v) + (func $start:std/string (; 66 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) call $start:~lib/allocator/arena global.get $std/string/str - i32.const 8 + i32.const 16 i32.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 16 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.load + call $~lib/runtime/StringBase#get:length i32.const 16 i32.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 18 i32.const 0 call $~lib/env/abort @@ -7066,7 +7085,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 19 i32.const 0 call $~lib/env/abort @@ -7074,12 +7093,12 @@ end i32.const 0 call $~lib/string/String.fromCharCode - i32.const 168 - call $~lib/string/String.__eq + i32.const 176 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 21 i32.const 0 call $~lib/env/abort @@ -7087,12 +7106,12 @@ end i32.const 54 call $~lib/string/String.fromCharCode - i32.const 176 - call $~lib/string/String.__eq + i32.const 192 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 22 i32.const 0 call $~lib/env/abort @@ -7102,12 +7121,12 @@ i32.const 54 i32.add call $~lib/string/String.fromCharCode - i32.const 176 - call $~lib/string/String.__eq + i32.const 192 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 23 i32.const 0 call $~lib/env/abort @@ -7115,12 +7134,12 @@ end i32.const 0 call $~lib/string/String.fromCodePoint - i32.const 168 - call $~lib/string/String.__eq + i32.const 176 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 25 i32.const 0 call $~lib/env/abort @@ -7128,12 +7147,12 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - i32.const 176 - call $~lib/string/String.__eq + i32.const 192 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 26 i32.const 0 call $~lib/env/abort @@ -7143,21 +7162,21 @@ call $~lib/string/String.fromCodePoint i32.eqz if - i32.const 184 - i32.const 48 + i32.const 208 + i32.const 56 i32.const 27 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 192 + i32.const 224 i32.const 0 call $~lib/string/String#startsWith i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 29 i32.const 0 call $~lib/env/abort @@ -7167,14 +7186,14 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 216 + i32.const 256 i32.const 0 call $~lib/string/String#endsWith|trampoline end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 30 i32.const 0 call $~lib/env/abort @@ -7183,7 +7202,7 @@ block $~lib/string/String#includes|inlined.0 (result i32) global.get $std/string/str local.set $0 - i32.const 232 + i32.const 280 local.set $1 i32.const 0 local.set $2 @@ -7199,7 +7218,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 31 i32.const 0 call $~lib/env/abort @@ -7214,11 +7233,11 @@ call $~lib/string/String#padStart|trampoline end global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 33 i32.const 0 call $~lib/env/abort @@ -7233,11 +7252,11 @@ call $~lib/string/String#padStart|trampoline end global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 34 i32.const 0 call $~lib/env/abort @@ -7246,47 +7265,47 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 256 + i32.const 312 i32.const 3 i32.const 0 call $~lib/string/String#padStart|trampoline end - i32.const 264 - call $~lib/string/String.__eq + i32.const 320 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 35 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 i32.const 10 - i32.const 256 + i32.const 312 call $~lib/string/String#padStart - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 36 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 100 - i32.const 256 + i32.const 312 call $~lib/string/String#padStart - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 37 i32.const 0 call $~lib/env/abort @@ -7295,47 +7314,47 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 288 + i32.const 352 i32.const 5 i32.const 0 call $~lib/string/String#padStart|trampoline end - i32.const 304 - call $~lib/string/String.__eq + i32.const 368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 38 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 + i32.const 352 i32.const 6 - i32.const 320 + i32.const 392 call $~lib/string/String#padStart - i32.const 336 - call $~lib/string/String.__eq + i32.const 408 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 39 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 8 - i32.const 320 - call $~lib/string/String#padStart i32.const 352 - call $~lib/string/String.__eq + i32.const 8 + i32.const 392 + call $~lib/string/String#padStart + i32.const 432 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 40 i32.const 0 call $~lib/env/abort @@ -7350,11 +7369,11 @@ call $~lib/string/String#padEnd|trampoline end global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 42 i32.const 0 call $~lib/env/abort @@ -7369,11 +7388,11 @@ call $~lib/string/String#padEnd|trampoline end global.get $std/string/str - call $~lib/string/String.__eq + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 43 i32.const 0 call $~lib/env/abort @@ -7382,47 +7401,47 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 256 + i32.const 312 i32.const 3 i32.const 0 call $~lib/string/String#padEnd|trampoline end - i32.const 264 - call $~lib/string/String.__eq + i32.const 320 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 44 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 i32.const 10 - i32.const 256 + i32.const 312 call $~lib/string/String#padEnd - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 45 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 100 - i32.const 256 + i32.const 312 call $~lib/string/String#padEnd - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 46 i32.const 0 call $~lib/env/abort @@ -7431,54 +7450,54 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 288 + i32.const 352 i32.const 5 i32.const 0 call $~lib/string/String#padEnd|trampoline end - i32.const 376 - call $~lib/string/String.__eq + i32.const 456 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 47 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 + i32.const 352 i32.const 6 - i32.const 288 + i32.const 352 call $~lib/string/String#padEnd - i32.const 392 - call $~lib/string/String.__eq + i32.const 480 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 48 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 + i32.const 352 i32.const 8 - i32.const 288 + i32.const 352 call $~lib/string/String#padEnd - i32.const 408 - call $~lib/string/String.__eq + i32.const 504 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 49 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 + i32.const 312 + i32.const 312 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -7486,14 +7505,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 51 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 192 + i32.const 312 + i32.const 224 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -7501,14 +7520,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 52 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 280 + i32.const 336 + i32.const 336 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -7516,7 +7535,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 53 i32.const 0 call $~lib/env/abort @@ -7531,14 +7550,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 54 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 256 + i32.const 312 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -7546,14 +7565,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 55 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 0 call $~lib/string/String#indexOf i32.const 2 @@ -7561,14 +7580,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 56 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 440 + i32.const 544 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -7576,14 +7595,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 57 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 2 call $~lib/string/String#indexOf i32.const 2 @@ -7591,14 +7610,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 58 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 3 call $~lib/string/String#indexOf i32.const -1 @@ -7606,14 +7625,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 59 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 448 + i32.const 560 i32.const -1 call $~lib/string/String#indexOf i32.const 2 @@ -7621,7 +7640,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 60 i32.const 0 call $~lib/env/abort @@ -7630,8 +7649,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 256 + i32.const 312 + i32.const 312 i32.const 0 call $~lib/string/String#lastIndexOf|trampoline end @@ -7640,7 +7659,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 62 i32.const 0 call $~lib/env/abort @@ -7649,8 +7668,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 192 + i32.const 312 + i32.const 224 i32.const 0 call $~lib/string/String#lastIndexOf|trampoline end @@ -7659,7 +7678,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 63 i32.const 0 call $~lib/env/abort @@ -7669,17 +7688,17 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 256 + i32.const 312 i32.const 0 call $~lib/string/String#lastIndexOf|trampoline end global.get $std/string/str - i32.load + call $~lib/runtime/StringBase#get:length i32.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 64 i32.const 0 call $~lib/env/abort @@ -7689,7 +7708,7 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 0 call $~lib/string/String#lastIndexOf|trampoline end @@ -7698,7 +7717,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 65 i32.const 0 call $~lib/env/abort @@ -7708,7 +7727,7 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 440 + i32.const 544 i32.const 0 call $~lib/string/String#lastIndexOf|trampoline end @@ -7717,7 +7736,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 66 i32.const 0 call $~lib/env/abort @@ -7727,7 +7746,7 @@ i32.const 1 global.set $~lib/argc global.get $std/string/str - i32.const 464 + i32.const 576 i32.const 0 call $~lib/string/String#lastIndexOf|trampoline end @@ -7736,14 +7755,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 67 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 2 call $~lib/string/String#lastIndexOf i32.const 2 @@ -7751,14 +7770,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 68 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 432 + i32.const 528 i32.const 3 call $~lib/string/String#lastIndexOf i32.const 2 @@ -7766,14 +7785,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 69 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 448 + i32.const 560 i32.const -1 call $~lib/string/String#lastIndexOf i32.const -1 @@ -7781,14 +7800,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 70 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 472 + i32.const 592 i32.const 0 call $~lib/string/String#lastIndexOf i32.const -1 @@ -7796,14 +7815,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 71 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/str - i32.const 192 + i32.const 224 i32.const 0 call $~lib/string/String#lastIndexOf i32.const 0 @@ -7811,13 +7830,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 72 i32.const 0 call $~lib/env/abort unreachable end - i32.const 480 + i32.const 608 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -7825,13 +7844,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 78 i32.const 0 call $~lib/env/abort unreachable end - i32.const 488 + i32.const 624 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -7839,13 +7858,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 79 i32.const 0 call $~lib/env/abort unreachable end - i32.const 496 + i32.const 640 i32.const 0 call $~lib/string/parseInt f64.const 5 @@ -7853,13 +7872,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 80 i32.const 0 call $~lib/env/abort unreachable end - i32.const 512 + i32.const 664 i32.const 0 call $~lib/string/parseInt f64.const 455 @@ -7867,13 +7886,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 81 i32.const 0 call $~lib/env/abort unreachable end - i32.const 528 + i32.const 688 i32.const 0 call $~lib/string/parseInt f64.const 3855 @@ -7881,13 +7900,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 82 i32.const 0 call $~lib/env/abort unreachable end - i32.const 544 + i32.const 712 i32.const 0 call $~lib/string/parseInt f64.const 3855 @@ -7895,13 +7914,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 83 i32.const 0 call $~lib/env/abort unreachable end - i32.const 560 + i32.const 736 i32.const 0 call $~lib/string/parseInt f64.const 11 @@ -7909,13 +7928,13 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 84 i32.const 0 call $~lib/env/abort unreachable end - i32.const 576 + i32.const 752 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -7923,455 +7942,455 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 85 i32.const 0 call $~lib/env/abort unreachable end - i32.const 480 - call $~lib/string/parseFloat - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 87 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 488 - call $~lib/string/parseFloat - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 88 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 592 - call $~lib/string/parseFloat - f64.const 0.1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 89 - i32.const 0 - call $~lib/env/abort - unreachable - end i32.const 608 call $~lib/string/parseFloat - f64.const 0.25 + f64.const 0 f64.eq i32.eqz if i32.const 0 - i32.const 48 - i32.const 90 + i32.const 56 + i32.const 87 i32.const 0 call $~lib/env/abort unreachable end i32.const 624 call $~lib/string/parseFloat + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 56 + i32.const 88 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 768 + call $~lib/string/parseFloat f64.const 0.1 f64.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 + i32.const 89 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 784 + call $~lib/string/parseFloat + f64.const 0.25 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 56 + i32.const 90 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 800 + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 56 i32.const 91 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 648 - call $~lib/string/String.__concat + i32.const 336 + i32.const 824 + call $~lib/string/String.concat global.set $std/string/c global.get $std/string/c - i32.const 656 - call $~lib/string/String.__eq + i32.const 840 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 94 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/c - i32.const 280 - call $~lib/string/String.__ne + i32.const 336 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 95 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 96 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 global.get $std/string/nullStr - call $~lib/string/String.__ne + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 97 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/nullStr - i32.const 256 - call $~lib/string/String.__ne + i32.const 312 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 98 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 648 - call $~lib/string/String.__ne + i32.const 336 + i32.const 824 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 99 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 100 i32.const 0 call $~lib/env/abort unreachable end - i32.const 664 - i32.const 680 - call $~lib/string/String.__ne + i32.const 856 + i32.const 872 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 101 i32.const 0 call $~lib/env/abort unreachable end - i32.const 664 - i32.const 664 - call $~lib/string/String.__eq + i32.const 856 + i32.const 856 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 102 i32.const 0 call $~lib/env/abort unreachable end - i32.const 696 - i32.const 712 - call $~lib/string/String.__ne + i32.const 888 + i32.const 904 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 103 i32.const 0 call $~lib/env/abort unreachable end - i32.const 728 - i32.const 744 - call $~lib/string/String.__ne + i32.const 920 + i32.const 944 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 104 i32.const 0 call $~lib/env/abort unreachable end - i32.const 760 - i32.const 760 - call $~lib/string/String.__eq + i32.const 968 + i32.const 968 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 105 i32.const 0 call $~lib/env/abort unreachable end - i32.const 760 - i32.const 784 - call $~lib/string/String.__ne + i32.const 968 + i32.const 992 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 106 i32.const 0 call $~lib/env/abort unreachable end - i32.const 808 - i32.const 840 - call $~lib/string/String.__ne + i32.const 1016 + i32.const 1048 + call $~lib/string/String.ne i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 107 i32.const 0 call $~lib/env/abort unreachable end - i32.const 648 - i32.const 280 - call $~lib/string/String.__gt + i32.const 824 + i32.const 336 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 109 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 280 - call $~lib/string/String.__gt + i32.const 1080 + i32.const 336 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 110 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 872 - call $~lib/string/String.__gte + i32.const 1080 + i32.const 1096 + call $~lib/string/String.gte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 111 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 656 - call $~lib/string/String.__gt + i32.const 1080 + i32.const 840 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 112 i32.const 0 call $~lib/env/abort unreachable end - i32.const 864 - i32.const 656 - call $~lib/string/String.__lt + i32.const 1080 + i32.const 840 + call $~lib/string/String.lt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 113 i32.const 0 call $~lib/env/abort unreachable end - i32.const 648 + i32.const 824 global.get $std/string/nullStr - call $~lib/string/String.__lt + call $~lib/string/String.lt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 115 i32.const 0 call $~lib/env/abort unreachable end global.get $std/string/nullStr - i32.const 648 - call $~lib/string/String.__lt + i32.const 824 + call $~lib/string/String.lt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 116 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 - call $~lib/string/String.__gt + i32.const 352 + i32.const 312 + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 118 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 288 - call $~lib/string/String.__lt + i32.const 312 + i32.const 352 + call $~lib/string/String.lt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 119 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 - call $~lib/string/String.__gte + i32.const 352 + i32.const 312 + call $~lib/string/String.gte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 120 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 288 - call $~lib/string/String.__lte + i32.const 312 + i32.const 352 + call $~lib/string/String.lte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 121 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 - call $~lib/string/String.__lt + i32.const 352 + i32.const 312 + call $~lib/string/String.lt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 122 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 288 - call $~lib/string/String.__gt + i32.const 312 + i32.const 352 + call $~lib/string/String.gt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 123 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__lt + i32.const 312 + i32.const 312 + call $~lib/string/String.lt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 124 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__gt + i32.const 312 + i32.const 312 + call $~lib/string/String.gt i32.eqz i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 125 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__gte + i32.const 312 + i32.const 312 + call $~lib/string/String.gte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 126 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 - i32.const 256 - call $~lib/string/String.__lte + i32.const 312 + i32.const 312 + call $~lib/string/String.lte i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 127 i32.const 0 call $~lib/env/abort @@ -8384,160 +8403,160 @@ call $~lib/string/String.fromCodePoint i32.const 56322 call $~lib/string/String.fromCodePoint - call $~lib/string/String.__concat + call $~lib/string/String.concat global.set $std/string/b global.get $std/string/a global.get $std/string/b - call $~lib/string/String.__gt + call $~lib/string/String.gt i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 131 i32.const 0 call $~lib/env/abort unreachable end - i32.const 320 - i32.load + i32.const 392 + call $~lib/runtime/StringBase#get:length i32.const 3 i32.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 133 i32.const 0 call $~lib/env/abort unreachable end - i32.const 256 + i32.const 312 i32.const 100 call $~lib/string/String#repeat - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 135 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 0 call $~lib/string/String#repeat - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 136 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 1 call $~lib/string/String#repeat - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 137 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 2 call $~lib/string/String#repeat - i32.const 872 - call $~lib/string/String.__eq + i32.const 1096 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 138 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 3 call $~lib/string/String#repeat - i32.const 880 - call $~lib/string/String.__eq + i32.const 1112 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 139 i32.const 0 call $~lib/env/abort unreachable end - i32.const 656 + i32.const 840 i32.const 4 call $~lib/string/String#repeat - i32.const 896 - call $~lib/string/String.__eq + i32.const 1128 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 140 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 5 call $~lib/string/String#repeat - i32.const 920 - call $~lib/string/String.__eq + i32.const 1152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 141 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 6 call $~lib/string/String#repeat - i32.const 936 - call $~lib/string/String.__eq + i32.const 1176 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 142 i32.const 0 call $~lib/env/abort unreachable end - i32.const 280 + i32.const 336 i32.const 7 call $~lib/string/String#repeat - i32.const 952 - call $~lib/string/String.__eq + i32.const 1200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 143 i32.const 0 call $~lib/env/abort unreachable end - i32.const 976 + i32.const 1224 global.set $std/string/str block (result i32) i32.const 1 @@ -8547,12 +8566,12 @@ i32.const 0 call $~lib/string/String#slice|trampoline end - i32.const 976 - call $~lib/string/String.__eq + i32.const 1224 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 147 i32.const 0 call $~lib/env/abort @@ -8566,12 +8585,12 @@ i32.const 0 call $~lib/string/String#slice|trampoline end - i32.const 1008 - call $~lib/string/String.__eq + i32.const 1264 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 148 i32.const 0 call $~lib/env/abort @@ -8585,12 +8604,12 @@ i32.const 0 call $~lib/string/String#slice|trampoline end - i32.const 1016 - call $~lib/string/String.__eq + i32.const 1280 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 149 i32.const 0 call $~lib/env/abort @@ -8600,12 +8619,12 @@ i32.const 2 i32.const 7 call $~lib/string/String#slice - i32.const 1032 - call $~lib/string/String.__eq + i32.const 1304 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 150 i32.const 0 call $~lib/env/abort @@ -8615,12 +8634,12 @@ i32.const -11 i32.const -6 call $~lib/string/String#slice - i32.const 1048 - call $~lib/string/String.__eq + i32.const 1328 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 151 i32.const 0 call $~lib/env/abort @@ -8630,12 +8649,12 @@ i32.const 4 i32.const 3 call $~lib/string/String#slice - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 152 i32.const 0 call $~lib/env/abort @@ -8645,12 +8664,12 @@ i32.const 0 i32.const -1 call $~lib/string/String#slice - i32.const 1064 - call $~lib/string/String.__eq + i32.const 1352 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 153 i32.const 0 call $~lib/env/abort @@ -8659,7 +8678,7 @@ block (result i32) i32.const 0 global.set $~lib/argc - i32.const 256 + i32.const 312 i32.const 0 i32.const 0 call $~lib/string/String#split|trampoline @@ -8678,15 +8697,15 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 158 i32.const 0 call $~lib/env/abort @@ -8695,8 +8714,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 256 + i32.const 312 + i32.const 312 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8712,7 +8731,7 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 160 i32.const 0 call $~lib/env/abort @@ -8721,8 +8740,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 256 - i32.const 432 + i32.const 312 + i32.const 528 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8740,15 +8759,15 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 162 i32.const 0 call $~lib/env/abort @@ -8757,8 +8776,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 1192 - i32.const 1208 + i32.const 1496 + i32.const 1520 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8776,15 +8795,15 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 1192 - call $~lib/string/String.__eq + i32.const 1496 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 164 i32.const 0 call $~lib/env/abort @@ -8793,8 +8812,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 1192 - i32.const 432 + i32.const 1496 + i32.const 528 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8812,8 +8831,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -8822,8 +8841,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -8832,15 +8851,15 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 166 i32.const 0 call $~lib/env/abort @@ -8849,8 +8868,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 1224 - i32.const 1248 + i32.const 1552 + i32.const 1576 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8868,8 +8887,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -8878,8 +8897,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -8888,15 +8907,15 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 168 i32.const 0 call $~lib/env/abort @@ -8905,8 +8924,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 1256 - i32.const 432 + i32.const 1592 + i32.const 528 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8924,8 +8943,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -8934,8 +8953,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -8944,8 +8963,8 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $2 end @@ -8954,15 +8973,15 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 170 i32.const 0 call $~lib/env/abort @@ -8971,8 +8990,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 1272 - i32.const 432 + i32.const 1616 + i32.const 528 i32.const 0 call $~lib/string/String#split|trampoline end @@ -8990,8 +9009,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $2 end @@ -9000,8 +9019,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -9010,8 +9029,8 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -9020,15 +9039,15 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 172 i32.const 0 call $~lib/env/abort @@ -9037,8 +9056,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 1288 - i32.const 432 + i32.const 1640 + i32.const 528 i32.const 0 call $~lib/string/String#split|trampoline end @@ -9056,8 +9075,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -9066,8 +9085,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -9076,8 +9095,8 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end @@ -9086,15 +9105,15 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array#__get - i32.const 256 - call $~lib/string/String.__eq + i32.const 312 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 174 i32.const 0 call $~lib/env/abort @@ -9103,8 +9122,8 @@ block (result i32) i32.const 1 global.set $~lib/argc - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 0 call $~lib/string/String#split|trampoline end @@ -9122,8 +9141,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -9132,8 +9151,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -9142,22 +9161,22 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 176 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 0 call $~lib/string/String#split global.set $std/string/sa @@ -9172,14 +9191,14 @@ i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 178 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 1 call $~lib/string/String#split global.set $std/string/sa @@ -9196,22 +9215,22 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 180 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 432 + i32.const 1496 + i32.const 528 i32.const 1 call $~lib/string/String#split global.set $std/string/sa @@ -9228,22 +9247,22 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 182 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const 4 call $~lib/string/String#split global.set $std/string/sa @@ -9260,8 +9279,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -9270,8 +9289,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -9280,22 +9299,22 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 184 i32.const 0 call $~lib/env/abort unreachable end - i32.const 288 - i32.const 256 + i32.const 352 + i32.const 312 i32.const -1 call $~lib/string/String#split global.set $std/string/sa @@ -9312,8 +9331,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -9322,8 +9341,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -9332,22 +9351,22 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 186 i32.const 0 call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 432 + i32.const 1496 + i32.const 528 i32.const -1 call $~lib/string/String#split global.set $std/string/sa @@ -9364,8 +9383,8 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array#__get - i32.const 280 - call $~lib/string/String.__eq + i32.const 336 + call $~lib/string/String.eq else local.get $2 end @@ -9374,8 +9393,8 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array#__get - i32.const 648 - call $~lib/string/String.__eq + i32.const 824 + call $~lib/string/String.eq else local.get $2 end @@ -9384,15 +9403,15 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array#__get - i32.const 1216 - call $~lib/string/String.__eq + i32.const 1536 + call $~lib/string/String.eq else local.get $2 end i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 188 i32.const 0 call $~lib/env/abort @@ -9400,12 +9419,12 @@ end i32.const 0 call $~lib/internal/number/itoa32 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 190 i32.const 0 call $~lib/env/abort @@ -9413,12 +9432,12 @@ end i32.const 1 call $~lib/internal/number/itoa32 - i32.const 488 - call $~lib/string/String.__eq + i32.const 624 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 191 i32.const 0 call $~lib/env/abort @@ -9426,12 +9445,12 @@ end i32.const 8 call $~lib/internal/number/itoa32 - i32.const 1824 - call $~lib/string/String.__eq + i32.const 2184 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 192 i32.const 0 call $~lib/env/abort @@ -9439,12 +9458,12 @@ end i32.const 123 call $~lib/internal/number/itoa32 - i32.const 320 - call $~lib/string/String.__eq + i32.const 392 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 193 i32.const 0 call $~lib/env/abort @@ -9452,12 +9471,12 @@ end i32.const -1000 call $~lib/internal/number/itoa32 - i32.const 1832 - call $~lib/string/String.__eq + i32.const 2200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 194 i32.const 0 call $~lib/env/abort @@ -9465,12 +9484,12 @@ end i32.const 1234 call $~lib/internal/number/itoa32 - i32.const 1848 - call $~lib/string/String.__eq + i32.const 2224 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 195 i32.const 0 call $~lib/env/abort @@ -9478,12 +9497,12 @@ end i32.const 12345 call $~lib/internal/number/itoa32 - i32.const 1864 - call $~lib/string/String.__eq + i32.const 2240 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 196 i32.const 0 call $~lib/env/abort @@ -9491,12 +9510,12 @@ end i32.const 123456 call $~lib/internal/number/itoa32 - i32.const 1880 - call $~lib/string/String.__eq + i32.const 2264 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 197 i32.const 0 call $~lib/env/abort @@ -9504,12 +9523,12 @@ end i32.const 1111111 call $~lib/internal/number/itoa32 - i32.const 1896 - call $~lib/string/String.__eq + i32.const 2288 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 198 i32.const 0 call $~lib/env/abort @@ -9517,12 +9536,12 @@ end i32.const 1234567 call $~lib/internal/number/itoa32 - i32.const 1920 - call $~lib/string/String.__eq + i32.const 2312 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 199 i32.const 0 call $~lib/env/abort @@ -9530,12 +9549,12 @@ end i32.const 2147483646 call $~lib/internal/number/itoa32 - i32.const 1944 - call $~lib/string/String.__eq + i32.const 2336 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 200 i32.const 0 call $~lib/env/abort @@ -9543,12 +9562,12 @@ end i32.const 2147483647 call $~lib/internal/number/itoa32 - i32.const 1968 - call $~lib/string/String.__eq + i32.const 2368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 201 i32.const 0 call $~lib/env/abort @@ -9556,12 +9575,12 @@ end i32.const -2147483648 call $~lib/internal/number/itoa32 - i32.const 1992 - call $~lib/string/String.__eq + i32.const 2400 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 202 i32.const 0 call $~lib/env/abort @@ -9569,12 +9588,12 @@ end i32.const -1 call $~lib/internal/number/itoa32 - i32.const 2024 - call $~lib/string/String.__eq + i32.const 2432 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 203 i32.const 0 call $~lib/env/abort @@ -9582,12 +9601,12 @@ end i32.const 0 call $~lib/internal/number/utoa32 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 205 i32.const 0 call $~lib/env/abort @@ -9595,12 +9614,12 @@ end i32.const 1000 call $~lib/internal/number/utoa32 - i32.const 2032 - call $~lib/string/String.__eq + i32.const 2448 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 206 i32.const 0 call $~lib/env/abort @@ -9608,12 +9627,12 @@ end i32.const 2147483647 call $~lib/internal/number/utoa32 - i32.const 1968 - call $~lib/string/String.__eq + i32.const 2368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 207 i32.const 0 call $~lib/env/abort @@ -9621,12 +9640,12 @@ end i32.const -2147483648 call $~lib/internal/number/utoa32 - i32.const 2048 - call $~lib/string/String.__eq + i32.const 2464 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 208 i32.const 0 call $~lib/env/abort @@ -9634,12 +9653,12 @@ end global.get $~lib/builtins/u32.MAX_VALUE call $~lib/internal/number/utoa32 - i32.const 2072 - call $~lib/string/String.__eq + i32.const 2496 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 209 i32.const 0 call $~lib/env/abort @@ -9647,12 +9666,12 @@ end i64.const 0 call $~lib/internal/number/utoa64 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 211 i32.const 0 call $~lib/env/abort @@ -9660,12 +9679,12 @@ end i64.const 1234 call $~lib/internal/number/utoa64 - i32.const 1848 - call $~lib/string/String.__eq + i32.const 2224 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 212 i32.const 0 call $~lib/env/abort @@ -9673,12 +9692,12 @@ end i64.const 99999999 call $~lib/internal/number/utoa64 - i32.const 2096 - call $~lib/string/String.__eq + i32.const 2528 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 213 i32.const 0 call $~lib/env/abort @@ -9686,12 +9705,12 @@ end i64.const 100000000 call $~lib/internal/number/utoa64 - i32.const 2120 - call $~lib/string/String.__eq + i32.const 2552 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 214 i32.const 0 call $~lib/env/abort @@ -9699,12 +9718,12 @@ end i64.const 4294967295 call $~lib/internal/number/utoa64 - i32.const 2072 - call $~lib/string/String.__eq + i32.const 2496 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 215 i32.const 0 call $~lib/env/abort @@ -9712,12 +9731,12 @@ end i64.const 68719476735 call $~lib/internal/number/utoa64 - i32.const 2144 - call $~lib/string/String.__eq + i32.const 2584 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 216 i32.const 0 call $~lib/env/abort @@ -9725,12 +9744,12 @@ end i64.const 868719476735 call $~lib/internal/number/utoa64 - i32.const 2176 - call $~lib/string/String.__eq + i32.const 2616 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 217 i32.const 0 call $~lib/env/abort @@ -9738,12 +9757,12 @@ end i64.const 999868719476735 call $~lib/internal/number/utoa64 - i32.const 2208 - call $~lib/string/String.__eq + i32.const 2648 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 218 i32.const 0 call $~lib/env/abort @@ -9751,12 +9770,12 @@ end i64.const 9999868719476735 call $~lib/internal/number/utoa64 - i32.const 2248 - call $~lib/string/String.__eq + i32.const 2688 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 219 i32.const 0 call $~lib/env/abort @@ -9764,12 +9783,12 @@ end i64.const 19999868719476735 call $~lib/internal/number/utoa64 - i32.const 2288 - call $~lib/string/String.__eq + i32.const 2728 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 220 i32.const 0 call $~lib/env/abort @@ -9777,12 +9796,12 @@ end global.get $~lib/builtins/u64.MAX_VALUE call $~lib/internal/number/utoa64 - i32.const 2328 - call $~lib/string/String.__eq + i32.const 2776 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 221 i32.const 0 call $~lib/env/abort @@ -9790,12 +9809,12 @@ end i64.const 0 call $~lib/internal/number/itoa64 - i32.const 480 - call $~lib/string/String.__eq + i32.const 608 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 223 i32.const 0 call $~lib/env/abort @@ -9803,12 +9822,12 @@ end i64.const -1234 call $~lib/internal/number/itoa64 - i32.const 2376 - call $~lib/string/String.__eq + i32.const 2824 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 224 i32.const 0 call $~lib/env/abort @@ -9816,12 +9835,12 @@ end i64.const 4294967295 call $~lib/internal/number/itoa64 - i32.const 2072 - call $~lib/string/String.__eq + i32.const 2496 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 225 i32.const 0 call $~lib/env/abort @@ -9829,12 +9848,12 @@ end i64.const -4294967295 call $~lib/internal/number/itoa64 - i32.const 2392 - call $~lib/string/String.__eq + i32.const 2848 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 226 i32.const 0 call $~lib/env/abort @@ -9842,12 +9861,12 @@ end i64.const 68719476735 call $~lib/internal/number/itoa64 - i32.const 2144 - call $~lib/string/String.__eq + i32.const 2584 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 227 i32.const 0 call $~lib/env/abort @@ -9855,12 +9874,12 @@ end i64.const -68719476735 call $~lib/internal/number/itoa64 - i32.const 2424 - call $~lib/string/String.__eq + i32.const 2880 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 228 i32.const 0 call $~lib/env/abort @@ -9868,12 +9887,12 @@ end i64.const -868719476735 call $~lib/internal/number/itoa64 - i32.const 2456 - call $~lib/string/String.__eq + i32.const 2912 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 229 i32.const 0 call $~lib/env/abort @@ -9881,12 +9900,12 @@ end i64.const -999868719476735 call $~lib/internal/number/itoa64 - i32.const 2488 - call $~lib/string/String.__eq + i32.const 2952 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 230 i32.const 0 call $~lib/env/abort @@ -9894,12 +9913,12 @@ end i64.const -19999868719476735 call $~lib/internal/number/itoa64 - i32.const 2528 - call $~lib/string/String.__eq + i32.const 2992 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 231 i32.const 0 call $~lib/env/abort @@ -9907,12 +9926,12 @@ end global.get $~lib/builtins/i64.MAX_VALUE call $~lib/internal/number/itoa64 - i32.const 2568 - call $~lib/string/String.__eq + i32.const 3040 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 232 i32.const 0 call $~lib/env/abort @@ -9920,12 +9939,12 @@ end global.get $~lib/builtins/i64.MIN_VALUE call $~lib/internal/number/itoa64 - i32.const 2616 - call $~lib/string/String.__eq + i32.const 3088 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 233 i32.const 0 call $~lib/env/abort @@ -9933,12 +9952,12 @@ end f64.const 0 call $~lib/internal/number/dtoa - i32.const 2664 - call $~lib/string/String.__eq + i32.const 3136 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 236 i32.const 0 call $~lib/env/abort @@ -9946,12 +9965,12 @@ end f64.const -0 call $~lib/internal/number/dtoa - i32.const 2664 - call $~lib/string/String.__eq + i32.const 3136 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 237 i32.const 0 call $~lib/env/abort @@ -9959,12 +9978,12 @@ end f64.const nan:0x8000000000000 call $~lib/internal/number/dtoa - i32.const 2680 - call $~lib/string/String.__eq + i32.const 3152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 238 i32.const 0 call $~lib/env/abort @@ -9972,12 +9991,12 @@ end f64.const inf call $~lib/internal/number/dtoa - i32.const 2720 - call $~lib/string/String.__eq + i32.const 3200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 239 i32.const 0 call $~lib/env/abort @@ -9986,12 +10005,12 @@ f64.const inf f64.neg call $~lib/internal/number/dtoa - i32.const 2696 - call $~lib/string/String.__eq + i32.const 3168 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 240 i32.const 0 call $~lib/env/abort @@ -9999,12 +10018,12 @@ end global.get $~lib/builtins/f64.EPSILON call $~lib/internal/number/dtoa - i32.const 4112 - call $~lib/string/String.__eq + i32.const 4592 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 241 i32.const 0 call $~lib/env/abort @@ -10013,12 +10032,12 @@ global.get $~lib/builtins/f64.EPSILON f64.neg call $~lib/internal/number/dtoa - i32.const 4160 - call $~lib/string/String.__eq + i32.const 4648 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 242 i32.const 0 call $~lib/env/abort @@ -10026,12 +10045,12 @@ end global.get $~lib/builtins/f64.MAX_VALUE call $~lib/internal/number/dtoa - i32.const 4208 - call $~lib/string/String.__eq + i32.const 4704 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 243 i32.const 0 call $~lib/env/abort @@ -10040,12 +10059,12 @@ global.get $~lib/builtins/f64.MAX_VALUE f64.neg call $~lib/internal/number/dtoa - i32.const 4264 - call $~lib/string/String.__eq + i32.const 4760 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 244 i32.const 0 call $~lib/env/abort @@ -10053,12 +10072,12 @@ end f64.const 4185580496821356722454785e274 call $~lib/internal/number/dtoa - i32.const 4320 - call $~lib/string/String.__eq + i32.const 4816 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 245 i32.const 0 call $~lib/env/abort @@ -10066,12 +10085,12 @@ end f64.const 2.2250738585072014e-308 call $~lib/internal/number/dtoa - i32.const 4368 - call $~lib/string/String.__eq + i32.const 4872 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 246 i32.const 0 call $~lib/env/abort @@ -10079,12 +10098,12 @@ end f64.const 4.940656e-318 call $~lib/internal/number/dtoa - i32.const 4424 - call $~lib/string/String.__eq + i32.const 4928 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 249 i32.const 0 call $~lib/env/abort @@ -10092,12 +10111,12 @@ end f64.const 9060801153433600 call $~lib/internal/number/dtoa - i32.const 4456 - call $~lib/string/String.__eq + i32.const 4968 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 250 i32.const 0 call $~lib/env/abort @@ -10105,12 +10124,12 @@ end f64.const 4708356024711512064 call $~lib/internal/number/dtoa - i32.const 4496 - call $~lib/string/String.__eq + i32.const 5016 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 251 i32.const 0 call $~lib/env/abort @@ -10118,12 +10137,12 @@ end f64.const 9409340012568248320 call $~lib/internal/number/dtoa - i32.const 4544 - call $~lib/string/String.__eq + i32.const 5072 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 252 i32.const 0 call $~lib/env/abort @@ -10131,12 +10150,12 @@ end f64.const 5e-324 call $~lib/internal/number/dtoa - i32.const 4592 - call $~lib/string/String.__eq + i32.const 5128 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 253 i32.const 0 call $~lib/env/abort @@ -10144,12 +10163,12 @@ end f64.const 1 call $~lib/internal/number/dtoa - i32.const 4608 - call $~lib/string/String.__eq + i32.const 5152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 259 i32.const 0 call $~lib/env/abort @@ -10157,12 +10176,12 @@ end f64.const 0.1 call $~lib/internal/number/dtoa - i32.const 592 - call $~lib/string/String.__eq + i32.const 768 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 260 i32.const 0 call $~lib/env/abort @@ -10170,12 +10189,12 @@ end f64.const -1 call $~lib/internal/number/dtoa - i32.const 4624 - call $~lib/string/String.__eq + i32.const 5168 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 261 i32.const 0 call $~lib/env/abort @@ -10183,12 +10202,12 @@ end f64.const -0.1 call $~lib/internal/number/dtoa - i32.const 4640 - call $~lib/string/String.__eq + i32.const 5184 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 262 i32.const 0 call $~lib/env/abort @@ -10196,12 +10215,12 @@ end f64.const 1e6 call $~lib/internal/number/dtoa - i32.const 4656 - call $~lib/string/String.__eq + i32.const 5200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 264 i32.const 0 call $~lib/env/abort @@ -10209,12 +10228,12 @@ end f64.const 1e-06 call $~lib/internal/number/dtoa - i32.const 4680 - call $~lib/string/String.__eq + i32.const 5232 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 265 i32.const 0 call $~lib/env/abort @@ -10222,12 +10241,12 @@ end f64.const -1e6 call $~lib/internal/number/dtoa - i32.const 4704 - call $~lib/string/String.__eq + i32.const 5256 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 266 i32.const 0 call $~lib/env/abort @@ -10235,12 +10254,12 @@ end f64.const -1e-06 call $~lib/internal/number/dtoa - i32.const 4728 - call $~lib/string/String.__eq + i32.const 5288 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 267 i32.const 0 call $~lib/env/abort @@ -10248,12 +10267,12 @@ end f64.const 1e7 call $~lib/internal/number/dtoa - i32.const 4752 - call $~lib/string/String.__eq + i32.const 5320 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 268 i32.const 0 call $~lib/env/abort @@ -10261,12 +10280,12 @@ end f64.const 1e-07 call $~lib/internal/number/dtoa - i32.const 4776 - call $~lib/string/String.__eq + i32.const 5352 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 269 i32.const 0 call $~lib/env/abort @@ -10274,12 +10293,12 @@ end f64.const 1.e+308 call $~lib/internal/number/dtoa - i32.const 4792 - call $~lib/string/String.__eq + i32.const 5368 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 271 i32.const 0 call $~lib/env/abort @@ -10287,12 +10306,12 @@ end f64.const -1.e+308 call $~lib/internal/number/dtoa - i32.const 4808 - call $~lib/string/String.__eq + i32.const 5392 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 272 i32.const 0 call $~lib/env/abort @@ -10300,12 +10319,12 @@ end f64.const inf call $~lib/internal/number/dtoa - i32.const 2720 - call $~lib/string/String.__eq + i32.const 3200 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 273 i32.const 0 call $~lib/env/abort @@ -10313,12 +10332,12 @@ end f64.const -inf call $~lib/internal/number/dtoa - i32.const 2696 - call $~lib/string/String.__eq + i32.const 3168 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 274 i32.const 0 call $~lib/env/abort @@ -10326,12 +10345,12 @@ end f64.const 1e-308 call $~lib/internal/number/dtoa - i32.const 4832 - call $~lib/string/String.__eq + i32.const 5416 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 275 i32.const 0 call $~lib/env/abort @@ -10339,12 +10358,12 @@ end f64.const -1e-308 call $~lib/internal/number/dtoa - i32.const 4848 - call $~lib/string/String.__eq + i32.const 5440 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 276 i32.const 0 call $~lib/env/abort @@ -10352,12 +10371,12 @@ end f64.const 1e-323 call $~lib/internal/number/dtoa - i32.const 4872 - call $~lib/string/String.__eq + i32.const 5464 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 277 i32.const 0 call $~lib/env/abort @@ -10365,12 +10384,12 @@ end f64.const -1e-323 call $~lib/internal/number/dtoa - i32.const 4888 - call $~lib/string/String.__eq + i32.const 5488 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 278 i32.const 0 call $~lib/env/abort @@ -10378,12 +10397,12 @@ end f64.const 0 call $~lib/internal/number/dtoa - i32.const 2664 - call $~lib/string/String.__eq + i32.const 3136 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 279 i32.const 0 call $~lib/env/abort @@ -10391,12 +10410,12 @@ end f64.const 4294967272 call $~lib/internal/number/dtoa - i32.const 4912 - call $~lib/string/String.__eq + i32.const 5512 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 281 i32.const 0 call $~lib/env/abort @@ -10404,12 +10423,12 @@ end f64.const 1.2312145673456234e-08 call $~lib/internal/number/dtoa - i32.const 4944 - call $~lib/string/String.__eq + i32.const 5544 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 282 i32.const 0 call $~lib/env/abort @@ -10417,12 +10436,12 @@ end f64.const 555555555.5555556 call $~lib/internal/number/dtoa - i32.const 4992 - call $~lib/string/String.__eq + i32.const 5600 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 284 i32.const 0 call $~lib/env/abort @@ -10430,12 +10449,12 @@ end f64.const 0.9999999999999999 call $~lib/internal/number/dtoa - i32.const 5032 - call $~lib/string/String.__eq + i32.const 5648 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 285 i32.const 0 call $~lib/env/abort @@ -10443,12 +10462,12 @@ end f64.const 1 call $~lib/internal/number/dtoa - i32.const 4608 - call $~lib/string/String.__eq + i32.const 5152 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 286 i32.const 0 call $~lib/env/abort @@ -10456,12 +10475,12 @@ end f64.const 12.34 call $~lib/internal/number/dtoa - i32.const 5072 - call $~lib/string/String.__eq + i32.const 5696 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 287 i32.const 0 call $~lib/env/abort @@ -10471,12 +10490,12 @@ f64.const 3 f64.div call $~lib/internal/number/dtoa - i32.const 5088 - call $~lib/string/String.__eq + i32.const 5720 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 289 i32.const 0 call $~lib/env/abort @@ -10484,12 +10503,12 @@ end f64.const 1234e17 call $~lib/internal/number/dtoa - i32.const 5128 - call $~lib/string/String.__eq + i32.const 5768 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 290 i32.const 0 call $~lib/env/abort @@ -10497,12 +10516,12 @@ end f64.const 1234e18 call $~lib/internal/number/dtoa - i32.const 5184 - call $~lib/string/String.__eq + i32.const 5824 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 291 i32.const 0 call $~lib/env/abort @@ -10510,12 +10529,12 @@ end f64.const 2.71828 call $~lib/internal/number/dtoa - i32.const 5208 - call $~lib/string/String.__eq + i32.const 5856 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 292 i32.const 0 call $~lib/env/abort @@ -10523,12 +10542,12 @@ end f64.const 0.0271828 call $~lib/internal/number/dtoa - i32.const 5232 - call $~lib/string/String.__eq + i32.const 5880 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 293 i32.const 0 call $~lib/env/abort @@ -10536,12 +10555,12 @@ end f64.const 271.828 call $~lib/internal/number/dtoa - i32.const 5256 - call $~lib/string/String.__eq + i32.const 5912 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 294 i32.const 0 call $~lib/env/abort @@ -10549,12 +10568,12 @@ end f64.const 1.1e+128 call $~lib/internal/number/dtoa - i32.const 5280 - call $~lib/string/String.__eq + i32.const 5936 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 295 i32.const 0 call $~lib/env/abort @@ -10562,12 +10581,12 @@ end f64.const 1.1e-64 call $~lib/internal/number/dtoa - i32.const 5304 - call $~lib/string/String.__eq + i32.const 5960 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 296 i32.const 0 call $~lib/env/abort @@ -10575,24 +10594,24 @@ end f64.const 0.000035689 call $~lib/internal/number/dtoa - i32.const 5328 - call $~lib/string/String.__eq + i32.const 5984 + call $~lib/string/String.eq i32.eqz if i32.const 0 - i32.const 48 + i32.const 56 i32.const 297 i32.const 0 call $~lib/env/abort unreachable end ) - (func $std/string/getString (; 65 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 67 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 66 ;) (type $FUNCSIG$v) + (func $start (; 68 ;) (type $FUNCSIG$v) call $start:std/string ) - (func $null (; 67 ;) (type $FUNCSIG$v) + (func $null (; 69 ;) (type $FUNCSIG$v) ) )