From 9c51f1332c58979357f71cb8dd5b9463f3aedce7 Mon Sep 17 00:00:00 2001 From: Max Graey Date: Mon, 27 May 2019 15:37:07 +0300 Subject: [PATCH] Fix parsing numbers with padded whitespaces (#607) --- std/assembly/string.ts | 5 + std/assembly/util/string.ts | 7 +- tests/compiler/std/string.optimized.wat | 2115 +++++++++++----------- tests/compiler/std/string.ts | 5 + tests/compiler/std/string.untouched.wat | 2143 ++++++++++++----------- 5 files changed, 2287 insertions(+), 1988 deletions(-) diff --git a/std/assembly/string.ts b/std/assembly/string.ts index a5207b85..45ad2b5a 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -547,6 +547,11 @@ export function parseFloat(str: String): f64 { // determine sign var sign: f64; + // trim white spaces + while (isWhiteSpaceOrLineTerminator(code)) { + code = load(ptr += 2); + --len; + } if (code == CharCode.MINUS) { if (!--len) return NaN; code = load(ptr += 2); diff --git a/std/assembly/util/string.ts b/std/assembly/util/string.ts index e9d3a2d7..f03a936e 100644 --- a/std/assembly/util/string.ts +++ b/std/assembly/util/string.ts @@ -40,7 +40,7 @@ export const enum CharCode { z = 0x7A } -export function isWhiteSpaceOrLineTerminator(c: u16): bool { +export function isWhiteSpaceOrLineTerminator(c: i32): bool { switch (c) { case 9: // case 10: // @@ -67,6 +67,11 @@ export function parse(str: string, radix: i32 = 0): T { // determine sign var sign: T; + // trim white spaces + while (isWhiteSpaceOrLineTerminator(code)) { + code = load(ptr += 2); + --len; + } if (code == CharCode.MINUS) { // @ts-ignore: cast if (!--len) return NaN; diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 1769442f..db2c7ba0 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -61,121 +61,124 @@ (data (i32.const 1168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00x\00F\000\00F") (data (i32.const 1200) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\001\001") (data (i32.const 1224) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g") - (data (i32.const 1248) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001") - (data (i32.const 1272) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005") - (data (i32.const 1296) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00.\001\00f\00o\00o\00b\00a\00r") - (data (i32.const 1328) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") - (data (i32.const 1352) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 1376) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001") - (data (i32.const 1400) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002") - (data (i32.const 1424) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001") - (data (i32.const 1448) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002") - (data (i32.const 1472) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002") - (data (i32.const 1504) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001") - (data (i32.const 1536) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1568) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1600) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 1640) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 1680) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") - (data (i32.const 1704) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a") - (data (i32.const 1728) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1776) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a") - (data (i32.const 1800) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 1832) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a") - (data (i32.const 1864) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") - (data (i32.const 1896) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") - (data (i32.const 1928) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 1976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n") - (data (i32.const 2000) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n") - (data (i32.const 2032) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g") - (data (i32.const 2064) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h") - (data (i32.const 2096) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 2144) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 2192) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2304) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c") - (data (i32.const 2336) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.") - (data (i32.const 2360) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c") - (data (i32.const 2384) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008") - (data (i32.const 2408) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000") - (data (i32.const 2440) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004") - (data (i32.const 2464) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005") - (data (i32.const 2496) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006") - (data (i32.const 2528) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001") - (data (i32.const 2560) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007") - (data (i32.const 2592) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") - (data (i32.const 2632) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") - (data (i32.const 2672) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2712) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001") - (data (i32.const 2736) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000") - (data (i32.const 2760) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2800) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 2840) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009") - (data (i32.const 2872) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") - (data (i32.const 2912) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2952) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 2992) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3040) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3088) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3144) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 3200) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004") - (data (i32.const 3232) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 3272) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3312) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3360) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3408) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3464) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 3520) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 3576) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 3600) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 3624) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3664) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3696) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 (; 38 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/isWhiteSpaceOrLineTerminator (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $case10|0 + block $case9|0 + local.get $0 + i32.const 10 + i32.eq + local.get $0 + i32.const 13 + i32.eq + i32.or + local.get $0 + i32.const 9 + i32.eq + i32.or + br_if $case9|0 + local.get $0 + i32.const 11 + i32.eq + local.get $0 + i32.const 12 + i32.eq + i32.or + local.get $0 + i32.const 32 + i32.eq + local.get $0 + i32.const 160 + i32.eq + i32.or + i32.or + br_if $case9|0 + local.get $0 + i32.const 8232 + i32.eq + local.get $0 + i32.const 8233 + i32.eq + i32.or + local.get $0 + i32.const 65279 + i32.eq + i32.or + br_if $case9|0 + br $case10|0 + end + i32.const 1 + return + end + i32.const 0 + ) + (func $~lib/util/string/parse (; 39 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2409,7 +2462,25 @@ local.get $0 local.tee $2 i32.load16_u - local.tee $1 + local.set $1 + loop $continue|0 + local.get $1 + call $~lib/util/string/isWhiteSpaceOrLineTerminator + if + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $1 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|0 + end + end + local.get $1 i32.const 45 i32.eq if (result f64) @@ -2461,10 +2532,10 @@ i32.eq select if (result i32) - block $break|0 (result i32) - block $case6|0 - block $case5|0 - block $case3|0 + block $break|1 (result i32) + block $case6|1 + block $case5|1 + block $case3|1 local.get $2 i32.const 2 i32.add @@ -2485,7 +2556,7 @@ i32.const 111 i32.eq i32.or - br_if $case3|0 + br_if $case3|1 local.get $1 i32.const 88 i32.eq @@ -2493,8 +2564,8 @@ i32.const 120 i32.eq i32.or - br_if $case5|0 - br $case6|0 + br_if $case5|1 + br $case6|1 end local.get $2 i32.const 4 @@ -2505,7 +2576,7 @@ i32.sub local.set $3 i32.const 2 - br $break|0 + br $break|1 end local.get $2 i32.const 4 @@ -2516,7 +2587,7 @@ i32.sub local.set $3 i32.const 8 - br $break|0 + br $break|1 end local.get $2 i32.const 4 @@ -2527,7 +2598,7 @@ i32.sub local.set $3 i32.const 16 - br $break|0 + br $break|1 end i32.const 10 end @@ -2535,8 +2606,8 @@ i32.const 10 end local.set $4 - loop $continue|1 - block $break|1 + loop $continue|2 + block $break|2 local.get $3 local.tee $1 i32.const 1 @@ -2583,7 +2654,7 @@ i32.ge_s select i32.eqz - br_if $break|1 + br_if $break|2 local.get $1 i32.const 87 i32.sub @@ -2592,7 +2663,7 @@ local.tee $1 local.get $4 i32.ge_s - br_if $break|1 + br_if $break|2 local.get $5 local.get $4 f64.convert_i32_s @@ -2605,7 +2676,7 @@ i32.const 2 i32.add local.set $2 - br $continue|1 + br $continue|2 end end end @@ -2620,7 +2691,7 @@ call $~lib/rt/pure/__release f64.const nan:0x8000000000000 ) - (func $~lib/string/parseInt (; 39 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseInt (; 40 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) local.get $0 call $~lib/rt/pure/__retain @@ -2632,7 +2703,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/string/parseFloat (; 40 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 41 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2653,7 +2724,25 @@ local.get $0 local.tee $2 i32.load16_u - local.tee $1 + local.set $1 + loop $continue|0 + local.get $1 + call $~lib/util/string/isWhiteSpaceOrLineTerminator + if + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $1 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|0 + end + end + local.get $1 i32.const 45 i32.eq if (result f64) @@ -2695,8 +2784,8 @@ f64.const 1 end local.set $6 - loop $continue|0 - block $break|0 + loop $continue|1 + block $break|1 local.get $3 local.tee $1 i32.const 1 @@ -2716,8 +2805,8 @@ local.set $2 f64.const 0.1 local.set $5 - loop $continue|1 - block $break|1 + loop $continue|2 + block $break|2 local.get $3 local.tee $1 i32.const 1 @@ -2740,7 +2829,7 @@ if i32.const 0 i32.const 456 - i32.const 572 + i32.const 577 i32.const 10 call $~lib/builtins/abort unreachable @@ -2751,7 +2840,7 @@ local.tee $1 i32.const 9 i32.gt_u - br_if $break|1 + br_if $break|2 local.get $4 local.get $1 f64.convert_i32_s @@ -2767,11 +2856,11 @@ i32.const 2 i32.add local.set $2 - br $continue|1 + br $continue|2 end end end - br $break|0 + br $break|1 end local.get $1 i32.const 48 @@ -2779,7 +2868,7 @@ local.tee $1 i32.const 10 i32.ge_u - br_if $break|0 + br_if $break|1 local.get $4 f64.const 10 f64.mul @@ -2791,7 +2880,7 @@ i32.const 2 i32.add local.set $2 - br $continue|0 + br $continue|1 end end end @@ -2806,7 +2895,7 @@ call $~lib/rt/pure/__release f64.const nan:0x8000000000000 ) - (func $~lib/string/String#concat (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2869,7 +2958,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -2890,7 +2979,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -2909,7 +2998,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gt (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2980,7 +3069,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__lt (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3050,7 +3139,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__gte (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3069,7 +3158,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lte (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.__lte (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 120 call $~lib/rt/pure/__retain @@ -3088,7 +3177,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/string/String#repeat (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3117,7 +3206,7 @@ i32.lt_s select if - i32.const 1744 + i32.const 1832 i32.const 456 i32.const 335 i32.const 6 @@ -3159,7 +3248,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#slice (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 call $~lib/string/String#get:length @@ -3234,7 +3323,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/__allocArray (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3262,7 +3351,7 @@ i32.store offset=12 local.get $1 ) - (func $~lib/rt/tlsf/reallocateBlock (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3376,7 +3465,7 @@ call $~lib/rt/tlsf/insertBlock local.get $3 ) - (func $~lib/rt/tlsf/__realloc (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -3412,7 +3501,7 @@ i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -3623,7 +3712,7 @@ end end ) - (func $~lib/array/ensureSize (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureSize (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3639,8 +3728,8 @@ i32.const 268435452 i32.gt_u if - i32.const 1744 - i32.const 2160 + i32.const 1832 + i32.const 2248 i32.const 14 i32.const 47 call $~lib/builtins/abort @@ -3678,7 +3767,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#push (; 56 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3718,7 +3807,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/string/String#split (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#split (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3940,14 +4029,14 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#__get (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 2208 - i32.const 2160 + i32.const 2296 + i32.const 2248 i32.const 97 i32.const 45 call $~lib/builtins/abort @@ -3961,7 +4050,7 @@ i32.ge_u if i32.const 232 - i32.const 2160 + i32.const 2248 i32.const 100 i32.const 61 call $~lib/builtins/abort @@ -3976,7 +4065,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount32 (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 2 local.get $0 @@ -4024,7 +4113,7 @@ i32.lt_u select ) - (func $~lib/util/number/utoa_simple (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 60 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $continue|0 local.get $1 @@ -4050,7 +4139,7 @@ br_if $continue|0 end ) - (func $~lib/util/number/itoa32 (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4093,7 +4182,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4117,7 +4206,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 62 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 63 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) i32.const 11 i32.const 12 local.get $0 @@ -4165,7 +4254,7 @@ i64.lt_u select ) - (func $~lib/util/number/utoa_simple (; 63 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 64 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i64) loop $continue|0 local.get $1 @@ -4194,7 +4283,7 @@ br_if $continue|0 end ) - (func $~lib/util/number/utoa64 (; 64 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 65 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4238,7 +4327,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 65 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 66 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4305,7 +4394,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/genDigits (; 66 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 67 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) @@ -4340,7 +4429,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 4740 + i32.const 4828 i32.load local.set $13 loop $continue|0 @@ -4706,7 +4795,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -4957,7 +5046,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 68 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 69 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -5073,7 +5162,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 4428 + i32.const 4516 i32.load local.get $3 i32.const 3 @@ -5081,7 +5170,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 4652 + i32.const 4740 i32.load local.get $3 i32.const 1 @@ -5245,7 +5334,7 @@ local.get $10 i32.add ) - (func $~lib/string/String#substring (; 69 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5332,14 +5421,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/dtoa (; 70 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 71 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 f64.const 0 f64.eq if - i32.const 3592 + i32.const 3680 call $~lib/rt/pure/__retain return end @@ -5353,12 +5442,12 @@ local.get $0 f64.ne if - i32.const 3616 + i32.const 3704 call $~lib/rt/pure/__retain return end - i32.const 3640 - i32.const 3680 + i32.const 3728 + i32.const 3768 local.get $0 f64.const 0 f64.lt @@ -5388,7 +5477,7 @@ call $~lib/rt/tlsf/__free local.get $2 ) - (func $start:std/string (; 71 ;) (type $FUNCSIG$v) + (func $start:std/string (; 72 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6360,6 +6449,30 @@ call $~lib/builtins/abort unreachable end + i32.const 1264 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 79 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1288 + call $~lib/string/parseInt + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 80 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 1040 call $~lib/string/parseFloat f64.const 0 @@ -6367,7 +6480,7 @@ if i32.const 0 i32.const 72 - i32.const 79 + i32.const 82 i32.const 0 call $~lib/builtins/abort unreachable @@ -6379,60 +6492,72 @@ if i32.const 0 i32.const 72 - i32.const 80 + i32.const 83 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1264 + i32.const 1320 call $~lib/string/parseFloat f64.const 0.1 f64.ne if i32.const 0 i32.const 72 - i32.const 81 + i32.const 84 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1288 + i32.const 1344 call $~lib/string/parseFloat f64.const 0.25 f64.ne if i32.const 0 i32.const 72 - i32.const 82 + i32.const 85 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 1368 call $~lib/string/parseFloat f64.const 0.1 f64.ne if i32.const 0 i32.const 72 - i32.const 83 + i32.const 86 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1400 + call $~lib/string/parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 88 i32.const 0 call $~lib/builtins/abort unreachable end i32.const 408 - i32.const 1344 + i32.const 1432 call $~lib/string/String.__concat local.tee $0 call $~lib/rt/pure/__retain local.tee $1 - i32.const 1368 + i32.const 1456 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 87 + i32.const 92 i32.const 2 call $~lib/builtins/abort unreachable @@ -6444,7 +6569,7 @@ if i32.const 0 i32.const 72 - i32.const 88 + i32.const 93 i32.const 2 call $~lib/builtins/abort unreachable @@ -6457,66 +6582,6 @@ i32.const 120 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 90 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - global.get $std/string/nullStr - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 91 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/nullStr - i32.const 120 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 92 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1344 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 93 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 94 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1392 - i32.const 1416 - call $~lib/string/String.__ne - i32.eqz if i32.const 0 i32.const 72 @@ -6525,9 +6590,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1392 - i32.const 1392 - call $~lib/string/String.__eq + i32.const 120 + global.get $std/string/nullStr + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6537,8 +6602,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1440 - i32.const 1464 + global.get $std/string/nullStr + i32.const 120 call $~lib/string/String.__ne i32.eqz if @@ -6549,8 +6614,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1488 - i32.const 1520 + i32.const 408 + i32.const 1432 call $~lib/string/String.__ne i32.eqz if @@ -6561,8 +6626,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1552 - i32.const 1552 + i32.const 408 + i32.const 408 call $~lib/string/String.__eq i32.eqz if @@ -6573,8 +6638,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1552 - i32.const 1584 + i32.const 1480 + i32.const 1504 call $~lib/string/String.__ne i32.eqz if @@ -6585,9 +6650,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1616 - i32.const 1656 - call $~lib/string/String.__ne + i32.const 1480 + i32.const 1480 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6597,9 +6662,21 @@ call $~lib/builtins/abort unreachable end - i32.const 1344 - i32.const 408 - call $~lib/string/String.__gt + i32.const 1528 + i32.const 1552 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1576 + i32.const 1608 + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6609,9 +6686,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 408 - call $~lib/string/String.__gt + i32.const 1640 + i32.const 1640 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -6621,9 +6698,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 1720 - call $~lib/string/String.__gte + i32.const 1640 + i32.const 1672 + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6633,9 +6710,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 1368 - call $~lib/string/String.__gt + i32.const 1704 + i32.const 1744 + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -6645,20 +6722,22 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 1368 - call $~lib/string/String.__lt + i32.const 1432 + i32.const 408 + call $~lib/string/String.__gt + i32.eqz if i32.const 0 i32.const 72 - i32.const 107 + i32.const 108 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1344 - global.get $std/string/nullStr - call $~lib/string/String.__lt + i32.const 1784 + i32.const 408 + call $~lib/string/String.__gt + i32.eqz if i32.const 0 i32.const 72 @@ -6667,9 +6746,10 @@ call $~lib/builtins/abort unreachable end - global.get $std/string/nullStr - i32.const 1344 - call $~lib/string/String.__lt + i32.const 1784 + i32.const 1808 + call $~lib/string/String.__gte + i32.eqz if i32.const 0 i32.const 72 @@ -6678,10 +6758,21 @@ call $~lib/builtins/abort unreachable end - i32.const 680 - i32.const 120 + i32.const 1784 + i32.const 1456 call $~lib/string/String.__gt i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1784 + i32.const 1456 + call $~lib/string/String.__lt if i32.const 0 i32.const 72 @@ -6690,22 +6781,9 @@ call $~lib/builtins/abort unreachable end - i32.const 120 - i32.const 680 + i32.const 1432 + global.get $std/string/nullStr call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__gte - i32.eqz if i32.const 0 i32.const 72 @@ -6714,9 +6792,9 @@ call $~lib/builtins/abort unreachable end - i32.const 680 - call $~lib/string/String.__lte - i32.eqz + global.get $std/string/nullStr + i32.const 1432 + call $~lib/string/String.__lt if i32.const 0 i32.const 72 @@ -6727,11 +6805,58 @@ end i32.const 680 i32.const 120 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 680 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 680 + i32.const 120 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 680 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 680 + i32.const 120 call $~lib/string/String.__lt if i32.const 0 i32.const 72 - i32.const 116 + i32.const 121 i32.const 0 call $~lib/builtins/abort unreachable @@ -6742,7 +6867,7 @@ if i32.const 0 i32.const 72 - i32.const 117 + i32.const 122 i32.const 0 call $~lib/builtins/abort unreachable @@ -6753,7 +6878,7 @@ if i32.const 0 i32.const 72 - i32.const 118 + i32.const 123 i32.const 0 call $~lib/builtins/abort unreachable @@ -6764,7 +6889,7 @@ if i32.const 0 i32.const 72 - i32.const 119 + i32.const 124 i32.const 0 call $~lib/builtins/abort unreachable @@ -6776,7 +6901,7 @@ if i32.const 0 i32.const 72 - i32.const 120 + i32.const 125 i32.const 0 call $~lib/builtins/abort unreachable @@ -6787,7 +6912,7 @@ if i32.const 0 i32.const 72 - i32.const 121 + i32.const 126 i32.const 0 call $~lib/builtins/abort unreachable @@ -6810,7 +6935,7 @@ if i32.const 0 i32.const 72 - i32.const 126 + i32.const 131 i32.const 2 call $~lib/builtins/abort unreachable @@ -6832,7 +6957,7 @@ if i32.const 0 i32.const 72 - i32.const 129 + i32.const 134 i32.const 0 call $~lib/builtins/abort unreachable @@ -6847,7 +6972,7 @@ if i32.const 0 i32.const 72 - i32.const 131 + i32.const 136 i32.const 0 call $~lib/builtins/abort unreachable @@ -6862,7 +6987,7 @@ if i32.const 0 i32.const 72 - i32.const 132 + i32.const 137 i32.const 0 call $~lib/builtins/abort unreachable @@ -6877,7 +7002,7 @@ if i32.const 0 i32.const 72 - i32.const 133 + i32.const 138 i32.const 0 call $~lib/builtins/abort unreachable @@ -6886,82 +7011,7 @@ i32.const 2 call $~lib/string/String#repeat local.tee $28 - i32.const 1720 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 3 - call $~lib/string/String#repeat - local.tee $29 - i32.const 1792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1368 - i32.const 4 - call $~lib/string/String#repeat - local.tee $30 - i32.const 1816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 5 - call $~lib/string/String#repeat - local.tee $31 - i32.const 1848 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 6 - call $~lib/string/String#repeat - local.tee $32 - i32.const 1880 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 7 - call $~lib/string/String#repeat - local.tee $33 - i32.const 1912 + i32.const 1808 call $~lib/string/String.__eq i32.eqz if @@ -6972,25 +7022,56 @@ call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.tee $1 - i32.const 1944 - i32.ne + i32.const 408 + i32.const 3 + call $~lib/string/String#repeat + local.tee $29 + i32.const 1880 + call $~lib/string/String.__eq + i32.eqz if - i32.const 1944 - call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release + i32.const 0 + i32.const 72 + i32.const 140 + i32.const 0 + call $~lib/builtins/abort + unreachable end - i32.const 1944 - global.set $std/string/str - global.get $std/string/str - i32.const 0 - i32.const 2147483647 - call $~lib/string/String#slice - local.tee $34 - i32.const 1944 + i32.const 1456 + i32.const 4 + call $~lib/string/String#repeat + local.tee $30 + i32.const 1904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + i32.const 5 + call $~lib/string/String#repeat + local.tee $31 + i32.const 1936 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + i32.const 6 + call $~lib/string/String#repeat + local.tee $32 + i32.const 1968 call $~lib/string/String.__eq i32.eqz if @@ -7001,12 +7082,11 @@ call $~lib/builtins/abort unreachable end - global.get $std/string/str - i32.const -1 - i32.const 2147483647 - call $~lib/string/String#slice - local.tee $35 - i32.const 1992 + i32.const 408 + i32.const 7 + call $~lib/string/String#repeat + local.tee $33 + i32.const 2000 call $~lib/string/String.__eq i32.eqz if @@ -7018,17 +7098,62 @@ unreachable end global.get $std/string/str - i32.const -5 + local.tee $1 + i32.const 2032 + i32.ne + if + i32.const 2032 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + i32.const 2032 + global.set $std/string/str + global.get $std/string/str + i32.const 0 i32.const 2147483647 call $~lib/string/String#slice - local.tee $36 - i32.const 2016 + local.tee $34 + i32.const 2032 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 145 + i32.const 148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -1 + i32.const 2147483647 + call $~lib/string/String#slice + local.tee $35 + i32.const 2080 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -5 + i32.const 2147483647 + call $~lib/string/String#slice + local.tee $36 + i32.const 2104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 150 i32.const 0 call $~lib/builtins/abort unreachable @@ -7038,13 +7163,13 @@ i32.const 7 call $~lib/string/String#slice local.tee $37 - i32.const 2048 + i32.const 2136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 146 + i32.const 151 i32.const 0 call $~lib/builtins/abort unreachable @@ -7054,13 +7179,13 @@ i32.const -6 call $~lib/string/String#slice local.tee $38 - i32.const 2080 + i32.const 2168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 147 + i32.const 152 i32.const 0 call $~lib/builtins/abort unreachable @@ -7076,7 +7201,7 @@ if i32.const 0 i32.const 72 - i32.const 148 + i32.const 153 i32.const 0 call $~lib/builtins/abort unreachable @@ -7086,13 +7211,13 @@ i32.const -1 call $~lib/string/String#slice local.tee $40 - i32.const 2112 + i32.const 2200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 149 + i32.const 154 i32.const 0 call $~lib/builtins/abort unreachable @@ -7126,7 +7251,7 @@ if i32.const 0 i32.const 72 - i32.const 155 + i32.const 160 i32.const 2 call $~lib/builtins/abort unreachable @@ -7142,7 +7267,7 @@ if i32.const 0 i32.const 72 - i32.const 157 + i32.const 162 i32.const 2 call $~lib/builtins/abort unreachable @@ -7176,13 +7301,13 @@ if i32.const 0 i32.const 72 - i32.const 159 + i32.const 164 i32.const 2 call $~lib/builtins/abort unreachable end - i32.const 2320 - i32.const 2352 + i32.const 2408 + i32.const 2440 call $~lib/string/String#split local.set $1 local.get $2 @@ -7196,7 +7321,7 @@ i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 2320 + i32.const 2408 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -7210,12 +7335,12 @@ if i32.const 0 i32.const 72 - i32.const 161 + i32.const 166 i32.const 2 call $~lib/builtins/abort unreachable end - i32.const 2320 + i32.const 2408 i32.const 920 call $~lib/string/String#split local.set $0 @@ -7246,7 +7371,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 1344 + i32.const 1432 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -7261,7 +7386,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 2376 + i32.const 2464 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -7275,7 +7400,7 @@ if i32.const 0 i32.const 72 - i32.const 163 + i32.const 168 i32.const 2 call $~lib/builtins/abort unreachable @@ -7291,7 +7416,7 @@ if i32.const 0 i32.const 72 - i32.const 189 + i32.const 194 i32.const 0 call $~lib/builtins/abort unreachable @@ -7305,7 +7430,7 @@ if i32.const 0 i32.const 72 - i32.const 190 + i32.const 195 i32.const 0 call $~lib/builtins/abort unreachable @@ -7313,13 +7438,13 @@ i32.const 8 call $~lib/util/number/itoa32 local.tee $2 - i32.const 2400 + i32.const 2488 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 191 + i32.const 196 i32.const 0 call $~lib/builtins/abort unreachable @@ -7333,7 +7458,7 @@ if i32.const 0 i32.const 72 - i32.const 192 + i32.const 197 i32.const 0 call $~lib/builtins/abort unreachable @@ -7341,79 +7466,9 @@ i32.const -1000 call $~lib/util/number/itoa32 local.tee $42 - i32.const 2424 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234 - call $~lib/util/number/itoa32 - local.tee $43 - i32.const 2456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 12345 - call $~lib/util/number/itoa32 - local.tee $44 - i32.const 2480 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 123456 - call $~lib/util/number/itoa32 - local.tee $45 i32.const 2512 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1111111 - call $~lib/util/number/itoa32 - local.tee $46 - i32.const 2544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234567 - call $~lib/util/number/itoa32 - local.tee $47 - i32.const 2576 - call $~lib/string/String.__eq - i32.eqz if i32.const 0 i32.const 72 @@ -7422,10 +7477,10 @@ call $~lib/builtins/abort unreachable end - i32.const 2147483646 + i32.const 1234 call $~lib/util/number/itoa32 - local.tee $48 - i32.const 2608 + local.tee $43 + i32.const 2544 call $~lib/string/String.__eq i32.eqz if @@ -7436,10 +7491,10 @@ call $~lib/builtins/abort unreachable end - i32.const 2147483647 + i32.const 12345 call $~lib/util/number/itoa32 - local.tee $49 - i32.const 2648 + local.tee $44 + i32.const 2568 call $~lib/string/String.__eq i32.eqz if @@ -7450,10 +7505,10 @@ call $~lib/builtins/abort unreachable end - i32.const -2147483648 + i32.const 123456 call $~lib/util/number/itoa32 - local.tee $50 - i32.const 2688 + local.tee $45 + i32.const 2600 call $~lib/string/String.__eq i32.eqz if @@ -7464,10 +7519,10 @@ call $~lib/builtins/abort unreachable end - i32.const -1 + i32.const 1111111 call $~lib/util/number/itoa32 - local.tee $51 - i32.const 2728 + local.tee $46 + i32.const 2632 call $~lib/string/String.__eq i32.eqz if @@ -7478,6 +7533,76 @@ call $~lib/builtins/abort unreachable end + i32.const 1234567 + call $~lib/util/number/itoa32 + local.tee $47 + i32.const 2664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + call $~lib/util/number/itoa32 + local.tee $48 + i32.const 2696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + call $~lib/util/number/itoa32 + local.tee $49 + i32.const 2736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + call $~lib/util/number/itoa32 + local.tee $50 + i32.const 2776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 206 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + call $~lib/util/number/itoa32 + local.tee $51 + i32.const 2816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 207 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 call $~lib/util/number/utoa32 local.tee $52 @@ -7487,7 +7612,7 @@ if i32.const 0 i32.const 72 - i32.const 204 + i32.const 209 i32.const 0 call $~lib/builtins/abort unreachable @@ -7495,13 +7620,13 @@ i32.const 1000 call $~lib/util/number/utoa32 local.tee $53 - i32.const 2752 + i32.const 2840 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 205 + i32.const 210 i32.const 0 call $~lib/builtins/abort unreachable @@ -7509,13 +7634,13 @@ i32.const 2147483647 call $~lib/util/number/utoa32 local.tee $54 - i32.const 2648 + i32.const 2736 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 206 + i32.const 211 i32.const 0 call $~lib/builtins/abort unreachable @@ -7523,13 +7648,13 @@ i32.const -2147483648 call $~lib/util/number/utoa32 local.tee $55 - i32.const 2776 + i32.const 2864 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 207 + i32.const 212 i32.const 0 call $~lib/builtins/abort unreachable @@ -7537,13 +7662,13 @@ i32.const -1 call $~lib/util/number/utoa32 local.tee $56 - i32.const 2816 + i32.const 2904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 208 + i32.const 213 i32.const 0 call $~lib/builtins/abort unreachable @@ -7557,7 +7682,7 @@ if i32.const 0 i32.const 72 - i32.const 210 + i32.const 215 i32.const 0 call $~lib/builtins/abort unreachable @@ -7565,77 +7690,7 @@ i64.const 1234 call $~lib/util/number/utoa64 local.tee $58 - i32.const 2456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 99999999 - call $~lib/util/number/utoa64 - local.tee $59 - i32.const 2856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 100000000 - call $~lib/util/number/utoa64 - local.tee $60 - i32.const 2888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/utoa64 - local.tee $61 - i32.const 2816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/utoa64 - local.tee $62 - i32.const 2928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 868719476735 - call $~lib/util/number/utoa64 - local.tee $63 - i32.const 2968 + i32.const 2544 call $~lib/string/String.__eq i32.eqz if @@ -7646,10 +7701,10 @@ call $~lib/builtins/abort unreachable end - i64.const 999868719476735 + i64.const 99999999 call $~lib/util/number/utoa64 - local.tee $64 - i32.const 3008 + local.tee $59 + i32.const 2944 call $~lib/string/String.__eq i32.eqz if @@ -7660,10 +7715,10 @@ call $~lib/builtins/abort unreachable end - i64.const 9999868719476735 + i64.const 100000000 call $~lib/util/number/utoa64 - local.tee $65 - i32.const 3056 + local.tee $60 + i32.const 2976 call $~lib/string/String.__eq i32.eqz if @@ -7674,10 +7729,10 @@ call $~lib/builtins/abort unreachable end - i64.const 19999868719476735 + i64.const 4294967295 call $~lib/util/number/utoa64 - local.tee $66 - i32.const 3104 + local.tee $61 + i32.const 2904 call $~lib/string/String.__eq i32.eqz if @@ -7688,10 +7743,10 @@ call $~lib/builtins/abort unreachable end - i64.const -1 + i64.const 68719476735 call $~lib/util/number/utoa64 - local.tee $67 - i32.const 3160 + local.tee $62 + i32.const 3016 call $~lib/string/String.__eq i32.eqz if @@ -7702,6 +7757,76 @@ call $~lib/builtins/abort unreachable end + i64.const 868719476735 + call $~lib/util/number/utoa64 + local.tee $63 + i32.const 3056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 999868719476735 + call $~lib/util/number/utoa64 + local.tee $64 + i32.const 3096 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 9999868719476735 + call $~lib/util/number/utoa64 + local.tee $65 + i32.const 3144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 19999868719476735 + call $~lib/util/number/utoa64 + local.tee $66 + i32.const 3192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + call $~lib/util/number/utoa64 + local.tee $67 + i32.const 3248 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 0 call $~lib/util/number/itoa64 local.tee $68 @@ -7711,7 +7836,7 @@ if i32.const 0 i32.const 72 - i32.const 222 + i32.const 227 i32.const 0 call $~lib/builtins/abort unreachable @@ -7719,77 +7844,7 @@ i64.const -1234 call $~lib/util/number/itoa64 local.tee $69 - i32.const 3216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/itoa64 - local.tee $70 - i32.const 2816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4294967295 - call $~lib/util/number/itoa64 - local.tee $71 - i32.const 3248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/itoa64 - local.tee $72 - i32.const 2928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -68719476735 - call $~lib/util/number/itoa64 - local.tee $73 - i32.const 3288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 227 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -868719476735 - call $~lib/util/number/itoa64 - local.tee $74 - i32.const 3328 + i32.const 3304 call $~lib/string/String.__eq i32.eqz if @@ -7800,10 +7855,10 @@ call $~lib/builtins/abort unreachable end - i64.const -999868719476735 + i64.const 4294967295 call $~lib/util/number/itoa64 - local.tee $75 - i32.const 3376 + local.tee $70 + i32.const 2904 call $~lib/string/String.__eq i32.eqz if @@ -7814,10 +7869,10 @@ call $~lib/builtins/abort unreachable end - i64.const -19999868719476735 + i64.const -4294967295 call $~lib/util/number/itoa64 - local.tee $76 - i32.const 3424 + local.tee $71 + i32.const 3336 call $~lib/string/String.__eq i32.eqz if @@ -7828,10 +7883,10 @@ call $~lib/builtins/abort unreachable end - i64.const 9223372036854775807 + i64.const 68719476735 call $~lib/util/number/itoa64 - local.tee $77 - i32.const 3480 + local.tee $72 + i32.const 3016 call $~lib/string/String.__eq i32.eqz if @@ -7842,10 +7897,10 @@ call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 + i64.const -68719476735 call $~lib/util/number/itoa64 - local.tee $78 - i32.const 3536 + local.tee $73 + i32.const 3376 call $~lib/string/String.__eq i32.eqz if @@ -7856,10 +7911,38 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - call $~lib/util/number/dtoa - local.tee $79 - i32.const 3592 + i64.const -868719476735 + call $~lib/util/number/itoa64 + local.tee $74 + i32.const 3416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -999868719476735 + call $~lib/util/number/itoa64 + local.tee $75 + i32.const 3464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -19999868719476735 + call $~lib/util/number/itoa64 + local.tee $76 + i32.const 3512 call $~lib/string/String.__eq i32.eqz if @@ -7870,10 +7953,10 @@ call $~lib/builtins/abort unreachable end - f64.const -0 - call $~lib/util/number/dtoa - local.tee $80 - i32.const 3592 + i64.const 9223372036854775807 + call $~lib/util/number/itoa64 + local.tee $77 + i32.const 3568 call $~lib/string/String.__eq i32.eqz if @@ -7884,10 +7967,10 @@ call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa - local.tee $81 - i32.const 3616 + i64.const -9223372036854775808 + call $~lib/util/number/itoa64 + local.tee $78 + i32.const 3624 call $~lib/string/String.__eq i32.eqz if @@ -7898,40 +7981,12 @@ call $~lib/builtins/abort unreachable end - f64.const inf + f64.const 0 call $~lib/util/number/dtoa - local.tee $82 + local.tee $79 i32.const 3680 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - call $~lib/util/number/dtoa - local.tee $83 - i32.const 3640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.220446049250313e-16 - call $~lib/util/number/dtoa - local.tee $84 - i32.const 4768 - call $~lib/string/String.__eq - i32.eqz if i32.const 0 i32.const 72 @@ -7940,10 +7995,10 @@ call $~lib/builtins/abort unreachable end - f64.const -2.220446049250313e-16 + f64.const -0 call $~lib/util/number/dtoa - local.tee $85 - i32.const 4832 + local.tee $80 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if @@ -7954,10 +8009,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1797693134862315708145274e284 + f64.const nan:0x8000000000000 call $~lib/util/number/dtoa - local.tee $86 - i32.const 4896 + local.tee $81 + i32.const 3704 call $~lib/string/String.__eq i32.eqz if @@ -7968,10 +8023,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1797693134862315708145274e284 + f64.const inf call $~lib/util/number/dtoa - local.tee $87 - i32.const 4960 + local.tee $82 + i32.const 3768 call $~lib/string/String.__eq i32.eqz if @@ -7982,10 +8037,10 @@ call $~lib/builtins/abort unreachable end - f64.const 4185580496821356722454785e274 + f64.const -inf call $~lib/util/number/dtoa - local.tee $88 - i32.const 5024 + local.tee $83 + i32.const 3728 call $~lib/string/String.__eq i32.eqz if @@ -7996,10 +8051,10 @@ call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072014e-308 + f64.const 2.220446049250313e-16 call $~lib/util/number/dtoa - local.tee $89 - i32.const 5088 + local.tee $84 + i32.const 4856 call $~lib/string/String.__eq i32.eqz if @@ -8010,10 +8065,38 @@ call $~lib/builtins/abort unreachable end - f64.const 4.940656e-318 + f64.const -2.220446049250313e-16 call $~lib/util/number/dtoa - local.tee $90 - i32.const 5152 + local.tee $85 + i32.const 4920 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + call $~lib/util/number/dtoa + local.tee $86 + i32.const 4984 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + call $~lib/util/number/dtoa + local.tee $87 + i32.const 5048 call $~lib/string/String.__eq i32.eqz if @@ -8024,10 +8107,10 @@ call $~lib/builtins/abort unreachable end - f64.const 9060801153433600 + f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa - local.tee $91 - i32.const 5200 + local.tee $88 + i32.const 5112 call $~lib/string/String.__eq i32.eqz if @@ -8038,10 +8121,10 @@ call $~lib/builtins/abort unreachable end - f64.const 4708356024711512064 + f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa - local.tee $92 - i32.const 5256 + local.tee $89 + i32.const 5176 call $~lib/string/String.__eq i32.eqz if @@ -8052,16 +8135,58 @@ call $~lib/builtins/abort unreachable end - f64.const 9409340012568248320 + f64.const 4.940656e-318 call $~lib/util/number/dtoa - local.tee $93 - i32.const 5320 + local.tee $90 + i32.const 5240 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 251 + i32.const 253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9060801153433600 + call $~lib/util/number/dtoa + local.tee $91 + i32.const 5288 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4708356024711512064 + call $~lib/util/number/dtoa + local.tee $92 + i32.const 5344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9409340012568248320 + call $~lib/util/number/dtoa + local.tee $93 + i32.const 5408 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 256 i32.const 0 call $~lib/builtins/abort unreachable @@ -8069,13 +8194,13 @@ f64.const 5e-324 call $~lib/util/number/dtoa local.tee $94 - i32.const 5384 + i32.const 5472 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 252 + i32.const 257 i32.const 0 call $~lib/builtins/abort unreachable @@ -8083,63 +8208,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $95 - i32.const 5416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.1 - call $~lib/util/number/dtoa - local.tee $96 - i32.const 1264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/util/number/dtoa - local.tee $97 - i32.const 5440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.1 - call $~lib/util/number/dtoa - local.tee $98 - i32.const 5464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e6 - call $~lib/util/number/dtoa - local.tee $99 - i32.const 5488 + i32.const 5504 call $~lib/string/String.__eq i32.eqz if @@ -8150,10 +8219,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e-06 + f64.const 0.1 call $~lib/util/number/dtoa - local.tee $100 - i32.const 5528 + local.tee $96 + i32.const 1320 call $~lib/string/String.__eq i32.eqz if @@ -8164,10 +8233,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1e6 + f64.const -1 call $~lib/util/number/dtoa - local.tee $101 - i32.const 5560 + local.tee $97 + i32.const 5528 call $~lib/string/String.__eq i32.eqz if @@ -8178,10 +8247,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1e-06 + f64.const -0.1 call $~lib/util/number/dtoa - local.tee $102 - i32.const 5600 + local.tee $98 + i32.const 5552 call $~lib/string/String.__eq i32.eqz if @@ -8192,24 +8261,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e7 + f64.const 1e6 call $~lib/util/number/dtoa - local.tee $103 - i32.const 5640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-07 - call $~lib/util/number/dtoa - local.tee $104 - i32.const 5680 + local.tee $99 + i32.const 5576 call $~lib/string/String.__eq i32.eqz if @@ -8220,10 +8275,24 @@ call $~lib/builtins/abort unreachable end - f64.const 1.e+308 + f64.const 1e-06 call $~lib/util/number/dtoa - local.tee $105 - i32.const 5704 + local.tee $100 + i32.const 5616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e6 + call $~lib/util/number/dtoa + local.tee $101 + i32.const 5648 call $~lib/string/String.__eq i32.eqz if @@ -8234,10 +8303,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1.e+308 + f64.const -1e-06 call $~lib/util/number/dtoa - local.tee $106 - i32.const 5736 + local.tee $102 + i32.const 5688 call $~lib/string/String.__eq i32.eqz if @@ -8248,10 +8317,10 @@ call $~lib/builtins/abort unreachable end - f64.const inf + f64.const 1e7 call $~lib/util/number/dtoa - local.tee $107 - i32.const 3680 + local.tee $103 + i32.const 5728 call $~lib/string/String.__eq i32.eqz if @@ -8262,10 +8331,10 @@ call $~lib/builtins/abort unreachable end - f64.const -inf + f64.const 1e-07 call $~lib/util/number/dtoa - local.tee $108 - i32.const 3640 + local.tee $104 + i32.const 5768 call $~lib/string/String.__eq i32.eqz if @@ -8276,24 +8345,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e-308 + f64.const 1.e+308 call $~lib/util/number/dtoa - local.tee $109 - i32.const 5768 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-308 - call $~lib/util/number/dtoa - local.tee $110 - i32.const 5800 + local.tee $105 + i32.const 5792 call $~lib/string/String.__eq i32.eqz if @@ -8304,10 +8359,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e-323 + f64.const -1.e+308 call $~lib/util/number/dtoa - local.tee $111 - i32.const 5832 + local.tee $106 + i32.const 5824 call $~lib/string/String.__eq i32.eqz if @@ -8318,10 +8373,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1e-323 + f64.const inf call $~lib/util/number/dtoa - local.tee $112 - i32.const 5864 + local.tee $107 + i32.const 3768 call $~lib/string/String.__eq i32.eqz if @@ -8332,10 +8387,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -inf call $~lib/util/number/dtoa - local.tee $113 - i32.const 3592 + local.tee $108 + i32.const 3728 call $~lib/string/String.__eq i32.eqz if @@ -8346,10 +8401,24 @@ call $~lib/builtins/abort unreachable end - f64.const 4294967272 + f64.const 1e-308 call $~lib/util/number/dtoa - local.tee $114 - i32.const 5896 + local.tee $109 + i32.const 5856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-308 + call $~lib/util/number/dtoa + local.tee $110 + i32.const 5888 call $~lib/string/String.__eq i32.eqz if @@ -8360,10 +8429,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1.2312145673456234e-08 + f64.const 1e-323 call $~lib/util/number/dtoa - local.tee $115 - i32.const 5936 + local.tee $111 + i32.const 5920 call $~lib/string/String.__eq i32.eqz if @@ -8374,10 +8443,24 @@ call $~lib/builtins/abort unreachable end - f64.const 555555555.5555556 + f64.const -1e-323 call $~lib/util/number/dtoa - local.tee $116 - i32.const 6000 + local.tee $112 + i32.const 5952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.tee $113 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if @@ -8388,24 +8471,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0.9999999999999999 + f64.const 4294967272 call $~lib/util/number/dtoa - local.tee $117 - i32.const 6056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/util/number/dtoa - local.tee $118 - i32.const 5416 + local.tee $114 + i32.const 5984 call $~lib/string/String.__eq i32.eqz if @@ -8416,10 +8485,10 @@ call $~lib/builtins/abort unreachable end - f64.const 12.34 + f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa - local.tee $119 - i32.const 6112 + local.tee $115 + i32.const 6024 call $~lib/string/String.__eq i32.eqz if @@ -8430,10 +8499,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0.3333333333333333 + f64.const 555555555.5555556 call $~lib/util/number/dtoa - local.tee $120 - i32.const 6144 + local.tee $116 + i32.const 6088 call $~lib/string/String.__eq i32.eqz if @@ -8444,10 +8513,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1234e17 + f64.const 0.9999999999999999 call $~lib/util/number/dtoa - local.tee $121 - i32.const 6200 + local.tee $117 + i32.const 6144 call $~lib/string/String.__eq i32.eqz if @@ -8458,10 +8527,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1234e18 + f64.const 1 call $~lib/util/number/dtoa - local.tee $122 - i32.const 6264 + local.tee $118 + i32.const 5504 call $~lib/string/String.__eq i32.eqz if @@ -8472,10 +8541,10 @@ call $~lib/builtins/abort unreachable end - f64.const 2.71828 + f64.const 12.34 call $~lib/util/number/dtoa - local.tee $123 - i32.const 6304 + local.tee $119 + i32.const 6200 call $~lib/string/String.__eq i32.eqz if @@ -8486,24 +8555,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0.0271828 + f64.const 0.3333333333333333 call $~lib/util/number/dtoa - local.tee $124 - i32.const 6336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 271.828 - call $~lib/util/number/dtoa - local.tee $125 - i32.const 6376 + local.tee $120 + i32.const 6232 call $~lib/string/String.__eq i32.eqz if @@ -8514,10 +8569,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1.1e+128 + f64.const 1234e17 call $~lib/util/number/dtoa - local.tee $126 - i32.const 6408 + local.tee $121 + i32.const 6288 call $~lib/string/String.__eq i32.eqz if @@ -8528,10 +8583,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1.1e-64 + f64.const 1234e18 call $~lib/util/number/dtoa - local.tee $127 - i32.const 6440 + local.tee $122 + i32.const 6352 call $~lib/string/String.__eq i32.eqz if @@ -8542,10 +8597,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0.000035689 + f64.const 2.71828 call $~lib/util/number/dtoa - local.tee $128 - i32.const 6472 + local.tee $123 + i32.const 6392 call $~lib/string/String.__eq i32.eqz if @@ -8556,6 +8611,76 @@ call $~lib/builtins/abort unreachable end + f64.const 0.0271828 + call $~lib/util/number/dtoa + local.tee $124 + i32.const 6424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 271.828 + call $~lib/util/number/dtoa + local.tee $125 + i32.const 6464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e+128 + call $~lib/util/number/dtoa + local.tee $126 + i32.const 6496 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e-64 + call $~lib/util/number/dtoa + local.tee $127 + i32.const 6528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 300 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.000035689 + call $~lib/util/number/dtoa + local.tee $128 + i32.const 6560 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end global.get $std/string/str call $~lib/rt/pure/__release local.get $5 @@ -8817,11 +8942,11 @@ local.get $128 call $~lib/rt/pure/__release ) - (func $std/string/getString (; 72 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 73 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $std/string/main (; 73 ;) (type $FUNCSIG$v) + (func $std/string/main (; 74 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -8830,7 +8955,7 @@ global.set $~lib/started end ) - (func $~lib/rt/pure/markGray (; 74 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 75 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8854,7 +8979,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 75 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 76 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -8867,7 +8992,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 76 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8901,7 +9026,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8934,9 +9059,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 78 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 79 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 6564 + i32.const 6652 i32.lt_u if return @@ -9044,7 +9169,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 79 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -9075,7 +9200,7 @@ end end ) - (func $~lib/rt/__visit_members (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 81 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $block$4$break block $switch$1$default block $switch$1$case$5 @@ -9104,7 +9229,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 81 ;) (type $FUNCSIG$v) + (func $null (; 82 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/string.ts b/tests/compiler/std/string.ts index c7d4bc9a..f6dd3602 100644 --- a/tests/compiler/std/string.ts +++ b/tests/compiler/std/string.ts @@ -76,12 +76,17 @@ assert(parseInt("0xF0F") == 0xf0f); assert(parseInt("011") == 11); // not octal assert(parseInt("0x1g") == 1); // not valid +assert(parseInt(" \t\n1") == 1); +assert(parseInt(" \t\n0x02") == 2); + assert(parseFloat("0") == 0); assert(parseFloat("1") == 1); assert(parseFloat("0.1") == 0.1); assert(parseFloat(".25") == 0.25); assert(parseFloat(".1foobar") == 0.1); +assert(parseFloat(" \t\n.1") == 0.1); + { let c = "a" + "b"; assert(c == "ab"); diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 5aef14cc..e3178f37 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -64,123 +64,126 @@ (data (i32.const 1168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00x\00F\000\00F\00") (data (i32.const 1200) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\001\001\00") (data (i32.const 1224) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g\00") - (data (i32.const 1248) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001\00") - (data (i32.const 1272) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005\00") - (data (i32.const 1296) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00.\001\00f\00o\00o\00b\00a\00r\00") - (data (i32.const 1328) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") - (data (i32.const 1352) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 1376) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001\00") - (data (i32.const 1400) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002\00") - (data (i32.const 1424) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001\00") - (data (i32.const 1448) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002\00") - (data (i32.const 1472) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002\00") - (data (i32.const 1504) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001\00") - (data (i32.const 1536) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1568) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1600) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1640) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1680) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") - (data (i32.const 1704) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a\00") - (data (i32.const 1728) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 1776) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a\00") - (data (i32.const 1800) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 1832) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 1864) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1896) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1928) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 1976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n\00") - (data (i32.const 2000) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 2032) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 2064) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 2096) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 2144) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 2192) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") - (data (i32.const 2304) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 2336) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.\00") - (data (i32.const 2360) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c\00") - (data (i32.const 2384) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 2800) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00`\t\00\00`\t\00\00\90\01\00\00d\00\00\00") - (data (i32.const 2832) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008\00") - (data (i32.const 2856) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000\00") - (data (i32.const 2888) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00") - (data (i32.const 2912) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005\00") - (data (i32.const 2944) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006\00") - (data (i32.const 2976) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 3008) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 3040) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 3080) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 3120) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3160) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") - (data (i32.const 3184) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000\00") - (data (i32.const 3208) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3248) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3288) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 3320) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 3360) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3400) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3440) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3488) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3536) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3592) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00") - (data (i32.const 3648) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004\00") - (data (i32.const 3680) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3720) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3760) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3808) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3856) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3912) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") - (data (i32.const 3968) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00") - (data (i32.const 4024) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 4048) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 4072) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4112) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4144) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 (; 40 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/util/string/isWhiteSpaceOrLineTerminator (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + block $break|0 + block $case10|0 + block $case9|0 + block $case8|0 + block $case7|0 + block $case6|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $0 + local.set $1 + local.get $1 + i32.const 9 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 10 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 13 + i32.eq + br_if $case2|0 + local.get $1 + i32.const 11 + i32.eq + br_if $case3|0 + local.get $1 + i32.const 12 + i32.eq + br_if $case4|0 + local.get $1 + i32.const 32 + i32.eq + br_if $case5|0 + local.get $1 + i32.const 160 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8232 + i32.eq + br_if $case7|0 + local.get $1 + i32.const 8233 + i32.eq + br_if $case8|0 + local.get $1 + i32.const 65279 + i32.eq + br_if $case9|0 + br $case10|0 + end + end + end + end + end + end + end + end + end + end + i32.const 1 + return + end + i32.const 0 + return + unreachable + end + unreachable + unreachable + ) + (func $~lib/util/string/parse (; 41 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local $3 f64) (local $4 i32) @@ -4286,6 +4366,25 @@ local.get $4 i32.load16_u local.set $5 + block $break|0 + loop $continue|0 + local.get $5 + call $~lib/util/string/isWhiteSpaceOrLineTerminator + if + local.get $4 + i32.const 2 + i32.add + local.tee $4 + i32.load16_u + local.set $5 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 + end + end + end local.get $5 i32.const 45 i32.eq @@ -4356,14 +4455,14 @@ i32.const 0 end if - block $break|0 - block $case6|0 - block $case5|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 + block $break|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 local.get $4 i32.const 2 i32.add @@ -4372,28 +4471,28 @@ local.get $7 i32.const 66 i32.eq - br_if $case0|0 + br_if $case0|1 local.get $7 i32.const 98 i32.eq - br_if $case1|0 + br_if $case1|1 local.get $7 i32.const 79 i32.eq - br_if $case2|0 + br_if $case2|1 local.get $7 i32.const 111 i32.eq - br_if $case3|0 + br_if $case3|1 local.get $7 i32.const 88 i32.eq - br_if $case4|0 + br_if $case4|1 local.get $7 i32.const 120 i32.eq - br_if $case5|0 - br $case6|0 + br_if $case5|1 + br $case6|1 end end block @@ -4407,7 +4506,7 @@ local.set $2 i32.const 2 local.set $1 - br $break|0 + br $break|1 unreachable end unreachable @@ -4424,7 +4523,7 @@ local.set $2 i32.const 8 local.set $1 - br $break|0 + br $break|1 unreachable end unreachable @@ -4441,7 +4540,7 @@ local.set $2 i32.const 16 local.set $1 - br $break|0 + br $break|1 unreachable end unreachable @@ -4475,8 +4574,8 @@ end f64.const 0 local.set $8 - block $break|1 - loop $continue|1 + block $break|2 + loop $continue|2 block (result i32) local.get $2 local.tee $7 @@ -4541,7 +4640,7 @@ i32.sub local.set $5 else - br $break|1 + br $break|2 end end end @@ -4549,7 +4648,7 @@ local.get $1 i32.ge_s if - br $break|1 + br $break|2 end local.get $8 local.get $1 @@ -4563,7 +4662,7 @@ i32.const 2 i32.add local.set $4 - br $continue|1 + br $continue|2 end end end @@ -4575,7 +4674,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/string/parseInt (; 41 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/string/parseInt (; 42 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 f64) local.get $0 call $~lib/rt/pure/__retain @@ -4588,7 +4687,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/parseFloat (; 42 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 43 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4617,6 +4716,25 @@ local.get $3 i32.load16_u local.set $4 + block $break|0 + loop $continue|0 + local.get $4 + call $~lib/util/string/isWhiteSpaceOrLineTerminator + if + local.get $3 + i32.const 2 + i32.add + local.tee $3 + i32.load16_u + local.set $4 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $continue|0 + end + end + end local.get $4 i32.const 45 i32.eq @@ -4675,8 +4793,8 @@ end f64.const 0 local.set $6 - block $break|0 - loop $continue|0 + block $break|1 + loop $continue|1 block (result i32) local.get $1 local.tee $7 @@ -4699,8 +4817,8 @@ local.set $3 f64.const 0.1 local.set $2 - block $break|1 - loop $continue|1 + block $break|2 + loop $continue|2 block (result i32) local.get $1 local.tee $7 @@ -4729,7 +4847,7 @@ if i32.const 0 i32.const 456 - i32.const 572 + i32.const 577 i32.const 10 call $~lib/builtins/abort unreachable @@ -4743,7 +4861,7 @@ i32.const 9 i32.gt_u if - br $break|1 + br $break|2 end local.get $6 local.get $4 @@ -4760,11 +4878,11 @@ i32.const 2 i32.add local.set $3 - br $continue|1 + br $continue|2 end end end - br $break|0 + br $break|1 end local.get $4 i32.const 48 @@ -4774,7 +4892,7 @@ i32.const 10 i32.ge_u if - br $break|0 + br $break|1 end local.get $6 f64.const 10 @@ -4787,7 +4905,7 @@ i32.const 2 i32.add local.set $3 - br $continue|0 + br $continue|1 end end end @@ -4799,7 +4917,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String#concat (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4877,7 +4995,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -4900,7 +5018,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -4919,7 +5037,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gt (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5009,7 +5127,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lt (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5099,7 +5217,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gte (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5118,7 +5236,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lte (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lte (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5137,7 +5255,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String#repeat (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5170,7 +5288,7 @@ i64.gt_u end if - i32.const 1744 + i32.const 1832 i32.const 456 i32.const 335 i32.const 6 @@ -5217,7 +5335,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#slice (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5308,7 +5426,7 @@ local.get $8 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 52 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 53 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5346,7 +5464,7 @@ end local.get $4 ) - (func $~lib/rt/tlsf/reallocateBlock (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5479,7 +5597,7 @@ call $~lib/rt/tlsf/insertBlock local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -5519,7 +5637,7 @@ i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5782,7 +5900,7 @@ end end ) - (func $~lib/array/ensureSize (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 57 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5802,8 +5920,8 @@ i32.shr_u i32.gt_u if - i32.const 1744 - i32.const 2160 + i32.const 1832 + i32.const 2248 i32.const 14 i32.const 47 call $~lib/builtins/abort @@ -5845,7 +5963,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5894,7 +6012,7 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $~lib/string/String#split (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6215,11 +6333,11 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -6229,14 +6347,14 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 2208 - i32.const 2160 + i32.const 2296 + i32.const 2248 i32.const 97 i32.const 45 call $~lib/builtins/abort @@ -6250,7 +6368,7 @@ i32.ge_u if i32.const 232 - i32.const 2160 + i32.const 2248 i32.const 100 i32.const 61 call $~lib/builtins/abort @@ -6260,7 +6378,7 @@ local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $~lib/util/number/decimalCount32 (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -6329,7 +6447,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa32_lut (; 63 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 64 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6337,7 +6455,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 2816 + i32.const 2904 i32.load offset=4 local.set $3 block $break|0 @@ -6470,7 +6588,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6527,7 +6645,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6564,7 +6682,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 66 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 67 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -6633,7 +6751,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa64_lut (; 67 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 68 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -6645,7 +6763,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 2816 + i32.const 2904 i32.load offset=4 local.set $3 block $break|0 @@ -6759,7 +6877,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 68 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 69 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6828,7 +6946,7 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 69 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 70 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6919,19 +7037,19 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/builtins/isFinite (; 70 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 71 ;) (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 (; 71 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 72 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/array/Array#__unchecked_get (; 72 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__unchecked_get (; 73 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -6940,7 +7058,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__unchecked_get (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -6949,7 +7067,7 @@ i32.add i32.load16_s ) - (func $~lib/util/number/genDigits (; 74 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 75 ;) (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) @@ -7004,7 +7122,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 5184 + i32.const 5272 i32.load offset=4 local.set $16 block $break|0 @@ -7505,7 +7623,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7835,7 +7953,7 @@ unreachable unreachable ) - (func $~lib/util/number/dtoa_core (; 76 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 77 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -8004,11 +8122,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 4872 + i32.const 4960 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 5096 + i32.const 5184 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -8273,7 +8391,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 77 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 78 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8392,7 +8510,7 @@ local.get $10 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/dtoa (; 78 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 79 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8400,7 +8518,7 @@ f64.const 0 f64.eq if - i32.const 4040 + i32.const 4128 call $~lib/rt/pure/__retain return end @@ -8411,12 +8529,12 @@ local.get $0 call $~lib/builtins/isNaN if - i32.const 4064 + i32.const 4152 call $~lib/rt/pure/__retain return end - i32.const 4088 - i32.const 4128 + i32.const 4176 + i32.const 4216 local.get $0 f64.const 0 f64.lt @@ -8451,7 +8569,7 @@ call $~lib/rt/tlsf/__free local.get $3 ) - (func $start:std/string (; 79 ;) (type $FUNCSIG$v) + (func $start:std/string (; 80 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9486,6 +9604,34 @@ call $~lib/builtins/abort unreachable end + i32.const 1264 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 79 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1288 + i32.const 0 + call $~lib/string/parseInt + f64.const 2 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 80 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 1040 call $~lib/string/parseFloat f64.const 0 @@ -9494,7 +9640,7 @@ if i32.const 0 i32.const 72 - i32.const 79 + i32.const 82 i32.const 0 call $~lib/builtins/abort unreachable @@ -9507,12 +9653,12 @@ if i32.const 0 i32.const 72 - i32.const 80 + i32.const 83 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1264 + i32.const 1320 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -9520,12 +9666,12 @@ if i32.const 0 i32.const 72 - i32.const 81 + i32.const 84 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1288 + i32.const 1344 call $~lib/string/parseFloat f64.const 0.25 f64.eq @@ -9533,12 +9679,12 @@ if i32.const 0 i32.const 72 - i32.const 82 + i32.const 85 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 1368 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -9546,26 +9692,39 @@ if i32.const 0 i32.const 72 - i32.const 83 + i32.const 86 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1400 + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 88 i32.const 0 call $~lib/builtins/abort unreachable end block i32.const 408 - i32.const 1344 + i32.const 1432 call $~lib/string/String.__concat local.tee $22 call $~lib/rt/pure/__retain local.set $23 local.get $23 - i32.const 1368 + i32.const 1456 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 87 + i32.const 92 i32.const 2 call $~lib/builtins/abort unreachable @@ -9577,7 +9736,7 @@ if i32.const 0 i32.const 72 - i32.const 88 + i32.const 93 i32.const 2 call $~lib/builtins/abort unreachable @@ -9591,66 +9750,6 @@ i32.const 120 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 90 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - global.get $std/string/nullStr - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 91 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/nullStr - i32.const 120 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 92 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1344 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 93 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 94 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1392 - i32.const 1416 - call $~lib/string/String.__ne - i32.eqz if i32.const 0 i32.const 72 @@ -9659,9 +9758,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1392 - i32.const 1392 - call $~lib/string/String.__eq + i32.const 120 + global.get $std/string/nullStr + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -9671,8 +9770,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1440 - i32.const 1464 + global.get $std/string/nullStr + i32.const 120 call $~lib/string/String.__ne i32.eqz if @@ -9683,8 +9782,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1488 - i32.const 1520 + i32.const 408 + i32.const 1432 call $~lib/string/String.__ne i32.eqz if @@ -9695,8 +9794,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1552 - i32.const 1552 + i32.const 408 + i32.const 408 call $~lib/string/String.__eq i32.eqz if @@ -9707,8 +9806,8 @@ call $~lib/builtins/abort unreachable end - i32.const 1552 - i32.const 1584 + i32.const 1480 + i32.const 1504 call $~lib/string/String.__ne i32.eqz if @@ -9719,9 +9818,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1616 - i32.const 1656 - call $~lib/string/String.__ne + i32.const 1480 + i32.const 1480 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9731,9 +9830,21 @@ call $~lib/builtins/abort unreachable end - i32.const 1344 - i32.const 408 - call $~lib/string/String.__gt + i32.const 1528 + i32.const 1552 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1576 + i32.const 1608 + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -9743,9 +9854,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 408 - call $~lib/string/String.__gt + i32.const 1640 + i32.const 1640 + call $~lib/string/String.__eq i32.eqz if i32.const 0 @@ -9755,9 +9866,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 1720 - call $~lib/string/String.__gte + i32.const 1640 + i32.const 1672 + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -9767,9 +9878,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 1368 - call $~lib/string/String.__gt + i32.const 1704 + i32.const 1744 + call $~lib/string/String.__ne i32.eqz if i32.const 0 @@ -9779,23 +9890,21 @@ call $~lib/builtins/abort unreachable end - i32.const 1696 - i32.const 1368 - call $~lib/string/String.__lt - i32.eqz + i32.const 1432 + i32.const 408 + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 72 - i32.const 107 + i32.const 108 i32.const 0 call $~lib/builtins/abort unreachable end - i32.const 1344 - global.get $std/string/nullStr - call $~lib/string/String.__lt - i32.eqz + i32.const 1784 + i32.const 408 + call $~lib/string/String.__gt i32.eqz if i32.const 0 @@ -9805,10 +9914,9 @@ call $~lib/builtins/abort unreachable end - global.get $std/string/nullStr - i32.const 1344 - call $~lib/string/String.__lt - i32.eqz + i32.const 1784 + i32.const 1808 + call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -9818,10 +9926,23 @@ call $~lib/builtins/abort unreachable end - i32.const 680 - i32.const 120 + i32.const 1784 + i32.const 1456 call $~lib/string/String.__gt i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1784 + i32.const 1456 + call $~lib/string/String.__lt + i32.eqz + i32.eqz if i32.const 0 i32.const 72 @@ -9830,21 +9951,10 @@ call $~lib/builtins/abort unreachable end - i32.const 120 - i32.const 680 + i32.const 1432 + global.get $std/string/nullStr call $~lib/string/String.__lt i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__gte i32.eqz if i32.const 0 @@ -9854,9 +9964,10 @@ call $~lib/builtins/abort unreachable end - i32.const 120 - i32.const 680 - call $~lib/string/String.__lte + global.get $std/string/nullStr + i32.const 1432 + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 @@ -9868,13 +9979,61 @@ end i32.const 680 i32.const 120 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 680 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 680 + i32.const 120 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 680 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 680 + i32.const 120 call $~lib/string/String.__lt i32.eqz i32.eqz if i32.const 0 i32.const 72 - i32.const 116 + i32.const 121 i32.const 0 call $~lib/builtins/abort unreachable @@ -9887,7 +10046,7 @@ if i32.const 0 i32.const 72 - i32.const 117 + i32.const 122 i32.const 0 call $~lib/builtins/abort unreachable @@ -9900,7 +10059,7 @@ if i32.const 0 i32.const 72 - i32.const 118 + i32.const 123 i32.const 0 call $~lib/builtins/abort unreachable @@ -9913,7 +10072,7 @@ if i32.const 0 i32.const 72 - i32.const 119 + i32.const 124 i32.const 0 call $~lib/builtins/abort unreachable @@ -9925,7 +10084,7 @@ if i32.const 0 i32.const 72 - i32.const 120 + i32.const 125 i32.const 0 call $~lib/builtins/abort unreachable @@ -9937,7 +10096,7 @@ if i32.const 0 i32.const 72 - i32.const 121 + i32.const 126 i32.const 0 call $~lib/builtins/abort unreachable @@ -9963,7 +10122,7 @@ if i32.const 0 i32.const 72 - i32.const 126 + i32.const 131 i32.const 2 call $~lib/builtins/abort unreachable @@ -9987,7 +10146,7 @@ if i32.const 0 i32.const 72 - i32.const 129 + i32.const 134 i32.const 0 call $~lib/builtins/abort unreachable @@ -10002,7 +10161,7 @@ if i32.const 0 i32.const 72 - i32.const 131 + i32.const 136 i32.const 0 call $~lib/builtins/abort unreachable @@ -10017,7 +10176,7 @@ if i32.const 0 i32.const 72 - i32.const 132 + i32.const 137 i32.const 0 call $~lib/builtins/abort unreachable @@ -10032,7 +10191,7 @@ if i32.const 0 i32.const 72 - i32.const 133 + i32.const 138 i32.const 0 call $~lib/builtins/abort unreachable @@ -10041,82 +10200,7 @@ i32.const 2 call $~lib/string/String#repeat local.tee $22 - i32.const 1720 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 3 - call $~lib/string/String#repeat - local.tee $23 - i32.const 1792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1368 - i32.const 4 - call $~lib/string/String#repeat - local.tee $27 - i32.const 1816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 5 - call $~lib/string/String#repeat - local.tee $28 - i32.const 1848 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 6 - call $~lib/string/String#repeat - local.tee $29 - i32.const 1880 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 7 - call $~lib/string/String#repeat - local.tee $30 - i32.const 1912 + i32.const 1808 call $~lib/string/String.__eq i32.eqz if @@ -10127,8 +10211,83 @@ call $~lib/builtins/abort unreachable end + i32.const 408 + i32.const 3 + call $~lib/string/String#repeat + local.tee $23 + i32.const 1880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1456 + i32.const 4 + call $~lib/string/String#repeat + local.tee $27 + i32.const 1904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + i32.const 5 + call $~lib/string/String#repeat + local.tee $28 + i32.const 1936 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + i32.const 6 + call $~lib/string/String#repeat + local.tee $29 + i32.const 1968 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + i32.const 7 + call $~lib/string/String#repeat + local.tee $30 + i32.const 2000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end block (result i32) - i32.const 1944 + i32.const 2032 local.tee $31 global.get $std/string/str local.tee $32 @@ -10148,13 +10307,13 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice local.tee $31 - i32.const 1944 + i32.const 2032 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 143 + i32.const 148 i32.const 0 call $~lib/builtins/abort unreachable @@ -10164,13 +10323,13 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice local.tee $32 - i32.const 1992 + i32.const 2080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 144 + i32.const 149 i32.const 0 call $~lib/builtins/abort unreachable @@ -10180,13 +10339,13 @@ global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice local.tee $33 - i32.const 2016 + i32.const 2104 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 145 + i32.const 150 i32.const 0 call $~lib/builtins/abort unreachable @@ -10196,13 +10355,13 @@ i32.const 7 call $~lib/string/String#slice local.tee $34 - i32.const 2048 + i32.const 2136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 146 + i32.const 151 i32.const 0 call $~lib/builtins/abort unreachable @@ -10212,13 +10371,13 @@ i32.const -6 call $~lib/string/String#slice local.tee $35 - i32.const 2080 + i32.const 2168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 147 + i32.const 152 i32.const 0 call $~lib/builtins/abort unreachable @@ -10234,7 +10393,7 @@ if i32.const 0 i32.const 72 - i32.const 148 + i32.const 153 i32.const 0 call $~lib/builtins/abort unreachable @@ -10244,13 +10403,13 @@ i32.const -1 call $~lib/string/String#slice local.tee $37 - i32.const 2112 + i32.const 2200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 149 + i32.const 154 i32.const 0 call $~lib/builtins/abort unreachable @@ -10293,7 +10452,7 @@ if i32.const 0 i32.const 72 - i32.const 155 + i32.const 160 i32.const 2 call $~lib/builtins/abort unreachable @@ -10317,7 +10476,7 @@ if i32.const 0 i32.const 72 - i32.const 157 + i32.const 162 i32.const 2 call $~lib/builtins/abort unreachable @@ -10357,14 +10516,14 @@ if i32.const 0 i32.const 72 - i32.const 159 + i32.const 164 i32.const 2 call $~lib/builtins/abort unreachable end block (result i32) - i32.const 2320 - i32.const 2352 + i32.const 2408 + i32.const 2440 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split local.set $40 @@ -10382,7 +10541,7 @@ i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.tee $40 - i32.const 2320 + i32.const 2408 call $~lib/string/String.__eq local.set $39 local.get $40 @@ -10397,13 +10556,13 @@ if i32.const 0 i32.const 72 - i32.const 161 + i32.const 166 i32.const 2 call $~lib/builtins/abort unreachable end block (result i32) - i32.const 2320 + i32.const 2408 i32.const 920 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -10438,7 +10597,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $39 - i32.const 1344 + i32.const 1432 call $~lib/string/String.__eq local.set $40 local.get $39 @@ -10454,7 +10613,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $39 - i32.const 2376 + i32.const 2464 call $~lib/string/String.__eq local.set $40 local.get $39 @@ -10469,7 +10628,7 @@ if i32.const 0 i32.const 72 - i32.const 163 + i32.const 168 i32.const 2 call $~lib/builtins/abort unreachable @@ -10486,7 +10645,7 @@ if i32.const 0 i32.const 72 - i32.const 189 + i32.const 194 i32.const 0 call $~lib/builtins/abort unreachable @@ -10500,7 +10659,7 @@ if i32.const 0 i32.const 72 - i32.const 190 + i32.const 195 i32.const 0 call $~lib/builtins/abort unreachable @@ -10508,13 +10667,13 @@ i32.const 8 call $~lib/util/number/itoa32 local.tee $40 - i32.const 2848 + i32.const 2936 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 191 + i32.const 196 i32.const 0 call $~lib/builtins/abort unreachable @@ -10528,7 +10687,7 @@ if i32.const 0 i32.const 72 - i32.const 192 + i32.const 197 i32.const 0 call $~lib/builtins/abort unreachable @@ -10536,79 +10695,9 @@ i32.const -1000 call $~lib/util/number/itoa32 local.tee $42 - i32.const 2872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234 - call $~lib/util/number/itoa32 - local.tee $43 - i32.const 2904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 12345 - call $~lib/util/number/itoa32 - local.tee $44 - i32.const 2928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 123456 - call $~lib/util/number/itoa32 - local.tee $45 i32.const 2960 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1111111 - call $~lib/util/number/itoa32 - local.tee $46 - i32.const 2992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234567 - call $~lib/util/number/itoa32 - local.tee $47 - i32.const 3024 - call $~lib/string/String.__eq - i32.eqz if i32.const 0 i32.const 72 @@ -10617,10 +10706,10 @@ call $~lib/builtins/abort unreachable end - i32.const 2147483646 + i32.const 1234 call $~lib/util/number/itoa32 - local.tee $48 - i32.const 3056 + local.tee $43 + i32.const 2992 call $~lib/string/String.__eq i32.eqz if @@ -10631,10 +10720,10 @@ call $~lib/builtins/abort unreachable end - i32.const 2147483647 + i32.const 12345 call $~lib/util/number/itoa32 - local.tee $49 - i32.const 3096 + local.tee $44 + i32.const 3016 call $~lib/string/String.__eq i32.eqz if @@ -10645,10 +10734,10 @@ call $~lib/builtins/abort unreachable end - i32.const -2147483648 + i32.const 123456 call $~lib/util/number/itoa32 - local.tee $50 - i32.const 3136 + local.tee $45 + i32.const 3048 call $~lib/string/String.__eq i32.eqz if @@ -10659,10 +10748,10 @@ call $~lib/builtins/abort unreachable end - i32.const -1 + i32.const 1111111 call $~lib/util/number/itoa32 - local.tee $51 - i32.const 3176 + local.tee $46 + i32.const 3080 call $~lib/string/String.__eq i32.eqz if @@ -10673,6 +10762,76 @@ call $~lib/builtins/abort unreachable end + i32.const 1234567 + call $~lib/util/number/itoa32 + local.tee $47 + i32.const 3112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + call $~lib/util/number/itoa32 + local.tee $48 + i32.const 3144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + call $~lib/util/number/itoa32 + local.tee $49 + i32.const 3184 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + call $~lib/util/number/itoa32 + local.tee $50 + i32.const 3224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 206 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + call $~lib/util/number/itoa32 + local.tee $51 + i32.const 3264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 207 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 call $~lib/util/number/utoa32 local.tee $52 @@ -10682,7 +10841,7 @@ if i32.const 0 i32.const 72 - i32.const 204 + i32.const 209 i32.const 0 call $~lib/builtins/abort unreachable @@ -10690,13 +10849,13 @@ i32.const 1000 call $~lib/util/number/utoa32 local.tee $53 - i32.const 3200 + i32.const 3288 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 205 + i32.const 210 i32.const 0 call $~lib/builtins/abort unreachable @@ -10704,13 +10863,13 @@ i32.const 2147483647 call $~lib/util/number/utoa32 local.tee $54 - i32.const 3096 + i32.const 3184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 206 + i32.const 211 i32.const 0 call $~lib/builtins/abort unreachable @@ -10718,13 +10877,13 @@ i32.const -2147483648 call $~lib/util/number/utoa32 local.tee $55 - i32.const 3224 + i32.const 3312 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 207 + i32.const 212 i32.const 0 call $~lib/builtins/abort unreachable @@ -10732,13 +10891,13 @@ global.get $~lib/builtins/u32.MAX_VALUE call $~lib/util/number/utoa32 local.tee $56 - i32.const 3264 + i32.const 3352 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 208 + i32.const 213 i32.const 0 call $~lib/builtins/abort unreachable @@ -10752,7 +10911,7 @@ if i32.const 0 i32.const 72 - i32.const 210 + i32.const 215 i32.const 0 call $~lib/builtins/abort unreachable @@ -10760,77 +10919,7 @@ i64.const 1234 call $~lib/util/number/utoa64 local.tee $58 - i32.const 2904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 99999999 - call $~lib/util/number/utoa64 - local.tee $59 - i32.const 3304 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 100000000 - call $~lib/util/number/utoa64 - local.tee $60 - i32.const 3336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/utoa64 - local.tee $61 - i32.const 3264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/utoa64 - local.tee $62 - i32.const 3376 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 868719476735 - call $~lib/util/number/utoa64 - local.tee $63 - i32.const 3416 + i32.const 2992 call $~lib/string/String.__eq i32.eqz if @@ -10841,10 +10930,10 @@ call $~lib/builtins/abort unreachable end - i64.const 999868719476735 + i64.const 99999999 call $~lib/util/number/utoa64 - local.tee $64 - i32.const 3456 + local.tee $59 + i32.const 3392 call $~lib/string/String.__eq i32.eqz if @@ -10855,10 +10944,10 @@ call $~lib/builtins/abort unreachable end - i64.const 9999868719476735 + i64.const 100000000 call $~lib/util/number/utoa64 - local.tee $65 - i32.const 3504 + local.tee $60 + i32.const 3424 call $~lib/string/String.__eq i32.eqz if @@ -10869,10 +10958,10 @@ call $~lib/builtins/abort unreachable end - i64.const 19999868719476735 + i64.const 4294967295 call $~lib/util/number/utoa64 - local.tee $66 - i32.const 3552 + local.tee $61 + i32.const 3352 call $~lib/string/String.__eq i32.eqz if @@ -10883,10 +10972,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/u64.MAX_VALUE + i64.const 68719476735 call $~lib/util/number/utoa64 - local.tee $67 - i32.const 3608 + local.tee $62 + i32.const 3464 call $~lib/string/String.__eq i32.eqz if @@ -10897,6 +10986,76 @@ call $~lib/builtins/abort unreachable end + i64.const 868719476735 + call $~lib/util/number/utoa64 + local.tee $63 + i32.const 3504 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 999868719476735 + call $~lib/util/number/utoa64 + local.tee $64 + i32.const 3544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 9999868719476735 + call $~lib/util/number/utoa64 + local.tee $65 + i32.const 3592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 19999868719476735 + call $~lib/util/number/utoa64 + local.tee $66 + i32.const 3640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/u64.MAX_VALUE + call $~lib/util/number/utoa64 + local.tee $67 + i32.const 3696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 0 call $~lib/util/number/itoa64 local.tee $68 @@ -10906,7 +11065,7 @@ if i32.const 0 i32.const 72 - i32.const 222 + i32.const 227 i32.const 0 call $~lib/builtins/abort unreachable @@ -10914,77 +11073,7 @@ i64.const -1234 call $~lib/util/number/itoa64 local.tee $69 - i32.const 3664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/itoa64 - local.tee $70 - i32.const 3264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4294967295 - call $~lib/util/number/itoa64 - local.tee $71 - i32.const 3696 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/itoa64 - local.tee $72 - i32.const 3376 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -68719476735 - call $~lib/util/number/itoa64 - local.tee $73 - i32.const 3736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 227 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -868719476735 - call $~lib/util/number/itoa64 - local.tee $74 - i32.const 3776 + i32.const 3752 call $~lib/string/String.__eq i32.eqz if @@ -10995,10 +11084,10 @@ call $~lib/builtins/abort unreachable end - i64.const -999868719476735 + i64.const 4294967295 call $~lib/util/number/itoa64 - local.tee $75 - i32.const 3824 + local.tee $70 + i32.const 3352 call $~lib/string/String.__eq i32.eqz if @@ -11009,10 +11098,10 @@ call $~lib/builtins/abort unreachable end - i64.const -19999868719476735 + i64.const -4294967295 call $~lib/util/number/itoa64 - local.tee $76 - i32.const 3872 + local.tee $71 + i32.const 3784 call $~lib/string/String.__eq i32.eqz if @@ -11023,10 +11112,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i64.MAX_VALUE + i64.const 68719476735 call $~lib/util/number/itoa64 - local.tee $77 - i32.const 3928 + local.tee $72 + i32.const 3464 call $~lib/string/String.__eq i32.eqz if @@ -11037,10 +11126,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i64.MIN_VALUE + i64.const -68719476735 call $~lib/util/number/itoa64 - local.tee $78 - i32.const 3984 + local.tee $73 + i32.const 3824 call $~lib/string/String.__eq i32.eqz if @@ -11051,10 +11140,38 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - call $~lib/util/number/dtoa - local.tee $79 - i32.const 4040 + i64.const -868719476735 + call $~lib/util/number/itoa64 + local.tee $74 + i32.const 3864 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -999868719476735 + call $~lib/util/number/itoa64 + local.tee $75 + i32.const 3912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -19999868719476735 + call $~lib/util/number/itoa64 + local.tee $76 + i32.const 3960 call $~lib/string/String.__eq i32.eqz if @@ -11065,10 +11182,10 @@ call $~lib/builtins/abort unreachable end - f64.const -0 - call $~lib/util/number/dtoa - local.tee $80 - i32.const 4040 + global.get $~lib/builtins/i64.MAX_VALUE + call $~lib/util/number/itoa64 + local.tee $77 + i32.const 4016 call $~lib/string/String.__eq i32.eqz if @@ -11079,10 +11196,10 @@ call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa - local.tee $81 - i32.const 4064 + global.get $~lib/builtins/i64.MIN_VALUE + call $~lib/util/number/itoa64 + local.tee $78 + i32.const 4072 call $~lib/string/String.__eq i32.eqz if @@ -11093,41 +11210,12 @@ call $~lib/builtins/abort unreachable end - f64.const inf + f64.const 0 call $~lib/util/number/dtoa - local.tee $82 + local.tee $79 i32.const 4128 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - call $~lib/util/number/dtoa - local.tee $83 - i32.const 4088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.EPSILON - call $~lib/util/number/dtoa - local.tee $84 - i32.const 5216 - call $~lib/string/String.__eq - i32.eqz if i32.const 0 i32.const 72 @@ -11136,11 +11224,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.EPSILON - f64.neg + f64.const -0 call $~lib/util/number/dtoa - local.tee $85 - i32.const 5280 + local.tee $80 + i32.const 4128 call $~lib/string/String.__eq i32.eqz if @@ -11151,10 +11238,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE + f64.const nan:0x8000000000000 call $~lib/util/number/dtoa - local.tee $86 - i32.const 5344 + local.tee $81 + i32.const 4152 call $~lib/string/String.__eq i32.eqz if @@ -11165,11 +11252,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - f64.neg + f64.const inf call $~lib/util/number/dtoa - local.tee $87 - i32.const 5408 + local.tee $82 + i32.const 4216 call $~lib/string/String.__eq i32.eqz if @@ -11180,10 +11266,11 @@ call $~lib/builtins/abort unreachable end - f64.const 4185580496821356722454785e274 + f64.const inf + f64.neg call $~lib/util/number/dtoa - local.tee $88 - i32.const 5472 + local.tee $83 + i32.const 4176 call $~lib/string/String.__eq i32.eqz if @@ -11194,10 +11281,10 @@ call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072014e-308 + global.get $~lib/builtins/f64.EPSILON call $~lib/util/number/dtoa - local.tee $89 - i32.const 5536 + local.tee $84 + i32.const 5304 call $~lib/string/String.__eq i32.eqz if @@ -11208,10 +11295,40 @@ call $~lib/builtins/abort unreachable end - f64.const 4.940656e-318 + global.get $~lib/builtins/f64.EPSILON + f64.neg call $~lib/util/number/dtoa - local.tee $90 - i32.const 5600 + local.tee $85 + i32.const 5368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + call $~lib/util/number/dtoa + local.tee $86 + i32.const 5432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + f64.neg + call $~lib/util/number/dtoa + local.tee $87 + i32.const 5496 call $~lib/string/String.__eq i32.eqz if @@ -11222,10 +11339,10 @@ call $~lib/builtins/abort unreachable end - f64.const 9060801153433600 + f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa - local.tee $91 - i32.const 5648 + local.tee $88 + i32.const 5560 call $~lib/string/String.__eq i32.eqz if @@ -11236,10 +11353,10 @@ call $~lib/builtins/abort unreachable end - f64.const 4708356024711512064 + f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa - local.tee $92 - i32.const 5704 + local.tee $89 + i32.const 5624 call $~lib/string/String.__eq i32.eqz if @@ -11250,16 +11367,58 @@ call $~lib/builtins/abort unreachable end - f64.const 9409340012568248320 + f64.const 4.940656e-318 call $~lib/util/number/dtoa - local.tee $93 - i32.const 5768 + local.tee $90 + i32.const 5688 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 251 + i32.const 253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9060801153433600 + call $~lib/util/number/dtoa + local.tee $91 + i32.const 5736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4708356024711512064 + call $~lib/util/number/dtoa + local.tee $92 + i32.const 5792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9409340012568248320 + call $~lib/util/number/dtoa + local.tee $93 + i32.const 5856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 256 i32.const 0 call $~lib/builtins/abort unreachable @@ -11267,13 +11426,13 @@ f64.const 5e-324 call $~lib/util/number/dtoa local.tee $94 - i32.const 5832 + i32.const 5920 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 72 - i32.const 252 + i32.const 257 i32.const 0 call $~lib/builtins/abort unreachable @@ -11281,63 +11440,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $95 - i32.const 5864 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.1 - call $~lib/util/number/dtoa - local.tee $96 - i32.const 1264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/util/number/dtoa - local.tee $97 - i32.const 5888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.1 - call $~lib/util/number/dtoa - local.tee $98 - i32.const 5912 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e6 - call $~lib/util/number/dtoa - local.tee $99 - i32.const 5936 + i32.const 5952 call $~lib/string/String.__eq i32.eqz if @@ -11348,10 +11451,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e-06 + f64.const 0.1 call $~lib/util/number/dtoa - local.tee $100 - i32.const 5976 + local.tee $96 + i32.const 1320 call $~lib/string/String.__eq i32.eqz if @@ -11362,10 +11465,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1e6 + f64.const -1 call $~lib/util/number/dtoa - local.tee $101 - i32.const 6008 + local.tee $97 + i32.const 5976 call $~lib/string/String.__eq i32.eqz if @@ -11376,10 +11479,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1e-06 + f64.const -0.1 call $~lib/util/number/dtoa - local.tee $102 - i32.const 6048 + local.tee $98 + i32.const 6000 call $~lib/string/String.__eq i32.eqz if @@ -11390,24 +11493,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e7 + f64.const 1e6 call $~lib/util/number/dtoa - local.tee $103 - i32.const 6088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-07 - call $~lib/util/number/dtoa - local.tee $104 - i32.const 6128 + local.tee $99 + i32.const 6024 call $~lib/string/String.__eq i32.eqz if @@ -11418,10 +11507,24 @@ call $~lib/builtins/abort unreachable end - f64.const 1.e+308 + f64.const 1e-06 call $~lib/util/number/dtoa - local.tee $105 - i32.const 6152 + local.tee $100 + i32.const 6064 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e6 + call $~lib/util/number/dtoa + local.tee $101 + i32.const 6096 call $~lib/string/String.__eq i32.eqz if @@ -11432,10 +11535,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1.e+308 + f64.const -1e-06 call $~lib/util/number/dtoa - local.tee $106 - i32.const 6184 + local.tee $102 + i32.const 6136 call $~lib/string/String.__eq i32.eqz if @@ -11446,10 +11549,10 @@ call $~lib/builtins/abort unreachable end - f64.const inf + f64.const 1e7 call $~lib/util/number/dtoa - local.tee $107 - i32.const 4128 + local.tee $103 + i32.const 6176 call $~lib/string/String.__eq i32.eqz if @@ -11460,10 +11563,10 @@ call $~lib/builtins/abort unreachable end - f64.const -inf + f64.const 1e-07 call $~lib/util/number/dtoa - local.tee $108 - i32.const 4088 + local.tee $104 + i32.const 6216 call $~lib/string/String.__eq i32.eqz if @@ -11474,24 +11577,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e-308 + f64.const 1.e+308 call $~lib/util/number/dtoa - local.tee $109 - i32.const 6216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-308 - call $~lib/util/number/dtoa - local.tee $110 - i32.const 6248 + local.tee $105 + i32.const 6240 call $~lib/string/String.__eq i32.eqz if @@ -11502,10 +11591,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1e-323 + f64.const -1.e+308 call $~lib/util/number/dtoa - local.tee $111 - i32.const 6280 + local.tee $106 + i32.const 6272 call $~lib/string/String.__eq i32.eqz if @@ -11516,10 +11605,10 @@ call $~lib/builtins/abort unreachable end - f64.const -1e-323 + f64.const inf call $~lib/util/number/dtoa - local.tee $112 - i32.const 6312 + local.tee $107 + i32.const 4216 call $~lib/string/String.__eq i32.eqz if @@ -11530,10 +11619,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -inf call $~lib/util/number/dtoa - local.tee $113 - i32.const 4040 + local.tee $108 + i32.const 4176 call $~lib/string/String.__eq i32.eqz if @@ -11544,10 +11633,24 @@ call $~lib/builtins/abort unreachable end - f64.const 4294967272 + f64.const 1e-308 call $~lib/util/number/dtoa - local.tee $114 - i32.const 6344 + local.tee $109 + i32.const 6304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-308 + call $~lib/util/number/dtoa + local.tee $110 + i32.const 6336 call $~lib/string/String.__eq i32.eqz if @@ -11558,10 +11661,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1.2312145673456234e-08 + f64.const 1e-323 call $~lib/util/number/dtoa - local.tee $115 - i32.const 6384 + local.tee $111 + i32.const 6368 call $~lib/string/String.__eq i32.eqz if @@ -11572,10 +11675,24 @@ call $~lib/builtins/abort unreachable end - f64.const 555555555.5555556 + f64.const -1e-323 call $~lib/util/number/dtoa - local.tee $116 - i32.const 6448 + local.tee $112 + i32.const 6400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.tee $113 + i32.const 4128 call $~lib/string/String.__eq i32.eqz if @@ -11586,24 +11703,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0.9999999999999999 + f64.const 4294967272 call $~lib/util/number/dtoa - local.tee $117 - i32.const 6504 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/util/number/dtoa - local.tee $118 - i32.const 5864 + local.tee $114 + i32.const 6432 call $~lib/string/String.__eq i32.eqz if @@ -11614,10 +11717,10 @@ call $~lib/builtins/abort unreachable end - f64.const 12.34 + f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa - local.tee $119 - i32.const 6560 + local.tee $115 + i32.const 6472 call $~lib/string/String.__eq i32.eqz if @@ -11628,12 +11731,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 3 - f64.div + f64.const 555555555.5555556 call $~lib/util/number/dtoa - local.tee $120 - i32.const 6592 + local.tee $116 + i32.const 6536 call $~lib/string/String.__eq i32.eqz if @@ -11644,10 +11745,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1234e17 + f64.const 0.9999999999999999 call $~lib/util/number/dtoa - local.tee $121 - i32.const 6648 + local.tee $117 + i32.const 6592 call $~lib/string/String.__eq i32.eqz if @@ -11658,10 +11759,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1234e18 + f64.const 1 call $~lib/util/number/dtoa - local.tee $122 - i32.const 6712 + local.tee $118 + i32.const 5952 call $~lib/string/String.__eq i32.eqz if @@ -11672,10 +11773,10 @@ call $~lib/builtins/abort unreachable end - f64.const 2.71828 + f64.const 12.34 call $~lib/util/number/dtoa - local.tee $123 - i32.const 6752 + local.tee $119 + i32.const 6648 call $~lib/string/String.__eq i32.eqz if @@ -11686,24 +11787,12 @@ call $~lib/builtins/abort unreachable end - f64.const 0.0271828 + f64.const 1 + f64.const 3 + f64.div call $~lib/util/number/dtoa - local.tee $124 - i32.const 6784 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 271.828 - call $~lib/util/number/dtoa - local.tee $125 - i32.const 6824 + local.tee $120 + i32.const 6680 call $~lib/string/String.__eq i32.eqz if @@ -11714,10 +11803,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1.1e+128 + f64.const 1234e17 call $~lib/util/number/dtoa - local.tee $126 - i32.const 6856 + local.tee $121 + i32.const 6736 call $~lib/string/String.__eq i32.eqz if @@ -11728,10 +11817,10 @@ call $~lib/builtins/abort unreachable end - f64.const 1.1e-64 + f64.const 1234e18 call $~lib/util/number/dtoa - local.tee $127 - i32.const 6888 + local.tee $122 + i32.const 6800 call $~lib/string/String.__eq i32.eqz if @@ -11742,10 +11831,10 @@ call $~lib/builtins/abort unreachable end - f64.const 0.000035689 + f64.const 2.71828 call $~lib/util/number/dtoa - local.tee $128 - i32.const 6920 + local.tee $123 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if @@ -11756,6 +11845,76 @@ call $~lib/builtins/abort unreachable end + f64.const 0.0271828 + call $~lib/util/number/dtoa + local.tee $124 + i32.const 6872 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 271.828 + call $~lib/util/number/dtoa + local.tee $125 + i32.const 6912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e+128 + call $~lib/util/number/dtoa + local.tee $126 + i32.const 6944 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e-64 + call $~lib/util/number/dtoa + local.tee $127 + i32.const 6976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 300 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.000035689 + call $~lib/util/number/dtoa + local.tee $128 + i32.const 7008 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end global.get $std/string/str call $~lib/rt/pure/__release local.get $0 @@ -12017,11 +12176,11 @@ local.get $128 call $~lib/rt/pure/__release ) - (func $std/string/getString (; 80 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 81 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $std/string/main (; 81 ;) (type $FUNCSIG$v) + (func $std/string/main (; 82 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -12030,10 +12189,10 @@ global.set $~lib/started end ) - (func $start (; 82 ;) (type $FUNCSIG$v) + (func $start (; 83 ;) (type $FUNCSIG$v) call $start:std/string ) - (func $~lib/rt/pure/markGray (; 83 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 84 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12060,7 +12219,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 84 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -12077,7 +12236,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 86 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12114,7 +12273,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 86 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12152,7 +12311,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -12306,7 +12465,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12342,19 +12501,19 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/__visit_members (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 94 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block @@ -12504,6 +12663,6 @@ end unreachable ) - (func $null (; 94 ;) (type $FUNCSIG$v) + (func $null (; 95 ;) (type $FUNCSIG$v) ) )